Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sympathy-MCPCheck the status and IP address of my 'dev-machine' VM"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sympathy-MCP
MCP server for Incus VM operations. Named for sympathetic magic — the connection between puppet and puppeteer.
Agents on masternode puppeteer VMs via structured MCP tools instead of freeform Bash commands.
Tools
Tool | Description |
| Run a command inside a VM (stdout, stderr, exit code) |
| Read a file from inside a VM |
| Write content to a file inside a VM |
| Push a file from host into a VM |
| Pull a file from a VM to host |
| Create a named snapshot |
| Restore to a named snapshot |
| Get VM state, IP, resource usage |
| List all VMs with status |
Usage
# Run the MCP server (stdio transport)
uv run python -m sympathy_mcp
# Or via entry point
uv run sympathy-mcpMCP Configuration
Add to .mcp.json:
{
"mcpServers": {
"sympathy-mcp": {
"command": "uv",
"args": ["run", "--project", "/path/to/Sympathy-MCP", "sympathy-mcp"]
}
}
}Requirements
Python 3.12+
incusCLI installed and configureduvfor project management
Architecture
src/sympathy_mcp/incus.py— Async Incus CLI wrapper (validation, subprocess exec, structured results)src/sympathy_mcp/server.py— FastMCP server with 9 tools (stdio transport)
Shells out to incus CLI under the hood. Go rewrite planned.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.