Docs
Tool calling & MCP
Let models call tools in chat and over the API, and connect MCP servers — with permission gates and a clear scope boundary.
Bedrova supports OpenAI-style tool calling and the Model Context Protocol (MCP) so a model can ask to run a function or use a connected tool. This works in the app’s chat and over the API. It is deliberately scoped to assisting a conversation — Bedrova is not an agent platform (see Scope).
Tool calling over the API
Pass tools on a chat completion. The model replies with a tool call; you run it and send the
result back as a tool message:
curl http://127.0.0.1:1337/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen35-7b-4bit",
"messages": [{"role": "user", "content": "What is the weather in Paris?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Look up current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
}'
The model returns a tool_calls entry naming get_weather with arguments. Your code executes
it and appends the result; the next turn the model uses it to answer. The shape matches the
OpenAI tool-calling spec, so existing client libraries work unchanged.
MCP servers
Bedrova can act as an MCP client. Connected MCP servers expose their tools to chat. Servers are
declared in a local mcp.json and managed in Settings → Integrations:
- Each server and each tool is permission-gated — nothing runs until you allow it.
- Tools run with the access you grant them; review what a server exposes before enabling it.
- MCP config is local; it isn’t uploaded anywhere.
Tool calling in the app
In chat, tool calls render inline so you can see what the model asked for and what came back. Turn tool rendering on or off in Settings → Chat.
Scope
Tool calling and MCP here exist to enrich a single conversation or API call. Durable, scheduled, multi-step, or team automation — the things people mean by “agents” — are out of scope for Bedrova by design and belong to Packwolf. Keeping this boundary is what lets Bedrova stay a local studio you fully control.
See also
- Structured output — guaranteed-shape JSON, a different mechanism.
- API: OpenAI /v1 — full
toolsfield reference. - Privacy & security — what tool use can and can’t reach.