mcpField
M
matih

matih

远程服务
matih.ai数据与分析016 周前更新

关于 matih

matih 是连接 AI 客户端与 Matih 数据平台的 MCP 服务和 TypeScript 库,面向需要在权限约束下查询和分析数据的团队。它提供 SQL、语义模型、治理指标及仪表板工具,并支持 OAuth/PKCE。

主要功能

  1. 01自然语言查询与 SQL 分析
  2. 02表、数据库和目录探索
  3. 03语义模型与本体查询
  4. 04治理指标和分类管理
  5. 05创建图表与仪表板
  6. 06文件上传及状态查询

适用场景

  1. 01通过自然语言查询业务数据
  2. 02检查表结构并分析数据概况
  3. 03查询治理指标和数据关系
  4. 04上传文件并构建仪表板

MCP 相关

MCP 服务连接 Matih 远程端点,提供工具、资源和提示词。stdio 桥接器可转发请求;客户端库支持令牌认证和 OAuth/PKCE。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.matih.ai/api/v1/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npm@matihlabs/mcp0.2.1

工具

详细介绍

@matihlabs/mcp

通过 Model Context Protocol,将 AI 客户端(Claude Desktop、ChatGPT、Cursor,……)连接到 Matih 数据 平台。编写 SQL、分析表格、运行分析并生成图表、管理仪表板和上传文件 — 所有操作均通过 MCP 工具完成,并采用 OAuth/PKCE 身份验证和 PII 安全出站机制。

初次使用? 请参阅 QUICKSTART.md,获取分步客户 指南 — 创建令牌、连接 Claude Desktop / Cursor,并复制粘贴 curl 冒烟测试 — 以及故障排除表。

用作 stdio MCP 服务(Claude Desktop / Cursor)

将以下内容添加到客户端的 MCP 配置中。令牌通过环境变量传递 — 切勿将其用作 CLI 标志(否则会泄露到操作系统进程列表中):

{
  "mcpServers": {
    "matih": {
      "command": "npx",
      "args": ["-y", "@matihlabs/mcp", "https://<slug>.app.matih.ai/api/v1/mcp"],
      "env": { "MATIH_MCP_TOKEN": "<your Matih bearer token>" }
    }
  }
}

此桥接程序会将远程 Matih HTTP MCP 端点转换成本地 stdio MCP 服务, 并将每个 tools/call、resources/read 和 prompts/get 请求转发给 Matih。

端点: 将 <slug> 替换为你的工作区 slug — 你的 Matih 应用位于 https://<slug>.app.matih.ai(裸域名 app.matih.ai 无法解析)。 从 Settings → Developer Tokens 获取 mat_agt_… 令牌。完整操作步骤请参阅 QUICKSTART.md。

用作库

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)代替静态令牌
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 }.
  },
});

该提供程序会执行 RFC 9728 → RFC 8414 发现、PKCE S256、RFC 8707 资源绑定令牌的缓存和刷新;遇到 401 invalid_token 时会触发一次重新身份验证。

工具

发现是主要 API — await client.tools() 会返回实时工具描述符,而 client.callTool(name, args) 可调用所有已公布的工具。 类型化门面(MatihTools)涵盖 34 个稳定工具 (STABLE_TOOL_NAMES):

  • 查询与 SQL: ask(自然语言 → 有依据的答案 + 执行过的 SQL)、 run_sql、run_analysis、get_query_result、export_result
  • 目录与发现: list_connections、list_databases、list_schemas、 list_tables、describe_table、profile_table
  • 本体与语义层: search_ontology、get_entity、 get_relationships、get_semantic_model、get_glossary、explore_graph
  • 治理指标与分类体系: get_metric、run_metric、draft_metric (写入类 — 将 DRAFT metric_def 提案提交至由人工把关的 DRAFT → REVIEW → APPROVED → SHIP 流程)、list_metric_drafts、 export_semantic_model(OSI)、get_taxonomy、export_taxonomy(SKOS)
  • 仪表板与图表: create_chart、create_dashboard、get_dashboard、 publish_dashboard
  • 上传: upload_file、upload_status、create_upload_url、finalize_upload
  • 身份与范围: whoami、get_scope

1 个 Beta 工具(BETA_TOOL_NAMES:get_hot_context)的结构可能会变化,因此不会为其定义固定类型 — 请通过 client.callTool(name, args) 调用。治理指标与分类体系组以及 explore_graph 已于 2026 年 7 月从 Beta 升级为稳定版(PDR W3-1)。

此外,还提供目录 / 血缘资源和 explain_metric 提示词。每个 工具都受开发者令牌范围限制(你在 Settings 中授予的连接 + 功能),且不会超出你自身的权限 — get_scope 会准确显示令牌允许的操作。

说明

  • 出站同意。 Matih 会按租户控制向第三方大模型传输数据。如果你的 租户尚未接受数据处理协议,调用会返回清晰的 EGRESS_CONSENT_REQUIRED 错误,并附上接受协议的链接。
  • Node ≥ 20(使用原生 fetch + node:crypto;运行时零依赖)。

许可证:Apache-2.0 · https://matih.ai

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。