跳到正文
AskTable

文档反馈

当前页面MCP/integrations/mcp

0 / 5,000

反馈将发送给维护团队。

前往控制台
前往控制台

配置与管理

让 AI 客户端通过 MCP 调用 AskTable

通过 MCP 将 AskTable 的查询和管理能力提供给 AI 客户端。

AskTable 的 MCP Server 把问数和管理能力按 Model Context Protocol 暴露成工具,让 Claude、MCP Inspector 等支持 MCP 的 AI 客户端直接调用。它是单一 server(名字 asktable),共 43 个工具。MCP 不绕过 AskTable 的权限:客户端能调什么,仍由 API-Key 类型和项目权限决定。

开始前

  • 一个 AskTable 项目和项目 API-Key。只要问数用 asker;要调管理类工具用 admin。
  • 创建位置:左侧主导航 → 「设置」 → 「API-Key」 → 「创建 API-KEY」,弹窗里选类型。
  • 客户端支持 Streamable HTTP 或 stdio。生产接入用 HTTP。
  • 地址要先确认清楚,三种部署不一样,见下。
  • 界面入口:底部头像 → 「文档」 → 「MCP 服务」,会按当前部署打开对应地址。

操作步骤

确认你的 MCP 地址

部署方式地址
SaaS(cloud.asktable.com)https://mcp.asktable.com/
私有部署,一体化镜像(容器内 nginx 反代 /mcp/)https://<你的 AskTable 站点>/mcp/
私有部署,独立 asktable-mcp 容器http://<mcp-host>:8690/

独立容器的 HTTP transport 接受任意路径,不要求 /mcp/ 前缀;一体化镜像对外只暴露 /mcp/,nginx 会剥掉前缀再转给 8690。

在客户端里填地址和 Key

Streamable HTTP 的配置(字段名以你的客户端为准):

{
  "mcpServers": {
    "asktable": {
      "type": "http",
      "url": "https://mcp.asktable.com/",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Authorization 头是必传的。服务端每个请求构造独立的客户端实例,不跨租户持有状态。

确认客户端能列出工具

连上后让客户端列出工具,应该看到 43 个。按域分组如下:

域工具数量
datasourcedatasource_list、datasource_get、datasource_create、datasource_update、datasource_delete、datasource_upload_file、datasource_test_connection7
metadatasource_meta_get、datasource_meta_export、meta_sync、meta_import4
trainingtraining_pair_list、training_pair_create、training_pair_update、training_pair_delete4
fieldfield_set_visibility、field_set_description、field_set_ai_value_index3
tabletable_set_description1
rolerole_list、role_get、role_create、role_update、role_delete5
policypolicy_list、policy_get、policy_create、policy_update、policy_delete5
chatchat_ask、chat_followup2
conversationconversation_list、conversation_get、conversation_delete3
data_agentdata_agent_list、data_agent_get、data_agent_create、data_agent_update、data_agent_delete5
projectproject_get、project_preference_get、project_update、project_preference_update4

列表类工具接受 page 和 size(size 上限 200),不传就走后端默认。

用 chat_ask 问一次,再用 chat_followup 追问

让客户端调用 chat_ask 发起提问。需要多轮时用 chat_followup 接上一次的对话。客户端提供 progressToken 时,这两个工具会在每次轮询之间发进度通知。

删除类工具(*_delete)的入参强制要求 confirm 为 true,不传会被判为参数错误。

本机调试时改用 stdio

需要单独调试或用 MCP Inspector 时,在 mcp/ 目录下起 stdio:

bun src/main.ts --stdio

stdio 模式下 Key 从环境变量取:

export ASKTABLE_API_URL='https://<你的 AskTable 站点>'
export ASKTABLE_API_KEY='YOUR_API_KEY'

服务端用 ASKTABLE_API_URL 指向 AskTable 的 API,默认值是 https://api.asktable.com;一体化镜像里它被设为 http://127.0.0.1:8688,走同容器 localhost。

上生产前收口凭证

客户端配置文件通常会被同步或备份。生产环境用客户端的密钥管理能力注入 Authorization,不要把 Key 明文留在配置仓库里。Key 泄露时立即到「设置」 → 「API-Key」删除该 Key 并重建。

关键约束

项目值或默认在哪里改
server 名称与工具数单一 asktable,43 个工具无界面开关
云端地址https://mcp.asktable.com/底部头像 → 「文档」 → 「MCP 服务」
私有部署(一体化镜像)<你的站点>/mcp/见私有部署(Docker)
私有部署(独立容器)http://<mcp-host>:8690/容器的 ports 与 ASKTABLE_API_URL
认证Authorization: Bearer <API-Key>,必传客户端配置
ASKTABLE_API_URL默认 https://api.asktable.comMCP 容器的环境变量
列表分页 size上限 200,不传走后端默认工具入参
删除类工具必须显式传 confirm: true工具入参
审计日志每次调用写一行 JSON 到 stderr,Key 只留 sha256 前 16 位容器日志
生产传输方式Streamable HTTP;stdio 只用于本机调试启动参数

出问题怎么判断

现象判定条件处理
客户端报 InvalidRequest服务端把 HTTP 401 或 404 映射成这个错误检查 Authorization 头是否带 Bearer 前缀、Key 是否有效、URL 是否写对
客户端报 InvalidParams服务端把 HTTP 422 映射成这个错误参数类型或必填项不对,按工具 schema 改正
客户端报 InternalError上游返回其他状态码看错误对象里保留的 httpStatus;再到 AskTable 服务日志里按时间关联
调 *_delete 报参数错误入参里没有 confirm: true显式传 confirm: true
独立容器连不上http://<mcp-host>:8690/ 不通确认容器端口已发布、ASKTABLE_API_URL 指向可访问的后端
一体化镜像里 /mcp/ 404容器内 8690 没起来看容器内 mcp-server 进程与 nginx 反代配置
调 meta_sync 立刻返回 {"status":"triggered"}没传 wait这是预期行为;要等结果就传 wait、poll_interval_ms、max_attempts
列表工具返回的条数少于预期没传 size,走了后端默认分页显式传 size(上限 200)和 page
客户端一直收不到进度客户端没提供 progressToken进度通知只在客户端带 progressToken 时发送

下一步