About Massdriver
Massdriver is an MCP server for AI assistants managing the Massdriver infrastructure platform. It offers 111 tools across projects, environments, deployments, policies, and related resources, over stdio or stateless Streamable HTTP.
Key features
- 01Manage projects and environments
- 02Create, plan, and roll back deployments
- 03Manage components, resources, and instances
- 04Manage organizations, groups, and service accounts
- 05Retrieve and evaluate policies
- 06Use stdio or HTTP transport
Use cases
- 01Inspect project and environment settings
- 02Review deployment logs and roll back
- 03Maintain resources and access grants
MCP support
The server exposes 111 Massdriver management tools to MCP clients, spanning projects, deployments, resources, policies, and more. It supports stdio and stateless Streamable HTTP.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm -e MASSDRIVER_API_KEY -e MASSDRIVER_ORGANIZATION_ID -e MASSDRIVER_URL docker.io/massdrivercloud/mcp-server:0.2.0MASSDRIVER_API_KEYSecretMassdriver API keyMASSDRIVER_ORGANIZATION_IDMassdriver organization IDMASSDRIVER_URLMassdriver API URL. Only needed for self-hosted Massdriver instances.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMassdriver MCP Server
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)
See MCP_README.md for the full tool reference, including per-tool descriptions, input conventions, pagination, and behavioral annotations.
Projects (6)
list_projects get_project create_project clone_project update_project delete_project
Environments (13)
list_environments get_environment create_environment update_environment delete_environment set_environment_default remove_environment_default compare_environments fork_environment deploy_environment decommission_environment list_environment_links list_environment_unfulfilled_dependencies
Instances (10)
list_instances get_instance update_instance set_instance_secret remove_instance_secret set_remote_reference remove_remote_reference copy_instance orphan_instance list_alarms
Deployments (11)
list_deployments get_deployment get_deployment_logs create_deployment propose_deployment approve_deployment reject_deployment abort_deployment plan_deployment rollback_deployment compare_deployments
Components (8)
list_components get_component add_component update_component set_component_position remove_component link_components unlink_components
Bundles (1)
get_bundle
Resources (9)
list_resources get_resource create_resource update_resource delete_resource export_resource create_resource_grant delete_resource_grant list_resource_grants
Resource Types (2)
get_resource_type list_resource_type_dependents
Organization (8)
get_organization create_custom_attribute update_custom_attribute delete_custom_attribute list_organization_members list_custom_attributes get_organization_settings update_organization_settings
Viewer (1)
get_viewer
Audit Logs (3)
get_audit_log list_audit_logs list_audit_log_event_types
Groups (14)
list_groups get_group create_group update_group delete_group add_group_user remove_group_user revoke_group_invitation add_group_service_account remove_group_service_account list_group_members list_group_service_accounts list_group_invitations list_group_policies
Service Accounts (4)
list_service_accounts get_service_account update_service_account delete_service_account
Service account creation is deliberately not exposed — the MCP server can never mint new credentials.
OCI Repos (8)
list_oci_repos get_oci_repo create_oci_repo update_oci_repo delete_oci_repo create_oci_repo_grant delete_oci_repo_grant list_oci_repo_grants
Policies (11)
get_policy create_policy update_policy delete_policy list_policy_actions list_policy_entities evaluate_policy evaluate_policies_batch explain_policy get_policy_attribute_schema list_policy_attribute_values
Server (1)
get_server
URLs (1)
get_url
Contributing
Development, architecture, and release documentation lives in CONTRIBUTING.md.
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.