How to Use the Truto Unified Calendar MCP in Pydantic AI
Manage events across multiple providers using your AI client. Type safety for every schedule action.
Works with every AI agent you already use
…and any MCP-compatible client
Connect Truto Unified Calendar MCP to Pydantic AI
Create your Vinkius account to connect Truto Unified Calendar to Pydantic AI and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.
Scheduling with the MCP Server
The `create_event` tool lets you book an event. You provide a calendar ID, title, and ISO times; Truto handles writing that record to Google or Outlook in real time. If something changes, use `update_event`. Provide the event ID and a JSON object with field updates. Since your agent relies on type-safety, Pydantic validates this change before it hits the provider.
Checking availability with MCP Server
To see if anyone's free, call `get_free_busy`. You pass a calendar ID and time range. The tool returns structured blocks of free/busy data that Pydantic validates against your expected schema. This ensures that even complex scheduling logic built by your agent is working with correctly formatted availability times.
Listing all calendars for correctness
The `list_calendars` tool provides a unified view of every connected calendar ID via Truto's API. This list is critical for making sure your agent targets the right account. Want to confirm access? Run `validate_connection`. It checks credentials and permissions, giving you explicit status reports that prevent silent failures.
Set up Truto Unified Calendar MCP in Pydantic AI
Prerequisites
- Python 3.10+ installed
-
pydantic-ai-slim[fastmcp]package - Active Vinkius subscription with a valid endpoint token
- 1
Install Pydantic AI with FastMCP
Run
pip install "pydantic-ai-slim[fastmcp]". The FastMCP toolset replaces the deprecatedMCPServerHTTPclass with full protocol support. - 2
Configure the FastMCPToolset
Pass a JSON-style config dict to
FastMCPToolsetwith your Vinkius URL. Replace[YOUR_TOKEN_HERE]with your token from cloud.vinkius.com. Supports Streamable HTTP, SSE, and Stdio transports. - 3
Create and run your agent
Pass the toolset to
Agent(toolsets=[toolset])and callagent.run(). Swapopenai:gpt-4ofor any supported model — Anthropic, Google, Mistral, or Groq.
from pydantic_ai import Agent
from pydantic_ai.toolsets.fastmcp import FastMCPToolset
toolset = FastMCPToolset({
"mcpServers": {
"truto-unified-calendar-mcp": {
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
}
}
})
agent = Agent(
"openai:gpt-4o",
toolsets=[toolset],
system_prompt="You have access to Truto Unified Calendar tools.",
)
result = await agent.run("List recent Truto Unified Calendar transactions")
print(result.output) Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Truto. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
Why Choose Vinkius
Vinkius connects your tools to AI with real-time monitoring and automatic cost savings — all from one dashboard.
Real-time monitoring
Live
visibility into every interaction
Connect your favorite tools to your AI and see exactly what's happening — every request, every response, in real time.
Built-in savings
60%
lower AI costs
Vinkius compresses data between your apps and your AI automatically. Lower bills every month — no configuration required.
Single dashboard
One
place for every integration
Every tool your AI connects to, managed from a single screen. One account, complete control.
Common questions about Truto Unified Calendar MCP in Pydantic AI
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
Start using the Truto Unified Calendar MCP today
We host it, we monitor it, we maintain it. You just paste one token.