maas
MCP-MAAS: A Model Context Protocol server that enables AI assistants to interact with MAAS (Metal as a Service). Provides a standardized interface for machine management operations including listing, allocating, deploying, and controlling physical servers through MAAS.
claude mcp add --transport stdio lspecian-maas-mcp-server ./maas-mcp-server stdio \ --env LOG_LEVEL="info" \ --env LOG_FORMAT="json" \ --env AUTH_ENABLED="false" \ --env MAAS_API_KEY="consumer:token:secret" \ --env MAAS_API_URL="http://your-maas-server:5240/MAAS"
How to use
This MAAS MCP Server exposes a JSON-RPC 2.0 API that lets AI assistants and automation tools manage MAAS resources through a standardized set of tools. It can run in two transport modes: HTTP/HTTPS for web-based interactions and Server-Sent Events, or a stdin/stdout mode for direct integration with CLI scripts or AI workflows. The server discovers and exposes MAAS capabilities as JSON-RPC methods (e.g., maas_list_machines, maas_get_machine_details, maas_power_on_machine, maas_power_off_machine, etc.). You can start the server in stdio mode to feed requests directly from another process or script, or run in HTTP mode to interact over HTTP endpoints. Use the discovery mechanism to learn about available tools and their parameters, which are generated from MAAS API capabilities.
To use the stdio workflow from a host process, launch the MCP server in stdio mode and send JSON-RPC requests over stdin. Read responses from stdout. For example, request maas_list_machines with your desired filters, then handle the returned list and iterate on machine details or actions like power control. For HTTP mode, send JSON-RPC requests to the /mcp endpoint and use the standard JSON-RPC 2.0 request/response format. The server also includes a discovery method that returns the available tools and their parameter schemas, enabling dynamic tool usage in clients.
How to install
Prerequisites:
- Go 1.22+ (for building the server from source)
- MAAS server with API access and a valid MAAS API key
- Optional: Docker for containerized deployment
Install from release script:
- Run the installer script from the release channel (recommended for quick setup): curl -sSL https://raw.githubusercontent.com/lspecian/maas-mcp-server/main/scripts/install.sh | bash
Install from source:
-
Clone the repository: git clone https://github.com/lspecian/maas-mcp-server.git cd maas-mcp-server
-
Build the server: ./build.sh build
-
Configure the server: cp config/config.yaml.example config/config.yaml cp .env.example .env
-
Edit config.yaml and environment settings:
- Update MAAS API URL
- Provide MAAS API key
- Configure server host/port and logging as needed
-
Run the server in stdio mode (for AI integrations): ./maas-mcp-server stdio
Optional: Docker deployment
-
Build the Docker image: ./build-docker.sh
-
Run the container (adjust ports and volume mounts as needed): docker run -p 8081:8081 -v $(pwd)/config:/app/config maas-mcp-server
Additional notes
Environment variables influence server behavior. Common variables include MAAS_API_URL, MAAS_API_KEY, LOG_LEVEL, LOG_FORMAT, and AUTH_ENABLED. When configuring via Roo or the MCP config file, you can predefine the environment in the mcp.json/.roo files to ensure consistent startup, particularly in CI/CD or automation environments. If you encounter authentication issues, verify that MAAS_API_KEY is correct and that the MAAS endpoint is reachable from the machine running the MCP server. The JSON-RPC interface follows the 2.0 specification; use the discovery method to learn available tools and their parameters. For HTTP mode, ensure the server's host/port are accessible and that any reverse proxies or TLS termination are properly configured.
Related MCP Servers
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go