How to Use the Framer MCP in Pydantic AI
Write type-safe Python code to manage Framer CMS collections and publish site updates using pydantic-ai and MCP.
Works with every AI agent you already use
…and any MCP-compatible client
Connect Framer MCP to Pydantic AI
Create your Vinkius account to connect Framer 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 Framer MCP Server updates with validation
Don't let silent API failures corrupt your production site during automated edits. This toolset validates payloads against strict models before calling `create_collection_item`. When fetching existing content with `list_collection_items`, pydantic-ai ensures the returned JSON matches your expected Python types. If Framer changes its API structure, your code fails loudly instead of corrupting data.
Programmatic page and site discovery
Let your agent inspect your site structure with absolute certainty by calling `list_pages` to map out your layout. The agent parses the results into typed Python objects. By using `get_site_info` and `list_collections`, your agent builds a clear map of your content structure. This makes it easy to write scripts that verify layout settings before pushing live changes.
Secure, structured publishing workflows
Automate your deployment pipeline without guessing by discovering target projects using `list_projects`. The agent fetches details via `get_project` using type-safe schemas. Once the validation checks pass, the agent triggers `publish_site`. Because pydantic-ai is model-agnostic, you can run this entire safe workflow using OpenAI, Anthropic, or local models.
Set up Framer 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": {
"framer-mcp": {
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
}
}
})
agent = Agent(
"openai:gpt-4o",
toolsets=[toolset],
system_prompt="You have access to Framer tools.",
)
result = await agent.run("List recent Framer 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 Framer. 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 Framer MCP in Pydantic AI
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
Start using the Framer MCP today
We host it, we monitor it, we maintain it. You just paste one token.