yamcs
Model Context Protocol (MCP) Server for Yamcs Mission Control System
claude mcp add --transport stdio paulmramirez-yamcs-mcp-server uv --directory /path/to/yamcs-mcp-server run yamcs-mcp \ --env MCP_HOST="127.0.0.1" \ --env MCP_PORT="8000" \ --env YAMCS_URL="http://localhost:8090" \ --env MCP_TRANSPORT="stdio" \ --env YAMCS_INSTANCE="simulator" \ --env YAMCS_PASSWORD="password" \ --env YAMCS_USERNAME="admin"
How to use
The Yamcs MCP Server exposes Yamcs capabilities as MCP tools and resources, enabling AI assistants and other MCP clients to interact with Yamcs through a standardized interface. It implements FastMCP 2.x with a modular architecture, providing access to a Mission Database (MDB), TM/TC processing, link management, object storage, instance management, and alarm management. Tools are organized by category (MDB, Processor, Link, Instance, Storage, Alarm, Command) and can be queried or invoked to list resources, describe details, or execute actions against a running Yamcs instance. The server also exposes read-only resources for quick status checks and discovery of available capabilities. To use it, configure the MCP bridge (for example in Claude Desktop) to point at the Yamcs MCP server and supply any necessary Yamcs connection credentials and server-specific settings. The server will translate MCP requests into Yamcs API calls and return structured responses that clients can present to users.
How to install
Prerequisites:
- Python 3.12 or higher
- A running Yamcs server instance (local or remote)
- uv package manager (recommended) or pip
Install and run with uv (recommended):
# Clone the repository
git clone https://github.com/PaulMRamirez/yamcs-mcp-server.git
cd yamcs-mcp-server
# Install dependencies with uv
uv sync
# Run the server (from project root, using the uv-based entry point as configured in README)
uv run yamcs-mcp
Install and run with pip (editable install):
# Clone the repository
git clone https://github.com/PaulMRamirez/yamcs-mcp-server.git
cd yamcs-mcp-server
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install the package in editable mode
pip install -e .
# Run the server
yamcs-mcp
Running Yamcs (optional, for local testing):
# Run Yamcs in a container (example with simulator data)
docker run -d --name yamcs -p 8090:8090 yamcs/example-simulation
Notes:
- Ensure YAMCS_URL, YAMCS_INSTANCE, and credentials are configured either via environment variables or a .env file.
- The MCP transport and host/port can be adjusted in the environment as needed.
- For development, you can run in demo mode if a Yamcs server is not available.
Additional notes
- The MCP server exposes a comprehensive set of tools across MDB, Processor, Link, Storage, Instance, Alarm, and Command categories. Use the Available Tools section in the README as a reference to discover exact tool names.
- If you encounter connection issues to Yamcs, verify that YAMCS_URL, YAMCS_INSTANCE, and credentials are correct and that the Yamcs instance is reachable from the MCP server host.
- Environment variables can be placed in a .env file or provided directly in the mcp_config env map; the server will read them at startup.
- When using uv, the --directory argument must point to the yamcs-mcp-server project root so uv can locate the entrypoint named yamcs-mcp.
- For Claude Desktop or other clients, ensure the MCP host/port in the client configuration matches MCP_HOST and MCP_PORT values used by the Yamcs MCP server.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP