Skip to main content
formae ships an MCP server and a set of skills that teach AI coding assistants how to manage infrastructure. Once connected, you can deploy, query, and change cloud resources through natural conversation.
Release notes for the MCP server live in its CHANGELOG in the formae-mcp repository, not in these docs.

What you get

  • 31 MCP tools that give your assistant direct access to the formae agent API: querying resources, deploying infrastructure, updating your IaC codebase from reality, searching the plugin hub, and more.
  • 19 skills that teach your assistant proven workflows, from authoring new infrastructure end to end (infer the right plugins, pull version-matched examples, design stacks, simulate, apply) to absorbing out-of-band changes back into your IaC codebase.
Both pieces matter. The tools are the API access; the skills are the workflows that use them safely (simulate before applying, confirm before destroying). A client with skills but no MCP server registered will fail on every tool call.

Prerequisites

  • Go 1.25+
  • A running formae agent (formae agent start)

Install

Claude Code has first-class support through the plugin marketplace. The MCP server is registered for you and the binary is built on first use.Register the marketplace:
Install the plugin:
Run /reload-plugins (Claude Code v2.1.116+) to apply without restarting. On older versions, restart Claude Code.Verify: ask Claude to run /formae-status. You should get live agent status back, not an error.

Configuration

By default the MCP server connects to the formae agent at http://localhost:49684. To point it somewhere else, or to work with more than one environment, use profiles (requires formae >= 0.87.0). The server reads the agent endpoint from your active profile, or from the profile named by a tool’s profile argument. Profiles live at ~/.config/formae/profiles/<name>.pkl and are managed with formae profile:

Targeting a specific environment

If you manage several formae environments as named profiles, every tool that talks to an agent accepts an optional profile argument. That targets one environment for a single call without changing which profile is active. Your assistant prefers this per-command targeting over switching the active profile, because the active profile is shared with your formae command line and any other assistant sessions. Ask it to “check drift in staging” or “apply to prod” and it targets that environment per command. Switching your default happens only when you explicitly ask.

Example workflows

“I want to deploy a vLLM server on my Kubernetes cluster with formae”
Starting from just a description, the assistant works out whether to create a new project or build in one you already have, adds the plugins you need, pulls real examples for them, helps you group resources into stacks, and walks you through simulating before applying. You do not need to know the forma file layout up front.
“Apply my VPC forma file at infra/vpc.pkl
The assistant simulates the deployment first, shows you what will be created, asks for confirmation, then applies.
“Has anything changed in my production stack since the last reconcile?”
The assistant queries the agent, cross-references your IaC code, and presents only the true delta: changes not yet reflected in your codebase.
“Absorb out-of-band changes into my IaC code”
The assistant extracts current state, edits your Pkl files to match, and verifies with a simulation that the code is back in sync.
“Build a Cloudflare plugin for formae”
The assistant researches the Cloudflare API, suggests resource types organized in implementation waves, scaffolds the plugin, and works through each CRUD operation with tests, following the plugin SDK tutorial.

Available skills

Skills are workflows your assistant follows when you ask for an infrastructure task. They enforce safe practices like simulating before applying and confirming before destructive operations.

Available MCP tools

Read-only

Mutation

Profiles

Requires formae >= 0.87.0. Manage named formae environments (endpoint + targets) from your assistant.