CV

community-vyprojects/vymcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

11 stars 2 forks 品質 72 トレンド 12GPL-3.0

VyManager によって供給される VyOS のルーターのための MCP サーバー — AI のエージェントは 1 人のユーザー auth、RBAC および監査とルーターを読み、管理します.

概要

VyManager によって供給される VyOS のルーターのための MCP サーバー。 VyMCP は、VyManager の認証、RBAC、監査、およびコミット確認の安全を継承する VyOS ルータを読み取り、管理できます。 ルーターに直接触れることはありません。 ローカル(stdio)または共有ホストサーバー(http)として実行します。 インターフェイスは変更できます。 または pip はクローンから . をインストールします。, または Docker イメージ ghcr.io/community-vyprojects/vymcp を実行します。 (添付, と -i). 環境変数の設定(.env.example 参照) VYMANAGER VERIFY SSL(デフォルトtrue)とVYMANAGER TIMEOUT(デフォルト30)はオプションです。 複数のエンジニアが HTTP に接続し、それぞれ独自の VyManager トークンをリクエストごとに認証する VyMCP を実行します。 コンパイルファイルでVYMANAGER BASE URLとVYMCP PUBLIC URLを設定します。 エンジニアはMCPクライアントをhttps:// /mcpでAuthorization: Bearer vym .... TLSをリバースプロキシで終了し、単一のレプリカを実行します(保留中の店は必須です).

概要(AI 翻訳)

VyManager によって供給される VyOS のルーターのための MCP サーバー。

VyMCP は、VyManager の認証、RBAC、監査、およびコミット確認の安全を継承する VyOS ルータを読み取り、管理できます。 ルーターに直接触れることはありません。

ステータス: alpha. ローカル(stdio)または共有ホストサーバー(http)として実行します。 インターフェイスは変更できます。

インストール

クローンから [pip install . 、または Docker イメージ [ghcr.io/community-vyprojects/vymcp] を実行します。([-i] で添付)。

設定

環境変数を設定する([.env.exampleを参照してください)):

| 変数 | 必須 | 目的 | お問い合わせ | [[T4] | はい | VyManager API URL | | [[T5] | はい | A [vym_] トークン (サイト → API トークン、読み取り専用) | | [VYMANAGER_ENABLE_WRITES | なし | 書き込みツールの有効化 |

[VYMANAGER_VERIFY_SSL] (デフォルト true]) と [[VYMANAGER_TIMEOUT (デフォルト 30) はオプションです。

MCP クライアントを接続する

ホスト配置(共有サーバー)

複数のエンジニアが HTTP に接続し、各認証を行う VyMCP を実行します。 独自のVyManagerトークンのリクエスト:

[[T12] と VYMCP_PUBLIC_URL をコンパスファイルに設定します。 エンジニアポイント

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

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).

Configure

Set environment variables (see .env.example):

Variable Required Purpose
VYMANAGER_BASE_URL yes VyManager API URL
VYMANAGER_API_TOKEN yes A vym_ token (Sites → API Tokens; read-only recommended)
VYMANAGER_ENABLE_WRITES 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.yml

Set VYMANAGER_BASE_URL and VYMCP_PUBLIC_URL in the compose file. Engineers point their MCP client at https:///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_operations cover ~86 features; apply_change / confirm_change / discard_changes / get_pending_changes drive 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 . && mypy

License

GPLv3 — see LICENSE.

GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "vymcp": { "command": "vymcp", "env": { "VYMANAGER_BASE_URL": "https://vymanager.example.com", "VYMANAGER_API_TOKEN": "vym_…" } } } }