Deployment Guide

Ship It for $0/month

Intent's MCP servers run on FastMCP Cloud's free tier, Cloudflare Workers, or your local machine. Zero infrastructure cost, auto-deploy on push.


Fastest Path
01

FastMCP Cloud (Free)

Push your servers to GitHub, point FastMCP Cloud at them, and you're live. Auto-redeploys on every push to main.

1

Push servers to your repo

Copy servers/ to your intent repo root and push to GitHub.

2

Sign in to FastMCP Cloud

Go to fastmcp.cloud and authenticate with your GitHub account.

3

Create four projects

One per server: intent-notice → servers/notice.py, intent-spec → servers/spec.py, intent-observe → servers/observe.py, intent-knowledge → servers/knowledge.py

intent-notice
https://intent-notice.fastmcp.cloud/mcp
intent-spec
https://intent-spec.fastmcp.cloud/mcp
intent-observe
https://intent-observe.fastmcp.cloud/mcp
intent-knowledge
https://intent-knowledge.fastmcp.cloud/mcp

Total cost: $0/month on FastMCP Cloud free tier or Cloudflare Workers (100K req/day). The intent-knowledge server can be deployed independently if you're using the Knowledge Engine as a separate product.


Connect
02

Connect to Claude Code

Add the servers to your project's Claude Code settings. Each server gets a URL endpoint that Claude Code calls through MCP.

.claude/settings.json
{
  "mcpServers": {
    "intent-notice": {
      "type": "url",
      "url": "https://intent-notice.fastmcp.cloud/mcp"
    },
    "intent-spec": {
      "type": "url",
      "url": "https://intent-spec.fastmcp.cloud/mcp"
    },
    "intent-observe": {
      "type": "url",
      "url": "https://intent-observe.fastmcp.cloud/mcp"
    },
    "intent-knowledge": {
      "type": "url",
      "url": "https://intent-knowledge.fastmcp.cloud/mcp"
    }
  }
}

Local Dev
03

Local Development

Run all four servers locally for development and testing. Each gets its own port. Point Claude Code at localhost.

Terminal Setup
pip install fastmcp

# Four terminals:
fastmcp run servers/notice.py --transport streamable-http --port 8001
fastmcp run servers/spec.py --transport streamable-http --port 8002
fastmcp run servers/observe.py --transport streamable-http --port 8003
fastmcp run servers/knowledge.py --transport streamable-http --port 8004

Point Claude Code at http://localhost:800X/mcp for each server.


Alternatives
04

Alternative Platforms

FastMCP Cloud is the fastest path, but Intent's servers are standard Python — they run anywhere.

PlatformFree TierBest For
Cloudflare Workers100K req/dayEdge, stateless
Railway$5 free credit24/7, persistent state
Render750 hrs/monthContainers

Phase 4
05

Persistence (Phase 4)

Replace in-memory dicts with file I/O to the .intent/ directory. The servers already generate correct frontmatter format — the transition is swapping dict operations for file read/write + git commit.

Storage Layout
# Signals: read/write frontmatter + body
.intent/signals/*.md

# Specs: read/write frontmatter + sections
spec/SPEC-*.md

# Contracts: one file per contract
spec/contracts/CON-*.md

# Events: append-only JSONL
.intent/events/events.jsonl

# For cloud-hosted servers:
# Use GitHub API for remote read/write

The servers already generate correct frontmatter. The transition is: swap dict operations for file read/write + git commit. Full audit trail lives in git history.