Tinybird MCP
Today, I wanted to experiment with the Tinybird MCP. Since I didn’t have any workspaces with suitable data, I decided to create a new one using the iconic Titanic dataset from the Kaggle competition. My goal was to query this dataset using the MCP.
The creation of the new workspace was pretty straighful.
$ mkdir titanic && cd titanic
# Download the train.csv and rename as titanic.csv
$ tb create
$ tb create --data titanic.csv
$ tb login
$ tb --cloud deploy
Well!!! I have a mispelling on titanic and create my datasource as titanict, in order to fix it I have to allow a destructive deploy
$ tb --cloud deploy --allow-destructive-operations
$ tb --cloud datasource append titanic --file fixtures/titanic.csv
With that corrected, my workspace was ready, and I could set up the MCP and start querying.

I hadn’t used Claude before, so this was a new experience. After configuring it:
$ code ~/.config/Claude/claude_desktop_config.json
I started playing around.

Unfortunately, I ran into problems. Of all the times to write a blog post, I chose one where the Claude MCP tools were failing!

./Interlude: Troubleshooting
After a few more unsuccessful attempts, I started looking for alternatives. I noticed mcp-tinybird was still running on my machine.

I decided to ask Copilot (in Agent mode with Claude Sonnet 4) to check for locally running MCP servers.

It detected the Tinybird MCP server, but couldn’t communicate with it. So, I fetched the Tinybird MCP documentation.

This time, Copilot successfully generated a Python script to list the MCP capabilities.

However, when I asked for the rows of my titanic datasource, it failed to communicate with the MCP server and resorted to using the Tinybird API instead.

./Conclusion
Not a complete win this time. However, while I was trying these workarounds, the Claude MCP tool issue seemed to resolve itself. I was then able to chat with my titanic datasource and get some interesting results!


It seems the MCP journey can be a bit bumpy, but the destination is worth it!