AgentHouse: When databases start speaking our language
5 min read

AgentHouse: When databases start speaking our language

911 words

A few months ago, when Anthropic launched their MCP (Model Context Protocol), I knew we’d see interesting integrations between LLMs and databases. What I didn’t expect was to see something as polished and functional as ClickHouse’s AgentHouse so soon.

I’m planning to test this demo soon, but just reading about it, the idea of being able to ask a database questions like “What are the most popular GitHub repositories this month?” and getting not just an answer, but automatic visualizations, seems fascinating.

What is AgentHouse?

AgentHouse is basically a playground where you can talk to databases using natural language. It’s a demo that ClickHouse has made available at llm.clickhouse.com to show how their database can integrate with LLMs through the MCP protocol.

The idea originated internally at ClickHouse when the integration team created a small demo connecting Claude Sonnet with a ClickHouse database. What began as a quick proof of concept became “Dwaine” (Data Warehouse AI Natural Expert), an internal assistant that helps sales, operations, product, and finance teams get insights without needing to write SQL.

The technical components

The AgentHouse architecture is interesting because it elegantly combines several technologies:

Claude Sonnet as the brain

They use Anthropic’s Claude Sonnet, which proves especially good at understanding complex contexts and reasoning about structured data. From what I’ve seen, Sonnet seems to be one of the best options for generating SQL and interpreting query results.

LibreChat as the interface

For the UI, they chose LibreChat, an open-source project that provides a clean interface for working with LLMs. It’s a smart choice because it allows natural conversations and the creation of visual artifacts (charts, tables) directly in the interface.

ClickHouse MCP Server: the secret

The most interesting component is the specific MCP server they’ve developed for ClickHouse. This server acts as a bridge between the database and the LLM, providing:

  • Efficient data transfer between ClickHouse and LLMs
  • Intelligent optimization of SQL queries generated by the LLM
  • Context management for stateful data conversations
  • Secure and controlled access to database resources

Available datasets

One of the things that catches my attention most is the variety of datasets they’ve included. They have 37 different datasets covering very diverse use cases:

# Some examples available:
- github: GitHub activity data, updated every hour
- pypi: Python package downloads - over 1.3 trillion rows
- hackernews: Hacker News posts and comments
- stackoverflow: Stack Overflow questions and answers
- nyc_taxi: NYC taxi trip data
- opensky: OpenSky Network aviation data

What the experience promises

According to the documentation and demos I’ve seen, the behavior seems quite consistent across different types of queries:

Simple query: “What are the most popular programming languages on GitHub?”

Complex query: “Show me the evolution of Python package downloads related to machine learning in the last 6 months”

Query with visualization: “Create a chart showing the distribution of property prices in London by district”

What seems most impressive is that it not only generates the correct SQL but also interprets the results and creates appropriate visualizations automatically.

The MCP protocol in action

From a technical perspective, the most interesting thing about AgentHouse is seeing the MCP protocol working in a real environment. MCP allows LLMs to interact with external resources in a safe and structured way, in this case, ClickHouse databases.

The implementation handles several critical aspects:

  • Context management: The LLM maintains context about the database schema and previous queries
  • Query optimization: The MCP server can optimize the SQL queries generated by the LLM
  • Security: Controlled access to data with appropriate permissions
  • Error handling: Intelligent interpretation of SQL errors and correction suggestions

Reflections on the future

AgentHouse represents what I believe will be the future of data interaction. The idea of having to learn SQL, understand complex schemas, and manually build dashboards is starting to seem… outdated.

In my experience working with non-technical teams, one of the biggest barriers to efficient data use has always been technical complexity. Tools like AgentHouse could eliminate that barrier completely.

Practical use cases

I see several scenarios where this could be especially useful:

For product teams: “How has user engagement evolved in recent weeks?”

For marketing: “Show me the conversion funnel by acquisition channel”

For operations: “What are the most common errors in our application logs?”

For exploratory analysis: “Search for anomalous patterns in last month’s transaction data”

