CV

community-vyprojects/vymcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

11 stars 2 forks 품질 72 트렌드 12GPL-3.0

VyManager에 의해 구동되는 VyOS 라우터에 대한 MCP 서버는 AI 에이전트가 읽을 수 있으며, RBAC, RBAC 및 감사가 내장되어 있습니다.

개요

VyManager에 의해 구동되는 VyOS 라우터에 대한 MCP 서버. VyMCP는 VyManager API를 통해 VyOS 라우터를 읽고 관리합니다. VyManager의 인증, RBAC, 감사 및 커밋 확인 안전. 라우터에 직접 이야기하지 않습니다. 로컬 (stdio) 또는 공유 호스팅 서버 (http); 인터페이스가 변경 될 수 있습니다. 또는 pip install . clone에서, 또는 Docker 이미지 ghcr.io/community-vyprojects/vymcp를 실행합니다 (-i와 함께 제공). 환경 변수 설정 (.env.example 참조): VYMANAGER VERIFY SSL (기본 true) 및 VYMANAGER TIMEOUT (기본 30) 옵션입니다. 많은 엔지니어가 HTTP에 연결 한 VyMCP를 실행, 요청 당 자신의 VyManager 토큰과 각 인증: 작곡 파일에 VYMANAGER BASE URL 및 VYMCP PUBLIC URL을 설정합니다. 엔지니어는 MCP 클라이언트를 https:// /mcp에서 Authorization: Bearer vym .... 역 프록시에서 TLS를 정의하고 단일 복제를 실행하십시오 (Pending-change 저장소는 메모리에 있습니다).

개요(AI 번역)

VyManager에 의해 구동되는 VyOS 라우터에 대한 MCP 서버.

VyMCP는 VyManager API를 통해 VyOS 라우터를 읽고 관리합니다. VyManager의 인증, RBAC, 감사 및 커밋 확인 안전. 라우터에 직접 이야기하지 않습니다.

Status: 알파. 로컬 (stdio) 또는 공유 호스팅 서버 (http); 인터페이스가 변경 될 수 있습니다.

설치

또는 pip install . 클론에서, 또는 도커 이미지를 실행 ghcr.io/community-vyprojects/vymcp ([T2]]).

구성

환경 변수 설정 (.env.example]):

| 변수 |필수 | 용도 | |—||||| | [T4] | 예 | VyManager API URL | | VYMANAGER_API_TOKEN | 예 | A vym_ 토큰 (사이트 → API 토큰; 읽기 전용) | | VYMANAGER_ENABLE_WRITES | no | Enable write tools (기본 해제) |

VYMANAGER_VERIFY_SSL] (기본 true) 및 VYMANAGER_TIMEOUT] (기본 30) 옵션입니다.

MCP 클라이언트 연결

Hosted 배포 (공유 서버)

많은 엔지니어가 HTTP에 연결 한 VyMCP를 실행, 각 인증 요청당 자신의 VyManager 토큰:

VYMANAGER_BASE_URL과 VYMCP_PUBLIC_URL]을 compose 파일에 설정합니다. 엔지니어 점

이 페이지는 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_…" } } } }