跳到主要内容

使用 MCP 访问 AskTable

本文档介绍如何通过 MCP(Model Context Protocol AskTable),并基于自然语言完成数据库查询任务。适用于 在线SaaS 用户私有化部署用户

MCP

工具介绍

MCP

使用效果

一句话查询某个数据库

MCP

基于角色的数据访问控制

通过角色(Role)机制可以精确控制数据访问权限,AskTable 支持「库、表、字段、行」共四级权限控制。以下是一个示例:

  1. 在 AskTable 中创建并配置角色,设置该角色只能访问 user_id=1 的数据行
MCP
MCP
  1. 使用 MCP 访问 AskTable 时:
    • 以该角色身份访问 - 仅返回 user_id=1 的数据(1条记录)
    • 不指定角色访问 - 返回所有数据(50条记录)
MCP

用户配置指南

方式一:SaaS SSE 模式(推荐新用户)

如果您使用的是 AskTable SaaS 服务,推荐使用 SSE 方式,无需安装任何软件。

您可以直接访问 https://mcp.asktable.com ,获取更多信息!

  1. 获取 AskTable API 密钥和数据源 ID

    • 登录 AskTable
    • 在设置中获取您的 API 密钥(api_key)
    • 选择要连接的数据源,获取数据源 ID(datasource_id)
  2. 配置 MCP 客户端(推荐 SSE 方式)

    {
    "mcpServers": {
    "asktable": {
    "type": "sse",
    "url": "https://mcp.asktable.com/sse/?api_key=ASKER_8H8DRJCH6LT8HCJPXOH4&datasource_id=ds_6iewvP4cpSyhO76P2Tv8MW",
    "headers": {},
    "timeout": 300,
    "sse_read_timeout": 300
    }
    }
    }

    注意: 上述 URL 中的 api_key 和 datasoruce_id 是在 AskTable.com 官网的演示项目和数据,可以直接拿来测试。比如问,总共多少学生?

  3. 开始使用

    • 重启您的 MCP 客户端
    • 现在可以使用 AskTable 的所有功能了!

方式二:SaaS Stdio 模式(需要安装包)

如果您使用AskTable SaaS 服务但希望使用 Stdio 模式。

1. 安装包

# 使用 uv 安装
uvx asktable-mcp-server@latest

2. 配置 MCP 客户端

{
"mcpServers": {
"asktable": {
"command": "uvx",
"args": ["asktable-mcp-server@latest"],
"env": {
"API_KEY": "ASKER_8H8DRJCH6LT8HCJPXOH4",
"DATASOURCE_ID": "ds_6iewvP4cpSyhO76P2Tv8MW"
}
}
}
}

环境变量说明

  • API_KEY:AskTable API 密钥(必需)
  • DATASOURCE_ID:AskTable 数据源ID(必需)

方式三:私有部署 SSE 模式

如果您使用 AskTable 私有部署版本,推荐使用 SSE 方式,在 AskTable 的 All-in-One 镜像中已经包含了 MCP SSE Server。

直接访问私有部署的 AskTable http://your_local_asktable_host:port/mcp,了解更多信息。

配置 MCP 客户端

{
"mcpServers": {
"asktable": {
"type": "sse",
"url": "http://your_local_asktable_host:port/mcp/sse/?api_key=your_api_key&datasource_id=your_datasource_id",
"headers": {},
"timeout": 300,
"sse_read_timeout": 300
}
}
}

参数说明

  • api_key:AskTable API 密钥(必需)
  • datasource_id::AskTable 数据源ID(必需)

方式四:私有部署 Stdio 模式(需要安装包)

如果您使用私有部署但希望使用 Stdio 模式,需要本地安装包并配置 base_url。

1. 安装包

# 使用 uv 安装
uvx asktable-mcp-server@latest

2. 配置 MCP 客户端

{
"mcpServers": {
"asktable": {
"command": "uvx",
"args": ["asktable-mcp-server@latest"],
"env": {
"API_KEY": "your_api_key",
"DATASOURCE_ID": "your_datasource_id",
"BASE_URL": "http://your_local_asktable_host:port/api"
}
}
}
}

环境变量说明

  • API_KEY:AskTable API 密钥(必需)
  • DATASOURCE_ID::AskTable 数据源ID(必需)
  • BASE_URL:私有部署的 AskTable API地址(因为是访问私有部署的 AskTable,因此必需)

自建 SSE 服务(高级用户)

Docker 部署(推荐)

使用官方镜像

# 拉取镜像
docker pull registry.cn-shanghai.aliyuncs.com/datamini/asktable-mcp-server:latest

# 运行容器
docker run -d \
-p 8095:8095 \
-e BASE_URL=http://your_local_ip:port/api \
registry.cn-shanghai.aliyuncs.com/datamini/asktable-mcp-server:latest

环境变量说明

  • BASE_URL:私有部署的 AskTable API 地址(可选)

如需进一步帮助,请联系我们。