Tinybird MCP server

Official
Python
Apache-2.0
20
  • Apple
A
security – no known vulnerabilities (report Issue)
A
license - permissive license (Apache-2.0)
A
quality - confirmed to work

An MCP server to interact with a Tinybird Workspace from any MCP client.

  1. Tools
  2. Prompts
  3. Resources
  4. Server Configuration
  5. README.md

Prompts

Interactive templates invoked by user choice

NameDescription
datasource-definitionBuilds a .datasource file from sample NDJSON data
tinybird-defaultA prompt to get insights from the Data Sources and Pipe Endpoints in the Tinybird Workspace

Resources

Contextual data attached and managed by the client

NameDescription
Insights from TinybirdA living document of discovered insights
Context for datasource definitionSyntax and context to build .datasource datafiles

Tools

Functions exposed to the LLM to take actions

NameDescription
list-data-sourcesList all Data Sources in the Tinybird Workspace
get-data-sourceGet details of a Data Source in the Tinybird Workspace, such as the schema
list-pipesList all Pipe Endpoints in the Tinybird Workspace
get-pipeGet details of a Pipe Endpoint in the Tinybird Workspace, such as the nodes SQLs to understand what they do or what Data Sources they use
request-pipe-dataRequests data from a Pipe Endpoint in the Tinybird Workspace, includes parameters
run-select-queryRuns a select query to the Tinybird Workspace. It may query Data Sources or Pipe Endpoints
append-insightAdd a business insight to the memo
llms-tinybird-docsThe Tinybird product description and documentation, including API Reference in LLM friendly format
analyze-pipeAnalyze the Pipe Endpoint SQL
push-datafilePush a .datasource or .pipe file to the Workspace
save-eventSends an event to a Data Source in Tinybird. The data needs to be in NDJSON format and conform to the Data Source schema in Tinybird

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TB_API_URLYesYour Tinybird API URL
TB_ADMIN_TOKENYesYour Tinybird Admin Token
README.md

Tinybird MCP server

smithery badge

An MCP server to interact with a Tinybird Workspace from any MCP client.

<a href="https://glama.ai/mcp/servers/53l5ojnx30"><img width="380" height="200" src="https://glama.ai/mcp/servers/53l5ojnx30/badge" alt="Tinybird server MCP server" /></a>

Features

  • Query Tinybird Data Sources using the Tinybird Query API
  • Get the result of existing Tinybird API Endpoints with HTTP requests
  • Push Datafiles

Usage examples

Setup

Installation

Using MCP package managers

Smithery

To install Tinybird MCP for Claude Desktop automatically via Smithery:

npx @smithery/cli install mcp-tinybird --client claude

mcp-get

You can install the Tinybird MCP server using mcp-get:

npx @michaellatman/mcp-get@latest install mcp-tinybird

Prerequisites

MCP is still very new and evolving, we recommend following the MCP documentation to get the MCP basics up and running.

You'll need:

Configuration

1. Configure Claude Desktop

Create the following file depending on your OS:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

Paste this template in the file and replace <TINYBIRD_API_URL> and <TINYBIRD_ADMIN_TOKEN> with your Tinybird API URL and Admin Token:

{ "mcpServers": { "mcp-tinybird": { "command": "uvx", "args": [ "mcp-tinybird" ], "env": { "TB_API_URL": "<TINYBIRD_API_URL>", "TB_ADMIN_TOKEN": "<TINYBIRD_ADMIN_TOKEN>" } } } }

2. Restart Claude Desktop

Prompts

The server provides a single prompt:

  • tinybird-default: Assumes you have loaded some data in Tinybird and want help exploring it.
    • Requires a "topic" argument which defines the topic of the data you want to explore, for example, "Bluesky data" or "retail sales".

You can configure additional prompt workflows:

  • 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:
SCHEMA > `name` String `json:$.name`, `description` String `json:$.description`, `timestamp` DateTime `json:$.timestamp`, `arguments` Array(String) `json:$.arguments[:]`, `prompt` String `json:$.prompt`

Tools

The server implements several tools to interact with the Tinybird Workspace:

  • list-data-sources: Lists all Data Sources in the Tinybird Workspace
  • list-pipes: Lists all Pipe Endpoints in the Tinybird Workspace
  • get-data-source: Gets the information of a Data Source given its name, including the schema.
  • get-pipe: Gets the information of a Pipe Endpoint given its name, including its nodes and SQL transformation to understand what insights it provides.
  • request-pipe-data: Requests data from a Pipe Endpoints via an HTTP request. Pipe endpoints can have parameters to filter the analytical data.
  • run-select-query: Allows to run a select query over a Data Source to extract insights.
  • append-insight: Adds a new business insight to the memo resource
  • 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.
  • 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.
  • 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
  • push-datafile: Creates a remote Data Source or Pipe in the Tinybird Workspace from a local datafile. Use the Filesystem MCP to save files generated by this MCP server.

Development

Config

If you are working locally add two environment variables to a .env file in the root of the repository:

TB_API_URL= TB_ADMIN_TOKEN=

For local development, update your Claude Desktop configuration:

{ "mcpServers": { "mcp-tinybird_local": { "command": "uv", "args": [ "--directory", "/path/to/your/mcp-tinybird", "run", "mcp-tinybird" ] } } }
<details> <summary>Published Servers Configuration</summary>
"mcpServers": { "mcp-tinybird": { "command": "uvx", "args": [ "mcp-tinybird" ] } }
</details>

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

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

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Monitoring

To monitor the MCP server, you can use any compatible Prometheus client such as Grafana. Learn how to monitor your MCP server here.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues with dependencies of the server.
  • Extract server characteristics such as tools, resources, prompts, and required parameters.

Our directory badge helps users to quickly asses that the MCP server is safe, server capabilities, and instructions for installing the server.

Copy the following code to your README.md file:

Alternative MCP servers

  • -
    security
    -
    license
    -
    quality
    Tools for executing JQL queries. Tools for creating, editing, and deleting Jira tickets. Tools for listing Jira projects and statuses
    • Apple
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that provides read and write access to Airtable databases. This server enables LLMs to inspect database schemas, then read and write records.
    MIT
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server to connect to the MIRO Whiteboard Application. Allows Board manipulation, sticky creation, bulk operations and more.
    Apache-2.0
    • Apple
  • -
    security
    A
    license
    -
    quality
    MCP Server for the Notion API, enabling Claude to interact with Notion workspaces.
    MIT