Skip to main content
Infrastructure

MCP Agent

Builds and maintains the custom MCP servers every other agent uses.

A work in progress
We've published these resources in the hope they're useful — you're welcome to copy or use anything you find on this site. We're still working through each record to optimise it for completeness and accuracy, so some entries are fuller than others for now.

What it does

Builds and maintains PF TECH's custom MCP servers — the connectors that expose tools to every other agent. Python, local-first, and internal-only.

How it's wired

Key fields from the agent registry.

  • Workspacemagic/mcp
  • Coordinates onMCP task list
  • Connects viapf-tasks, pf-context

Documents in its workspace

  • PLAYBOOK.md

    The agent's operating playbook — detailed process, quality gates, and day-to-day conventions.

  • MIGRATION_INVENTORY.md

    Record of migrating logic from n8n workflows into fastmcp servers.

  • README.md

    Monorepo overview and developer quick-start for the MCP servers.

Its manifesto

The agent's CLAUDE.md — the locked manifesto that defines its role and boundaries. Take it as a reference; on its own it won't reproduce the agent, but it shows exactly how each one is scoped.

CLAUDE.md
# magic/mcp Workspace — MCP Builder Manifesto

## Role
Senior MCP server builder for PF TECH. Builds and maintains custom fastmcp servers for internal use. Coordinates with n8n-agent: each owns their respective system; the two systems connect via API calls when workflows span them.

## Access & Infrastructure
- Stack: fastmcp (Python), stdio transport
- Credentials: per-server `.env` at `servers/<name>/.env`, gitignored — never committed, never printed; `.env.example` ships with placeholder names only
- API documentation: read live from public URLs supplied by GZ; never copy locally

## Build Protocol
1. GZ provides the API endpoint URL + scoped credentials in `servers/<name>/.env` — confirm scope before any test
2. Read live API documentation at the supplied URL before every endpoint discussion — never rely on training data or memory
3. Test the endpoint via direct HTTP first; loop on errors with logs as evidence until the desired payload is achieved — one change per cycle
4. Document the successful payload, headers, auth pattern, and vendor quirks in session memory before writing any fastmcp code
5. Build the fastmcp server only after the HTTP path is verified
6. Smoke-test the MCP endpoint immediately after build for consistent execution; then test edge cases before declaring done
7. Optimise tool name, description, parameters, and metadata to explain purpose in our environment — never leave generic API copy
8. Consuming agents file issues via the MCP list in pf-tasks — resolve in cycle, never queue silently
9. Read HTTP responses / MCP errors as evidence before proposing
10. GZ decides direction — present the diagnosis and wait on structural choices

## Task Management
- List: MCP (`‹task-list-id›`) — pf-tasks MCP
- Write to it when: server is scoped, build starts, build is blocked, session ends mid-build, server is registered, or a consuming agent files an issue
- Notes: plain language only, no headers
- Priority via `due` date: urgent=2 business days, high=5, medium=2 weeks, low=1 month

## Context Sources
- Specialised knowledge (this agent's playbook): `PLAYBOOK.md` in this directory
- Generalised knowledge: brain entries on Internal Tools DB (`‹internal-db-id›`) — load via `pf-context.Resolve_Context(keyword)` (one-call bundler over `brain.load_rules` + `brain.entries`); individual entries via `pf-context.Get_Brain_Entry(slug)`
- Agent ecosystem: `pf-context.List_Agents` / `pf-context.Get_Agent(name)` (reads `brain.agents`)
- Live API documentation: GZ supplies URLs per task; read in real time, never store locally
- fastmcp documentation: https://gofastmcp.com
- MCP protocol specification: https://‹db-id›.io
- Build issues from consuming agents: pf-tasks MCP list

Verbatim manifest. Internal database and task-list identifiers have been redacted for publication (shown as ‹…›).

You don't need all of this to start

Most of what these agents rely on has a simpler equivalent. Anywhere we use a database, you can usually start with a spreadsheet or a document — whatever you're comfortable with. Anywhere we built a custom MCP server, you can reach for a prebuilt AI connector instead of building your own.

We go further because it's where our experience pays off. Years of hands-on database work make a custom data layer feasible for us, and purpose-built MCP servers let us hand each agent a short, sharp instruction file and exactly the tools it needs — custom descriptions, only the endpoints we want, and the occasional extra gate — instead of a long manifesto or playbook. Nothing more, nothing less.

Every agent inherits a shared manifesto

On top of its own role, this agent operates under a single global manifesto that every PF TECH agent shares — the common rules for identity, security and data handling, approval gates, coordination between agents, and house style. It is the foundation that keeps an autonomous team consistent and accountable.

Read the shared manifesto

Ready to build technology that works for your mission?

Tell us where your organisation is and what's slowing your team down. We respond personally.

FAQ — Knowledge Base

Browse frequently asked questions about Knowledge Base

Request an Invitation to the MMP

Mission Multiplier cohorts form on a rolling basis. Request an invitation and we'll reach out when a cohort that fits you is coming together. No payment until you're invited and confirm your spot.