> For the complete documentation index, see [llms.txt](https://docs.mozilla.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mozilla.ai/mcpd/index.md).

# Home

<img src="/files/LH9rdEtL9aiInxAfJ4X1" alt="mcpd" width="200">

> *Run your agents, not your infrastructure.*

{% hint style="info" icon="tag" %}
mcpd v0.5.1 (docs v0.1.1)
{% endhint %}

***

`mcpd` is a toolchain and runtime developed by [Mozilla AI](https://mozilla.ai) that simplifies the configuration, execution and integration of [Model Context Protocol](https://modelcontextprotocol.io/overview) (MCP) servers with your agentic application. It is intended to provide the same experience across local, development and production environments.

It removes the friction of cross-language server orchestration, secrets management, version pinning, and lifecycle control.

***

## Why `mcpd`?

Traditional agent frameworks often embed complex subprocess logic, brittle startup scripts, and ad-hoc 'desktop style' config.

`mcpd` replaces this with:

**Zero-Config Tool Setup**\
No cloning repos or manual per-server setup. Install the runtime your chosen server uses, then `mcpd add` and `mcpd daemon` handle the rest.

**Language-Agnostic Tooling**\
Use MCP servers written in Python (`uvx`), JavaScript/TypeScript (`npx`) in your code via a HTTP REST API that supports routing to MCP Servers.

**Declarative Tool Management**\
Define version-pinned MCP servers and tools in `.mcpd.toml`. Reproducible, consistent, and CI-friendly.

**Project config separated from runtime variables**\
Exportable args and environment variables per server e.g. `~/.config/mcpd/secrets.dev.toml`. Never commit dev specific vars to Git again.

**Unified Dev Experience**\
One command: `mcpd daemon`. Starts and manages all servers behind the scenes.

**Intuitive SDK Integration**\
The Python `mcpd_sdk` makes calling tools feel like native function calls; no HTTP, STDIO, or SSE boilerplate. Even easier for users of [any-agent](https://github.com/mozilla-ai/any-agent) via `.agent_tools()`.

**Seamless Local-to-Prod Transition**\
The same `.mcpd.toml` and agent code work in dev, CI, and cloud environments without modification.

***

## Built for Dev & Infra

| Feature                                                          | Dev Workflow                       | Production Benefit                          |
| ---------------------------------------------------------------- | ---------------------------------- | ------------------------------------------- |
| `.mcpd.toml`                                                     | Version-controlled agent tool spec | Declarative IaC for tools                   |
| `mcpd daemon`                                                    | Run everything locally             | Run in container alongside your agentic app |
| `mcpd config export`                                             | Discover required vars             | Populate CI/CD pipelines                    |
| Secure secrets store                                             | Local overrides per dev            | Injected via Control Plane                  |
| Same binary                                                      | Local builds                       | Cloud deployment                            |
| [SDKs for Python](https://github.com/mozilla-ai/mcpd-sdk-python) | Iterate locally                    | Plug into prod orchestrators                |

***

## Deploy Anywhere

`mcpd` is runtime-flexible and infrastructure-agnostic:

* ⚙️ Works in any container or host where the runtimes required by your configured servers are available (`uv`, `npx`, and/or Docker)
* ☁️ Multi-cloud ready (AWS, GCP, Azure, on-prem)
* ♻️ Low resource overhead via in-process server management

***

## 📦 Install

### Homebrew

Add the [Mozilla.ai tap](https://github.com/mozilla-ai/homebrew-tap):

```bash
brew tap mozilla-ai/tap
```

Then install `mcpd`:

```bash
brew install mcpd
```

Or install directly from the cask in a single command:

```bash
brew install --cask mozilla-ai/tap/mcpd
```

{% hint style="success" %}
**Installation methods**

Please see our [Installation](/mcpd/installation.md) page for additional ways to install and run `mcpd`.
{% endhint %}

{% hint style="info" %}
**Runtime prerequisites**

Installing the `mcpd` binary is separate from installing MCP server runtimes. Install only the runtime(s) your configured servers use: `uv` for `uvx::...`, `npx` for `npx::...`, and Docker for `docker::...`. The tutorial and most examples on this site use `uvx`, so `uv` is the most common first requirement.
{% endhint %}

***

## 📚 Explore the Docs

Use the sidebar to explore:

* ✅ [Requirements](/mcpd/requirements.md)
* ⚙️ [Configuration](/mcpd/configuration/configuration.md)
* 🧭 [CLI Reference](/mcpd/cli-reference/mcpd.md)
* 🧵 [Execution context and secrets](/mcpd/configuration/execution-context.md)
* 🩺 [Troubleshooting](/mcpd/troubleshooting.md)
* 🛠️ [Makefile and tooling](/mcpd/reference/makefile.md)
* 📚 [Tutorial](/mcpd/tutorial.md)

***

## About Mozilla.ai

This project is built and maintained by [Mozilla.ai](https://mozilla.ai), a mission-driven organization reimagining AI for the public good.

Have ideas or feedback? Contributions welcome via [GitHub](https://github.com/mozilla-ai/mcpd).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.mozilla.ai/mcpd/index.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
