{"id":22670797,"url":"https://github.com/tinybirdco/mcp-tinybird","last_synced_at":"2025-03-31T11:01:27.100Z","repository":{"id":265107876,"uuid":"894960290","full_name":"tinybirdco/mcp-tinybird","owner":"tinybirdco","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-15T13:22:11.000Z","size":2507,"stargazers_count":51,"open_issues_count":1,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T08:21:15.073Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tinybirdco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-27T10:07:15.000Z","updated_at":"2025-03-19T00:10:16.000Z","dependencies_parsed_at":"2024-12-18T14:42:18.677Z","dependency_job_id":"0574929f-4551-4280-9353-e514c997877c","html_url":"https://github.com/tinybirdco/mcp-tinybird","commit_stats":null,"previous_names":["tinybirdco/tinybird_mcp_claude","tinybirdco/tinybird-mcp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fmcp-tinybird","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fmcp-tinybird/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fmcp-tinybird/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinybirdco%2Fmcp-tinybird/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinybirdco","download_url":"https://codeload.github.com/tinybirdco/mcp-tinybird/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246457967,"owners_count":20780676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-09T16:01:16.493Z","updated_at":"2025-03-31T11:01:27.072Z","avatar_url":"https://github.com/tinybirdco.png","language":"Python","readme":"# Tinybird MCP server\n\n[![smithery badge](https://smithery.ai/badge/mcp-tinybird)](https://smithery.ai/server/@tinybirdco/mcp-tinybird)\n\nAn MCP server to interact with a Tinybird Workspace from any MCP client.\n\n\u003ca href=\"https://glama.ai/mcp/servers/53l5ojnx30\"\u003e\u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/53l5ojnx30/badge\" alt=\"Tinybird server MCP server\" /\u003e\u003c/a\u003e\n\n## Features\n\n- Query Tinybird Data Sources using the Tinybird Query API\n- Get the result of existing Tinybird API Endpoints with HTTP requests\n- Push Datafiles\n\nIt supports both SSE and STDIO modes.\n\n## Usage examples\n\n- [Bluesky metrics](https://bsky.app/profile/alasdairb.com/post/3lbx2mq5urk22) ([Claude transcript](https://www.tinybird.co/blog-posts/claude-analyze-bluesky-data-tinybird-mcp-server))\n- [Web analytics starter kit metrics](https://github.com/tinybirdco/web-analytics-starter-kit) ([video](https://x.com/alrocar/status/1861849648882688341)]\n\n## Setup\n\n### Installation\n\n#### Using MCP package managers\n\n**Smithery**\n\nTo install Tinybird MCP for Claude Desktop automatically via [Smithery](https://smithery.ai/protocol/mcp-tinybird):\n\n```bash\nnpx @smithery/cli install @tinybirdco/mcp-tinybird --client claude\n```\n\n**mcp-get**\n\nYou can install the Tinybird MCP server using [mcp-get](https://github.com/michaellatman/mcp-get):\n\n```bash\nnpx @michaellatman/mcp-get@latest install mcp-tinybird\n```\n\n### Prerequisites\n\nMCP is still very new and evolving, we recommend following the [MCP documentation](https://modelcontextprotocol.io/quickstart#prerequisites) to get the MCP basics up and running.\n\nYou'll need:\n- [Tinybird Account \u0026 Workspace](https://www.tinybird.co/)\n- [Claude Desktop](https://claude.ai/)\n- [uv](https://docs.astral.sh/uv/getting-started/installation/)\n\n### Configuration\n\n#### 1. Configure Claude Desktop\n\nCreate the following file depending on your OS:\n\nOn MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\nOn Windows: `%APPDATA%/Claude/claude_desktop_config.json`\n\nPaste this template in the file and replace `\u003cTINYBIRD_API_URL\u003e` and `\u003cTINYBIRD_ADMIN_TOKEN\u003e` with your Tinybird API URL and Admin Token:\n\n```json\n{\n    \"mcpServers\": {\n        \"mcp-tinybird\": {\n            \"command\": \"uvx\",\n            \"args\": [\n                \"mcp-tinybird\",\n                \"stdio\"\n            ],\n            \"env\": {\n                \"TB_API_URL\": \"\u003cTINYBIRD_API_URL\u003e\",\n                \"TB_ADMIN_TOKEN\": \"\u003cTINYBIRD_ADMIN_TOKEN\u003e\"\n            }\n        }\n    }\n}\n```\n\n#### 2. Restart Claude Desktop\n\n\n#### SSE mode\n\nAlternatively, you can run the MCP server in SSE mode by running the following command:\n\n```bash\nuvx mcp-tinybird sse\n```\n\nThis mode is useful to integrate with an MCP client that supports SSE (like a web app).\n\n## Prompts\n\nThe server provides a single prompt:\n- [tinybird-default](https://github.com/tinybirdco/mcp-tinybird/blob/93dd9e1d3c0e33f408fe88297151a44c1dfc049c/src/mcp-tinybird/server.py#L20): Assumes you have loaded some data in Tinybird and want help exploring it.\n  - Requires a \"topic\" argument which defines the topic of the data you want to explore, for example, \"Bluesky data\" or \"retail sales\".\n\nYou can configure additional prompt workflows:\n  - Create a prompts Data Source in your workspace with this schema and append your prompts. The MCP loads `prompts` on initialization so you can configure it to your needs:\n```bash\nSCHEMA \u003e\n    `name` String `json:$.name`,\n    `description` String `json:$.description`,\n    `timestamp` DateTime `json:$.timestamp`,\n    `arguments` Array(String) `json:$.arguments[:]`,\n    `prompt` String `json:$.prompt`\n```\n\n## Tools\n\nThe server implements several tools to interact with the Tinybird Workspace:\n- `list-data-sources`: Lists all Data Sources in the Tinybird Workspace\n- `list-pipes`: Lists all Pipe Endpoints in the Tinybird Workspace\n- `get-data-source`: Gets the information of a Data Source given its name, including the schema.\n- `get-pipe`: Gets the information of a Pipe Endpoint given its name, including its nodes and SQL transformation to understand what insights it provides.\n- `request-pipe-data`: Requests data from a Pipe Endpoints via an HTTP request. Pipe endpoints can have parameters to filter the analytical data.\n- `run-select-query`: Allows to run a select query over a Data Source to extract insights.\n- `append-insight`: Adds a new business insight to the memo resource\n- `llms-tinybird-docs`: Contains the whole Tinybird product documentation, so you can use it to get context about what Tinybird is, what it does, API reference and more.\n- `save-event`: This allows to send an event to a Tinybird Data Source. Use it to save a user generated prompt to the prompts Data Source. The MCP server feeds from the prompts Data Source on initialization so the user can instruct the LLM the workflow to follow.\n- `analyze-pipe`: Uses the Tinybird analyze API to run a ClickHouse explain on the Pipe Endpoint query and check if indexes, sorting key, and partition key are being used and propose optimizations suggestions\n- `push-datafile`: Creates a remote Data Source or Pipe in the Tinybird Workspace from a local datafile. Use the [Filesystem MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem) to save files generated by this MCP server.\n\n\n## Development\n\n### Config\nIf you are working locally add two environment variables to a `.env` file in the root of the repository:\n\n```sh\nTB_API_URL=\nTB_ADMIN_TOKEN=\n```\n\nFor local development, update your Claude Desktop configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-tinybird_local\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"--directory\",\n        \"/path/to/your/mcp-tinybird\",\n        \"run\",\n        \"mcp-tinybird\",\n        \"stdio\"\n      ]\n    }\n  }\n}\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003ePublished Servers Configuration\u003c/summary\u003e\n\n  ```json\n  \"mcpServers\": {\n    \"mcp-tinybird\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"mcp-tinybird\"\n      ]\n    }\n  }\n  ```\n\u003c/details\u003e\n\n### Building and Publishing\n\nTo prepare the package for distribution:\n\n1. Sync dependencies and update lockfile:\n```bash\nuv sync\n```\n\n2. Build package distributions:\n```bash\nuv build\n```\n\nThis will create source and wheel distributions in the `dist/` directory.\n\n3. Publish to PyPI:\n```bash\nuv publish\n```\n\nNote: You'll need to set PyPI credentials via environment variables or command flags:\n- Token: `--token` or `UV_PUBLISH_TOKEN`\n- Or username/password: `--username`/`UV_PUBLISH_USERNAME` and `--password`/`UV_PUBLISH_PASSWORD`\n\n### Debugging\n\nSince MCP servers run over stdio, debugging can be challenging. For the best debugging\nexperience, we strongly recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector).\n\n\nYou can launch the MCP Inspector via [`npm`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) with this command:\n\n```bash\nnpx @modelcontextprotocol/inspector uv --directory /Users/alrocar/gr/mcp-tinybird run mcp-tinybird\n```\n\nUpon launching, the Inspector will display a URL that you can access in your browser to begin debugging.\n\n### Monitoring\n\nTo monitor the MCP server, you can use any compatible Prometheus client such as [Grafana](https://grafana.com/). Learn how to monitor your MCP server [here](./mcp-analytics/README.md).\n\n","funding_links":[],"categories":["Data Analysis \u0026 Exploration MCP Servers","サーバー実装","MCP 服务器精选列表","Python","⚡ \u003ca name=\"cloud-platforms\"\u003e\u003c/a\u003eCloud Platforms","Production-Ready Servers","📦 Other","Databases","Data Platforms","Official Servers","官方 MCP 服务器列表","MCP Servers","Legend","🗄️ Databases","Cloud Services","Uncategorized","Table of Contents","Customer Data Platforms","🗂️ Extensions by Category","Cloud \u0026 DevOps"],"sub_categories":["🗄️ \u003ca name=\"databases\"\u003e\u003c/a\u003eデータベース","🗄️ 数据库交互","How to Submit","🧮 \u003ca name=\"data-science-tools\"\u003e\u003c/a\u003eデータサイエンスツール","🗄️ Databases","🗄️ \u003ca name=\"databases\"\u003e\u003c/a\u003eDatabases","Uncategorized","Data Science Tools","📊 Analytics"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinybirdco%2Fmcp-tinybird","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinybirdco%2Fmcp-tinybird","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinybirdco%2Fmcp-tinybird/lists"}