Mcp Server
Manage the Massdriver infrastructure platform: projects, environments, deployments, and more.
- Transport
- Not stated
- Package
- —
- Registry id
- cloud.massdriver/mcp-server
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
A Model Context Protocol (MCP) server for Massdriver, providing AI assistants with tools to manage your infrastructure platform — projects, environments, deployments, policies, and more.
Installation
This server is published to the official MCP Registry as cloud.massdriver/mcp-server — MCP clients with registry support can discover and install it by that name.
To install manually, pick whichever suits your setup:
Download a release binary — grab the archive for your platform (Linux, macOS, or Windows; amd64 and arm64) from GitHub Releases and put mcp-server on your PATH.
Go install (requires Go 1.25+):
go install github.com/massdriver-cloud/mcp-server@latest
Docker:
docker pull massdrivercloud/mcp-server
Build from source:
git clone https://github.com/massdriver-cloud/mcp-server.git
cd mcp-server
make build # outputs ./bin/mcp-server
Configuration
You'll need a Massdriver API key and your organization ID — see the Massdriver docs for creating API credentials.
The server reads configuration from environment variables, or from a profile in ~/.config/massdriver/config.yaml:
export MASSDRIVER_API_KEY="your-api-key"
export MASSDRIVER_ORGANIZATION_ID="your-org-id"
# Optional:
export MASSDRIVER_URL="https://api.massdriver.cloud" # set this if you run a self-hosted Massdriver instance
export MASSDRIVER_PROFILE="default" # named profile in ~/.config/massdriver/config.yaml
Transports
By default the server speaks MCP over stdio (for local tool integrations like
Claude Desktop). To serve the Streamable HTTP transport instead, pass -http
(or set MASSDRIVER_MCP_HTTP_ADDR):
./bin/mcp-server -http 127.0.0.1:8080
The HTTP endpoint is stateless and returns application/json, so a single tool
call is a plain POST (no session handshake required):
curl -s 127.0.0.1:8080 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_viewer","arguments":{}}}'
The HTTP endpoint is unauthenticated and exposes infrastructure-mutating tools. Bind it to localhost or place it behind an authenticating proxy.
Docker
The stdio transport needs an interactive stdin, so pass -i:
docker run --rm -i \
-e MASSDRIVER_API_KEY \
-e MASSDRIVER_ORGANIZATION_ID \
massdrivercloud/mcp-server
On a self-hosted Massdriver instance, also pass -e MASSDRIVER_URL.
Using a profile?
MASSDRIVER_PROFILEreads credentials from~/.config/massdriver/config.yaml, which doesn't exist inside the container. Either pass the credentials as environment variables as shown above, or mount your config directory and pointXDG_CONFIG_HOMEat it:docker run --rm -i \ -e MASSDRIVER_PROFILE \ -e XDG_CONFIG_HOME=/config \ -v ~/.config/massdriver:/config/massdriver:ro \ massdrivercloud/mcp-server
MCP Client Configuration
Claude Code
claude mcp add massdriver \
--env MASSDRIVER_API_KEY=your-api-key \
--env MASSDRIVER_ORGANIZATION_ID=your-org-id \
-- /path/to/mcp-server
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"massdriver": {
"command": "/path/to/mcp-server",
"env": {
"MASSDRIVER_API_KEY": "your-api-key",
"MASSDRIVER_ORGANIZATION_ID": "your-org-id"
}
}
}
}
Other Clients
The server uses stdio transport, compatible with any MCP client.
Available Tools (111)
From the project's README.