MCP and Tool Calling
MCP (Model Context Protocol) is a standard that lets AI models call tools on external services. When you connect an MCP server to Daneel, the AI gains the ability to read Stripe invoices, query databases, manage deployments, and more — all within the chat conversation.
To connect a server, follow How to Connect an MCP Server. For which providers support tool calling, see the AI Providers reference.
What is a tool call?
Section titled “What is a tool call?”A tool call is when the AI decides it needs external data to answer your question. Instead of making something up, it:
- Recognizes it needs information from a connected service
- Formats a tool call request (e.g., “list invoices for customer X”)
- Sends the request to the MCP server
- Receives the result
- Incorporates the result into its response
You see this in the chat as an inline tool call indicator showing which tool was called and a summary of the action.
Multi-turn tool loops
Section titled “Multi-turn tool loops”For complex questions, the AI may need multiple tool calls across several turns:
You: "Compare last month's revenue to the month before"
AI → Stripe: list_invoices(period: "last month")Stripe → AI: [invoice data...]
AI → Stripe: list_invoices(period: "two months ago")Stripe → AI: [invoice data...]
AI: "Last month's revenue was $12,400, up 15% from $10,800 the previous month."The ToolCallLoop orchestrator manages these multi-turn conversations automatically. The AI decides when it has enough information to answer.
Tool call strategies
Section titled “Tool call strategies”Different LLM providers format tool calls differently. Daneel handles this transparently:
| Provider | Strategy | How it works |
|---|---|---|
| Claude | Native tool_use | Claude’s API has built-in tool calling with structured tool_use blocks. Most reliable. |
| Ollama / Azure OpenAI | OpenAI function format | Uses the OpenAI-compatible function calling format. Reliability depends on the specific model. |
| WebGPU / Gemini Nano | Prompt-based XML | Tool calls are formatted as <tool_call> XML tags in the prompt. Works in theory but small models often misformat calls. |
Discovery and authentication
Section titled “Discovery and authentication”When you connect an MCP server, Daneel discovers its available tools automatically. The server declares what tools it offers (e.g., list_invoices, create_customer, get_deployment), and Daneel makes them available to the AI.
Authentication is handled per-server:
- OAuth2 + PKCE — for services like Stripe, Notion, Vercel. Daneel manages the full OAuth flow, token storage, and refresh via Chrome’s identity API.
- API Key — for services like Google Maps, Exa. You paste the key once and it’s stored locally.
- Bearer token — for custom servers with token-based auth.
- None — for open servers that don’t require auth.
Daneel discovers auth requirements automatically using WWW-Authenticate headers and RFC 8414 OAuth metadata.
Agents and tools
Section titled “Agents and tools”Agents can have specific MCP servers bound to them. When you use an agent, the AI only has access to the tools you’ve explicitly assigned. This lets you create focused workflows — a “Billing Agent” that only sees Stripe, a “DevOps Agent” that only sees Vercel and Cloudflare.
Validated servers
Section titled “Validated servers”These MCP servers have been tested and confirmed working with Daneel:
| Server | Auth | Category |
|---|---|---|
| Stripe | OAuth | Payments |
| Supabase | OAuth | Database |
| Vercel | OAuth | DevOps |
| Notion | OAuth | Productivity |
| Figma | OAuth | Design |
| Linear | OAuth | Project management |
| Slack | OAuth | Communication |
| Google Maps | API Key | Maps |
| Cloudflare | OAuth | Infrastructure |
| Exa | API Key | Search |
| data.gouv.fr | None | Open data |
| Context7 | None | Documentation |
The full list of featured servers is in Settings > MCP.
Limitations
Section titled “Limitations”- Small models struggle with tools. WebGPU (3B) and Gemini Nano often fail to format tool calls correctly. Use Claude or Ollama with 7B+ models for reliable tool calling.
- One tool loop at a time. The current architecture processes tool calls sequentially within a conversation turn.
- Server availability. MCP servers are remote services — they can be down, rate-limited, or require paid subscriptions.