ai.matih/mcp
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Que pouvez-vous faire avec ai.matih/mcp ?
- Query & SQL:
ask(natural-language → grounded answer + the SQL it ran), - Catalog & discovery:
list_connections,list_databases,list_schemas, - Ontology & semantic layer:
search_ontology,get_entity, - Governed metrics & taxonomy:
get_metric,run_metric,draft_metric - Dashboards & charts:
create_chart,create_dashboard,get_dashboard, - Uploads:
upload_file,upload_status,create_upload_url,finalize_upload - Identity & scope:
whoami,get_scope
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http ai-matih-mcp 'https://mcp.matih.ai/api/v1/mcp'
{
"mcpServers": {
"ai-matih-mcp": {
"type": "http",
"url": "https://mcp.matih.ai/api/v1/mcp"
}
}
}
@matihlabs/mcpclaude mcp add ai-matih-mcp -e 'MATIH_MCP_TOKEN=<your matih_mcp_token>' -- npx -y @matihlabs/mcp@0.2.1
{
"mcpServers": {
"ai-matih-mcp": {
"command": "npx",
"args": [
"-y",
"@matihlabs/mcp@0.2.1"
],
"env": {
"MATIH_MCP_TOKEN": "<your matih_mcp_token>"
}
}
}
}
Variables d'environnement
MATIH_MCP_TOKENobligatoire secret Matih developer token (mat_agt_…), minted in Settings → Developer Tokens. Bearer credential, scoped to your connections + tools.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
@matihlabs/mcp
Connect AI clients (Claude Desktop, ChatGPT, Cursor, …) to the Matih data platform over the Model Context Protocol. Write SQL, profile tables, run analyses + charts, manage dashboards, and upload files — all through MCP tools, with OAuth/PKCE auth and PII-safe egress.
New here? See QUICKSTART.md for a step-by-step customer guide — create a token, connect Claude Desktop / Cursor, and copy-paste
curlsmoke tests — plus a troubleshooting table.
Use as a stdio MCP server (Claude Desktop / Cursor)
Add to your client's MCP config. The token is delivered via the environment — never as a CLI flag (which leaks into the OS process list):
{
"mcpServers": {
"matih": {
"command": "npx",
"args": ["-y", "@matihlabs/mcp", "https://<slug>.app.matih.ai/api/v1/mcp"],
"env": { "MATIH_MCP_TOKEN": "<your Matih bearer token>" }
}
}
}
The bridge turns the remote Matih HTTP MCP endpoint into a local stdio MCP server,
forwarding every tools/call, resources/read, and prompts/get to Matih.
Endpoint: replace
<slug>with your workspace slug — your Matih app lives athttps://<slug>.app.matih.ai(the bareapp.matih.aihost does not resolve). Get amat_agt_…token from Settings → Developer Tokens. See QUICKSTART.md for the full walkthrough.
Use as a library
import { McpClient, MatihTools, StaticTokenProvider } from "@matihlabs/mcp";
const client = new McpClient({
endpoint: "https://<slug>.app.matih.ai/api/v1/mcp",
tokenProvider: new StaticTokenProvider(process.env.MATIH_MCP_TOKEN!),
});
// discovery-first: fetch the LIVE tool surface (auto-initializes + caches)
const live = await client.tools();
console.log(live.map((t) => t.name));
// call ANY tool generically — including Beta tools with no typed wrapper
const hot = await client.callTool("get_hot_context", {});
// typed convenience wrappers for the 34 STABLE tools
const graph = await new MatihTools(client).exploreGraph({ query: "orders", depth: 2 });
const matih = new MatihTools(client);
const result = await matih.runSql({ connection_id: "<id>", sql: "select 1" });
OAuth (PKCE) instead of a static token
import { McpClient, OAuthTokenProvider } from "@matihlabs/mcp";
const tokenProvider = new OAuthTokenProvider({
resourceMetadataUrl: "https://<slug>.app.matih.ai/.well-known/oauth-protected-resource/api/v1/mcp",
clientId: "<registered client id>",
acquire: async ({ metadata, clientId, resource }) => {
// open metadata.authorization_endpoint (PKCE S256, resource=<resource>),
// capture the code at your redirect_uri, return { code, verifier, redirectUri }.
},
});
The provider runs RFC 9728 → RFC 8414 discovery, PKCE S256, RFC 8707 resource-bound
tokens, caches, and refreshes; a 401 invalid_token triggers one re-auth.
Tools
Discovery is the primary API — await client.tools() returns the live tool
descriptors and client.callTool(name, args) reaches every advertised tool.
The typed facade (MatihTools) covers the 34 stable tools
(STABLE_TOOL_NAMES):
- Query & SQL:
ask(natural-language → grounded answer + the SQL it ran),run_sql,run_analysis,get_query_result,export_result - Catalog & discovery:
list_connections,list_databases,list_schemas,list_tables,describe_table,profile_table - Ontology & semantic layer:
search_ontology,get_entity,get_relationships,get_semantic_model,get_glossary,explore_graph - Governed metrics & taxonomy:
get_metric,run_metric,draft_metric(write-class — proposes a DRAFTmetric_definto the human-gated DRAFT → REVIEW → APPROVED → SHIP pipeline),list_metric_drafts,export_semantic_model(OSI),get_taxonomy,export_taxonomy(SKOS) - Dashboards & charts:
create_chart,create_dashboard,get_dashboard,publish_dashboard - Uploads:
upload_file,upload_status,create_upload_url,finalize_upload - Identity & scope:
whoami,get_scope
The 1 Beta tool (BETA_TOOL_NAMES: get_hot_context) is deliberately
not hard-typed while its shape may evolve — call it via
client.callTool(name, args). The governed metrics & taxonomy group and
explore_graph were promoted from Beta to stable in July 2026 (PDR W3-1).
Plus catalog / lineage resources and the explain_metric prompt. Every
tool is bounded by the developer token's scope (connections + capabilities you
grant in Settings) and never exceeds your own permissions — get_scope shows
exactly what a token allows.
Notes
- Egress consent. Matih gates third-party-LLM data egress per tenant. If your
tenant hasn't accepted the data-processing agreement, calls return a clear
EGRESS_CONSENT_REQUIREDerror with a link to accept it. - Node ≥ 20 (uses native
fetch+node:crypto; zero runtime dependencies).
License: Apache-2.0 · https://matih.ai
Questions fréquentes
Qu'est-ce que ai.matih/mcp ?
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Comment installer ai.matih/mcp ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http ai-matih-mcp 'https://mcp.matih.ai/api/v1/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour ai.matih/mcp ?
Oui. Il attend MATIH_MCP_TOKEN, à renseigner dans sa configuration.
ai.matih/mcp est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient ai.matih/mcp ?
Il est publié par matih-labs. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.