首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mcp-tinybird2025-05-210分享
github
一个MCP服务器,用于从任何MCP客户端与Tinybird工作区进行交互。
By tinybirdco
2025-05-210
github
详情内容

Tinybird MCP 服务器

smithery 徽章

这是一个 MCP 服务器,可以从任何 MCP 客户端与 Tinybird 工作区进行交互。

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 和 Admin Token 替换 <TINYBIRD_API_URL><TINYBIRD_ADMIN_TOKEN>

{
    "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 解释,并检查是否使用了索引、排序键和分区键,并提出优化建议
  • push-datafile: 从本地数据文件在 Tinybird 工作区中创建远程数据源或管道。使用 Filesystem 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"
    ]
  }
}

构建和发布

为分发准备包:

  1. 同步依赖项并更新锁文件:
uv sync
  1. 构建包分发:
uv build

这将在 dist/ 目录中创建源码和 wheel 分发。

  1. 发布到 PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置 PyPI 凭证:

  • 令牌: --tokenUV_PUBLISH_TOKEN
  • 或用户名/密码: --username/UV_PUBLISH_USERNAME--password/UV_PUBLISH_PASSWORD

调试

由于 MCP 服务器运行在标准输入输出上,调试可能会很困难。为了获得最佳调试体验,我们强烈推荐使用 MCP Inspector

您可以使用 npm 通过以下命令启动 MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory /Users/alrocar/gr/mcp-tinybird run mcp-tinybird

启动后,Inspector 将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。

监控

要监控 MCP 服务器,您可以使用任何兼容的 Prometheus 客户端,如 Grafana。了解如何在此处监控您的 MCP 服务器 here

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档