Massdriver MCP Server
A Model Context Protocol server for Massdriver that enables AI assistants to manage infrastructure platform resources like projects, environments, deployments, policies, and more. It provides 106 tools and supports stdio or HTTP transports.
README
Massdriver 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 (106)
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 (11)
list_environments get_environment create_environment update_environment delete_environment set_environment_default remove_environment_default compare_environments fork_environment deploy_environment decommission_environment
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
Organization (6)
get_organization create_custom_attribute update_custom_attribute delete_custom_attribute list_organization_members list_custom_attributes
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 (5)
list_service_accounts get_service_account create_service_account update_service_account delete_service_account
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.