VyMCP
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., "@VyMCPshow me the running config on instance prod-router"
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.
VyMCP
MCP server for VyOS routers, powered by VyManager.
VyMCP lets AI agents read and manage VyOS routers through the VyManager API — inheriting VyManager's authentication, RBAC, audit, and commit-confirm safety. It never talks to routers directly.
Status: alpha. Runs local (stdio) or as a shared hosted server (http); interfaces may change.
Install
pipx install git+https://github.com/Community-VyProjects/VyMCP # provides `vymcp`Or pip install . from a clone, or run the Docker image ghcr.io/community-vyprojects/vymcp (attached, with -i).
Related MCP server: MikroMCP
Configure
Set environment variables (see .env.example):
Variable | Required | Purpose |
| yes | VyManager API URL |
| yes | A |
| no | Enable write tools (default off) |
VYMANAGER_VERIFY_SSL (default true) and VYMANAGER_TIMEOUT (default 30) are optional.
Connect an MCP client
{
"mcpServers": {
"vymcp": {
"command": "vymcp",
"env": {
"VYMANAGER_BASE_URL": "https://vymanager.example.com",
"VYMANAGER_API_TOKEN": "vym_…"
}
}
}
}Hosted deployment (shared server)
Run one VyMCP that many engineers connect to over HTTP, each authenticating with their own VyManager token per request:
docker compose up -d # see docker-compose.ymlSet VYMANAGER_BASE_URL and VYMCP_PUBLIC_URL in the compose file. Engineers point
their MCP client at https://<vymcp>/mcp with Authorization: Bearer vym_….
Terminate TLS at a reverse proxy and run a single replica (the pending-change store
is in-memory).
Tools
Read (always):
list_instances,list_features,get_capabilities,get_config.Write (only when
VYMANAGER_ENABLE_WRITES=true):describe_feature_operations+propose_operationscover ~86 features;apply_change/confirm_change/discard_changes/get_pending_changesdrive the rollout.
Writes are safe by design: off by default, capped to the token's scope, and gated by a propose → apply flow. apply_change requires explicit confirmation and rides VyManager's commit-confirm auto-rollback (a lockout safety net) — it never auto-confirms.
Development
pip install -e ".[dev]"
pytest && ruff check . && mypyLicense
GPLv3 — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Community-VyProjects/VyMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server