About Mcpd
Mcpd is an MCP server published by mozilla-ai in the Cloud category: declaratively define and run required tools across environments, from local development to containerized cloud deployments.
The repository has 186 stars and 25 forks, with the last commit yesterday. Recent commit activity is the strongest signal that reported issues will get attention.
Install
claude mcp add mcpd -- npx -y @juncai/mcpdnpx -y @juncai/mcpdThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (4)
Compute[llamafile](https://github.com/mozilla-ai/llamafile)
Parameters not published.
Interface[any-llm](https://github.com/mozilla-ai/any-llm)
Parameters not published.
Logic[any-agent](https://github.com/mozilla-ai/any-agent)
Parameters not published.
Safety[any-guardrail](https://github.com/mozilla-ai/any-guardrail)
Parameters not published.
Ask AI
Ask AI about Mcpd
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 10 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Built by Mozilla AI
mcpd is a daemon that manages your MCP servers via declarative configuration, exposing them as clean HTTP endpoints. This bridges the gap between your agents and your infrastructure, handling the messy work of lifecycle management, secret injection, and environment promotion so you don't have to.
⚙️ How it Works
Under the hood, mcpd spawns MCP servers as STDIO subprocesses and proxies requests over HTTP.
🚀 Quick Start
Prerequisites
Install the mcpd binary first, then install the runtime(s) used by the MCP servers you want to run:
- uv for servers whose package starts with
uvx:: - Node.js / npx for servers whose package starts with
npx::, and formcpd inspector - Docker for servers whose package starts with
docker::, or if you plan to runmcpdin Docker
The quick start below uses the time server via uvx, so uv is required for that example.
Optional helpers used in some docs examples:
curlto call the HTTP APIjqto pretty-print JSON responses
If you are building mcpd from source or contributing, you will also need Go (v1.27.1+ required).
Installation
via Homebrew
(Works for both macOS and Linux)
Add the Mozilla.ai tap:
brew tap mozilla-ai/tap
Then install mcpd:
brew install mcpd
Or install directly from the cask:
brew install --cask mozilla-ai/tap/mcpd
Please read our docs to install via GitHub releases or local Go Binary build.
Using mcpd
# Initialize a new project and create a new .mcpd.toml file
mcpd init
# Add an MCP server to .mcpd.toml
mcpd add time
# Set the local timezone for the MCP server
mcpd config args set time -- --local-timezone=Europe/London
# Start the daemon in dev mode with debug logging
mcpd daemon --dev --log-level=DEBUG --log-path=$(pwd)/mcpd.log
Now that the daemon is running, let's call the get_current_time tool provided by the time MCP server
# Check the time
curl -s --request POST \
--url http://localhost:8090/api/v1/servers/time/tools/get_current_time \
--header 'Accept: application/json, application/problem+json' \
--header 'Content-Type: application/json' \
--data '{
"timezone": "Europe/Warsaw"
}'
API docs will be available at http://localhost:8090/docs.
💡 Why mcpd?
Engineering teams build agents that work locally, then struggle to make them production-ready across environments. mcpd bridges this gap with declarative configuration and secure secrets management.
- Declarative & reproducible – .mcpd.toml defines your tool infrastructure
- Language-agnostic – Python, JS, Docker containers via unified HTTP API
- Dev-to-prod ready – Same config works locally and in containers
🏗️ Built for Dev & Production
| Development Workflow | Production Benefit |
|---|---|
mcpd daemon runs everything locally |
Same daemon runs in containers |
.mcpd.toml version-controlled configs |
Declarative infrastructure as code |
Local secrets in ~/.config/mcpd/ |
Secure secrets injection via control plane |
mcpd config export exports version-control safe snapshot of local configuration |
Sanitized secrets config and templates for CI/CD pipelines |
📦 SDKs
mcpd SDKs
| Language | Repository | Status |
|---|---|---|
| Python | mcpd-sdk-python | ✅ |
| JavaScript | mcpd-sdk-javascript | ✅ |
mcpd plugin SDKs
Plugin SDKs are built using the mcpd plugin Protocol Buffers specification.
| Language | Repository | Status |
|---|---|---|
| Go | mcpd-plugins-sdk-go | ✅ |
| .NET | mcpd-plugins-sdk-dotnet | ✅ |
| Python | mcpd-plugins-sdk-python | ✅ |
💻 Development
If you are developing mcpd, you will need:
- Go (v1.27.1+ required)
Build local code:
make build
Run tests:
make test
Validate Mozilla AI registry (when modifying registry files):
make validate-registry
Run the local documentation site (requires uv), dynamically generates command line documentation:
make docs
🧩 The Mozilla.ai Stack
mcpd is the "Tooling Layer" of the Mozilla.ai ecosystem. These tools are designed to work together or standalone.
| Layer | Tool | Function |
|---|---|---|
| Compute | llamafile | Local LLM inference server |
| Interface | any-llm | Unified Python library for LLM inference |
| Logic | any-agent | Orchestration and agent loops |
| Tools | mcpd | (You are here) Tool sandbox & router |
| Safety | any-guardrail | Input/Output validation |
🤝 Contributing
Please see our Contributing to mcpd guide for more information.
📄 License
Licensed under the Apache License 2.0.
README fetched from the repository 10 hours ago. The original is authoritative.