vm-forgeyard MCP
HTTP MCP adapter for requesting VMs and inspecting state. Part of the vm-forgeyard KVM control plane for test and development virtual machines.
README
vm-forgeyard
vm-forgeyard is a host-local KVM control plane for test and development
virtual machines.
It provides:
control-api: VM lifecycle, capacity, operation, IP reservation, image, run, and namespace disk endpointslock-api: FIFO lock queue by namespace/resourcemcp-api: HTTP MCP adapter for agents that need to request VMs and inspect stateroot-vm-exec: a narrow request-file executor for qcow2, libvirt lifecycle, guest bootstrap, runtime inspection, and cleanup actions- SQLite-backed control-plane state
- dry-run modes for API and executor workflow verification
Status
This repository is the public code mirror. Private deployment inventory, local hostnames, credentials, and site-specific automation are intentionally excluded.
Install
python -m pip install -e .
Start the APIs with a host-specific config:
python -m kvm_control --config ./config.example.yaml control-api
python -m kvm_control --config ./config.example.yaml lock-api
python -m kvm_control --config ./config.example.yaml mcp-api
Use config.example.yaml as a starting point. For real VM lifecycle operations, point the storage paths at durable host storage, set auth credentials, and run the executor through an appropriately constrained privilege boundary.
Auth
If auth.admin_token or auth.admin_token_hash is set, the control and lock
APIs require bearer-token authentication by default. The admin token can create
persistent dev or repository tokens through:
POST /v1/admin/auth/tokens
Repository tokens use git.<repo> usernames and inherit that effective
namespace. The reserved dev token accepts caller-provided namespaces and
normalizes unprefixed names to dev.<name>.
auth.mode: open exists only as a rollout bridge. Requests without credentials
run as anonymous admin, while provided credentials are still validated.
Development Checks
Run the unit test suite:
PYTHONPATH=src python -m unittest discover -s tests -v
Run dry-run smoke checks:
PYTHONPATH=src python scripts/sandbox_api_smoke.py
PYTHONPATH=src python scripts/check_api_dry_run.py
PYTHONPATH=src python scripts/check_browser_mobile_layer2_dry_run.py
Check an MCP endpoint:
PYTHONPATH=src python scripts/check_mcp_agent_workflow.py --url http://127.0.0.1:8002/mcp
Public Scope
The initial public repository contains the application code, unit tests, dry-run checks, static status UI assets, and an example configuration.
Deployment automation is intentionally not included yet. Ansible roles should be published only after their defaults and examples are generalized enough to be useful outside one infrastructure environment.
License
vm-forgeyard is licensed under the GNU General Public License version 2.0. See 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.