Run Agents Without Managing Infrastructure
mcpd is the toolchain and runtime layer behind the Mozilla.ai Agent Platform. It gives your agents the isolated MCP server resources they need, securely, scalably, and without hardcoding infra into application logic.
Why mcpd?
Agents often rely on modular tool servers to perform tasks like retrieval, planning, or data processing. Managing these manually, especially across environments, is fragile, insecure, and not scalable.
mcpd solves this by defining, managing, and launching these servers through a clean, auditable runtime layer.

Declarative Tool Management
Define MCP servers, tools, and versions in a .mcpd.toml config. Reproducible, auditable, and CI/CD-ready.

Language-Agnostic
Call MCP servers written in Python (via uvx) or JS/TS (via npx) through a unified HTTP REST API, even across machines.

Separation of Config and Secrets
Keep project config clean. Export a safe, templated, secrets file, keeping local-only secrets separate, so you never risk checking them into Git.

Unified Dev Experience
Install one CLI binary to manage everything: server lifecycle, requests, logs, and proxying.

Seamless SDK Integration
Use mcpd_sdk in Python to treat tool calls like native function calls, zero boilerplate. Already abstracted for any-agent users via mcpd_client.agent_tools().

Local to Prod Without Changes
Use the same .mcpd.toml and agent code in dev, CI, or production. No edits needed when you deploy.

Middleware & Observability Hooks
mcpd acts as a proxy, enabling you to enforce security, add monitoring, or inject logic into every request, without touching agent code.
Get Started with mcpd
Simplify Agent Infrastructure, from Dev to Production.
$ brew tap mozilla-ai/tap
$ brew install mcpd
mcpd --help