Tinybird MCP 服务器
一个可从任何 MCP 客户端与 Tinybird 工作区交互的 MCP 服务器。
功能
- 使用 Tinybird 查询 API 查询 Tinybird 数据源
- 通过 HTTP 请求获取现有 Tinybird API 端点的结果
- 推送数据文件
它支持 SSE 和 STDIO 两种模式。
使用示例
设置
安装
使用 MCP 包管理器
Smithery
通过 Smithery 自动为 Claude Desktop 安装 Tinybird MCP:
npx @smithery/cli install @tinybirdco/mcp-tinybird --client claude
mcp-get
您可以使用 mcp-get 安装 Tinybird MCP 服务器:
npx @michaellatman/mcp-get@latest install mcp-tinybird
前置条件
MCP 仍然非常新且在不断演进,我们建议您参考 MCP 文档 来快速上手 MCP 基础。
您需要:
配置
1. 配置 Claude Desktop
根据您的操作系统创建以下文件:
在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json
将此模板粘贴到文件中,并将 <TINYBIRD_API_URL> 和 <TINYBIRD_ADMIN_TOKEN> 替换为您的 Tinybird API URL 和管理员令牌:
{
"mcpServers": {
"mcp-tinybird": {
"command": "uvx",
"args": [
"mcp-tinybird",
"stdio"
],
"env": {
"TB_API_URL": "<TINYBIRD_API_URL>",
"TB_ADMIN_TOKEN": "<TINYBIRD_ADMIN_TOKEN>"
}
}
}
}
2. 重新启动 Claude Desktop
SSE 模式
或者,您可以通过运行以下命令以 SSE 模式运行 MCP 服务器:
uvx mcp-tinybird sse
此模式适用于与支持 SSE 的 MCP 客户端(如 Web 应用)集成。
提示
服务器提供一个提示:
- tinybird-default:假设您已在 Tinybird 中加载了一些数据并希望获得探索帮助。
- 需要一个 "topic" 参数,该参数定义您要探索的数据主题,例如 "Bluesky 数据" 或 "零售销售"。
您可以配置额外的提示工作流:
- 在您的工作区中创建一个具有此架构的提示数据源,并追加您的提示。MCP 在初始化时加载
prompts,因此您可以按需配置它:
SCHEMA >
`name` String `json:$.name`,
`description` String `json:$.description`,
`timestamp` DateTime `json:$.timestamp`,
`arguments` Array(String) `json:$.arguments[:]`,
`prompt` String `json:$.prompt`
工具
服务器实现了多个工具以与 Tinybird 工作区交互:
list-data-sources:列出 Tinybird 工作区中的所有数据源list-pipes:列出 Tinybird 工作区中的所有管道端点get-data-source:根据其名称获取数据源的信息,包括架构get-pipe:根据其名称获取管道端点的信息,包括其节点和 SQL 转换,以了解它提供了哪些洞察request-pipe-data:通过 HTTP 请求从管道端点请求数据。管道端点可以有参数来过滤分析数据run-select-query:允许对数据源运行选择查询以提取洞察append-insight:向备忘资源添加新的业务洞察llms-tinybird-docs:包含整个 Tinybird 产品文档,因此您可以使用它来获取有关 Tinybird 是什么、它做什么、API 参考等的上下文save-event:这允许将事件发送到 Tinybird 数据源。使用它将用户生成的提示保存到提示数据源。MCP 服务器在初始化时从提示数据源获取数据,因此用户可以指示 LLM 遵循的工作流程analyze-pipe:使用 Tinybird 分析 API 对管道端点查询运行 ClickHouse explain,并检查是否使用索引、排序键和分区键,并提出优化建议push-datafile:从本地数据文件在 Tinybird 工作区中创建远程数据源或管道。使用 文件系统 MCP 保存此 MCP 服务器生成的文件
开发
配置
如果您正在本地工作,请将两个环境变量添加到存储库根目录中的 .env 文件中:
TB_API_URL=
TB_ADMIN_TOKEN=
对于本地开发,更新您的 Claude Desktop 配置:
{
"mcpServers": {
"mcp-tinybird_local": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/mcp-tinybird",
"run",
"mcp-tinybird",
"stdio"
]
}
}
}
已发布服务器的配置
"mcpServers": {
"mcp-tinybird": {
"command": "uvx",
"args": [
"mcp-tinybird"
]
}
}
构建和发布
准备包以进行分发:
- 同步依赖项并更新锁文件:
uv sync
- 构建包分发:
uv build
这将创建 dist/ 目录中的源和轮分布。
- 发布到 PyPI:
uv publish
注意:您需要通过环境变量或命令标志设置 PyPI 凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务器通过 stdio 运行,调试可能具有挑战性。为获得最佳调试体验,我们强烈建议使用 MCP 检查器。
您可以通过 npm 使用以下命令启动 MCP 检查器:
npx @modelcontextprotocol/inspector uv --directory /Users/alrocar/gr/mcp-tinybird run mcp-tinybird
启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。
监控
要监控 MCP 服务器,您可以使用任何兼容的 Prometheus 客户端,例如 Grafana。了解如何监控您的 MCP 服务器 此处。
