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.

Illustration of hammer and wrench

Declarative Tool Management

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

Illustration of two chat bubbles

Language-Agnostic

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

Illustration of a locker code

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.

Illustration of connected blocks

Unified Dev Experience

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

Illustration of four puzzle pieces

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().

Illustration of a checklist notebook

Local to Prod Without Changes

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

Illustration of an eye

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