Limitations and considerations

Although impressive, there are some things to keep in mind:

  • Accuracy: Although Claude Sonnet is very good, it can occasionally generate incorrect queries with complex data
  • Security: In a real environment, you’d need to implement more granular access controls
  • Performance: For very large datasets, LLM-generated queries may not be the most efficient
  • Context: The LLM can lose context in very long conversations

How to try it?

If you want to experiment with AgentHouse:

  1. Go to llm.clickhouse.com
  2. Log in with your Google account
  3. Ask “What datasets do you have available?” to get started
  4. Experiment with natural language queries

My recommendation would be to start with simple questions and gradually increase complexity to understand the system’s capabilities.

AgentHouse is a perfect example of how emerging technologies can be combined to create genuinely useful experiences. It’s not just an impressive technical demo, but a vision of the future of how we’ll interact with our data. It’s definitely on my list of things to try soon.

NOTE: If you’re thinking about implementing something similar in your organization, the ClickHouse MCP server code is available on GitHub, which is a great starting point.

Comments

Latest Posts

9 min

1747 words

If you’re using tools like Claude Code, GitHub Copilot Workspace, or similar, you’ve probably noticed there’s technical jargon that goes beyond simply “chatting with AI”. I’m talking about terms like rules, commands, skills, MCP, and hooks.

These concepts are the architecture that makes AI agents truly useful for software development. They’re not just fancy marketing words — each one serves a specific function in how the agent works.

Let’s break them down one by one in a clear way.

2 min

315 words

Lately I’ve been closely following everything around the MCP protocol (Model Context Protocol), and recently I found a project that makes a lot of sense: MCPHero.

The reality is that although MCP is taking off, many “traditional” AI libraries like openai or google-genai still don’t have native MCP support. They only support tool/function calls. MCPHero comes to solve exactly this: make a bridge between MCP servers and these libraries.

What is MCPHero?

MCPHero is a Python library that lets you use MCP servers as tools/functions in native AI libraries. Basically, it lets you connect to any MCP server and use its tools as if they were native OpenAI or Google Gemini tools.

5 min

1053 words

A few months ago I came across something that really caught my attention: the possibility of having my own “ChatGPT” running at home, without sending data anywhere, using only a Raspberry Pi 5. Sounds too good to be true, right?

Well, it turns out that with Ollama and a Pi 5 it’s perfectly possible to set up a local AI server that works surprisingly well. Let me tell you my experience and how you can do it too.

5 min

949 words

Lately, there’s been talk of AI agents everywhere. Every company has their roadmap full of “agents that will revolutionize this and that,” but when you scratch a little, you realize few have actually managed to build something useful that works in production.

Recently I read a very interesting article by LangChain about how to build agents in a practical way, and it seems to me a very sensible approach I wanted to share with you. I’ve adapted it with my own reflections after having banged my head more than once trying to implement “intelligent” systems that weren’t really that intelligent.

6 min

1097 words

Two protocols, two philosophies

In recent months, two protocols have emerged that will change how we build AI systems: Agent2Agent Protocol (A2A) from Google and Model Context Protocol (MCP) from Anthropic. But here’s the thing: they don’t compete with each other.

In fact, after analyzing both for weeks, I’ve realized that understanding the difference between A2A and MCP is crucial for anyone building AI systems beyond simple chatbots.

The key lies in one question: Are you connecting an AI with tools, or are you coordinating multiple intelligences?

6 min

1248 words

A few years ago, many AI researchers (even the most reputable) predicted that prompt engineering would be a temporary skill that would quickly disappear. They were completely wrong. Not only has it not disappeared, but it has evolved into something much more sophisticated: Context Engineering.

And no, it’s not just another buzzword. It’s a natural evolution that reflects the real complexity of working with LLMs in production applications.

From prompt engineering to context engineering

The problem with the term “prompt engineering” is that many people confuse it with blind prompting - simply writing a question in ChatGPT and expecting a result. That’s not engineering, that’s using a tool.