How to Use the Toggl Plan MCP in Pydantic AI
Ensure perfect data correctness for Toggl Plan with Pydantic AI's type validation.
Works with every AI agent you already use
…and any MCP-compatible client
Connect Toggl Plan MCP to Pydantic AI
Create your Vinkius account to connect Toggl Plan 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.
Type-Safe Task Management
The `create_timeline_task` tool lets your agent create new tasks, and because of runtime validation, the agent will fail loudly if you don't provide a valid workspace ID or project ID. This means no silent data corruption. You can also update existing items using `update_timeline_task`. The Pydantic framework guarantees that the JSON structure matches exactly what Toggl Plan expects.
Validated Project Discovery
Getting a list of available projects is safe with `list_workspace_projects`, and fetching details using `get_project_details` always returns data matching predefined schemas. This prevents the agent from guessing at structure. Need to know who's involved? Use `list_workspace_users` or check all applicable tags by calling `list_workspace_tags`. The type safety keeps everything locked down.
Reliable Task State Reading
The agent reads task lists using `list_timeline_tasks`, and the results are guaranteed to adhere to a predictable Python object structure. You can trust that every returned item has the expected fields. Furthermore, when you only need specific info on one project, calling `get_task_details` or listing milestones with `list_milestones` provides highly validated, granular data.
Set up Toggl Plan 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": {
"toggl-plan-mcp": {
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
}
}
})
agent = Agent(
"openai:gpt-4o",
toolsets=[toolset],
system_prompt="You have access to Toggl Plan tools.",
)
result = await agent.run("List recent Toggl Plan 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 Toggl Plan. 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 Toggl Plan MCP in Pydantic AI
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
Start using the Toggl Plan MCP today
We host it, we monitor it, we maintain it. You just paste one token.