Skip to main content
Glama
proxmox-safe-mcp

proxmox-safe-mcp

by bgauger

Proxmox Safe MCP

制限付きのインベントリ/ステータス読み取りと、許可リストに登録されたゲストの電源操作とスナップショット作成という2つの狭いミューテーションクラスのみを公開する、焦点を絞ったProxmox MCPサーバーです。spectrenet-mcp のコミット 2e63f009d8f4642e17398685baef0251811d6637 から抽出されたもので、このリポジトリは自己完結型です。

Alpha: テストは合成テストです。Proxmox APIの互換性はすべてのリリースに対して認定されていません。本番以外のインフラストラクチャでテストしてください。

安全契約

  • ノードを対象とした操作(node_status)と両方のミューテーションツールでは、ノードが明示的に許可リストに登録されます。ゲストタイプは qemu と lxc のみで、VMIDは正の整数である必要があります。

  • cluster_status と list_guests は意図的にクラスタ全体のAPIビューを返し、ノードの許可リストではフィルタリングされません。専用のProxmox APIアカウント/トークンのスコープを設定して、これらの読み取りツールが参照できる範囲を制限してください。

  • 電源操作は start、shutdown、reboot、stop のみです。

  • スナップショット名は1〜64文字のASCII文字、数字、_、または - です。

  • すべてのミューテーションには、バイト単位で一致する APPROVE <action> <target> の確認が必要です。

  • ミューテーションの応答は送信の受領証であり、完了の証明ではありません。返されたUPIDと最終状態を別々に確認してください。

  • ゲスト/スナップショットの削除、ホストの電源、ストレージの変更、割り当て、移行、構成のツールはありません。node_status は意図的にストレージの列挙を除外しています。

  • 応答/リスト/監査フィールドは制限されており、TLS検証はデフォルトで有効です。

Related MCP server: proxmox-mcp

インストールと実行

uv sync --extra test
uv run proxmox-safe-mcp --help
uv run proxmox-safe-mcp

サーバーはMCP stdioを使用します。.env は読み込まれません。.env.example はダミーのドキュメントとしてのみ使用し、シークレットはスーパーバイザーまたはシークレットマネージャーを通じて注入してください。

検証

uv sync --locked --extra test
uv run --locked pytest
uv run --locked python -m compileall -q src tests
uv build

アーキテクチャと運用 と セキュリティの詳細 を参照してください。MIT © 2026 Ben Gauger.

Available Tools

5 tools
cluster_statusD
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

guest_powerD
NameRequiredDescriptionDefault
nodeYes
vmidYes
actionYes
confirmNo
guest_typeYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_guestsD
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_statusD
NameRequiredDescriptionDefault
nodeYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

snapshot_guestD
NameRequiredDescriptionDefault
nodeYes
vmidYes
confirmNo
guest_typeYes
snapshot_nameYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedcluster_status
    • First observedguest_power
    • First observedlist_guests
    • First observednode_status
    • First observedsnapshot_guest

TDQS

D1.9/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct aspect of the Proxmox environment: cluster status, node status, guest listing, guest power control, and guest snapshotting. There is no overlap in purposes, making selection unambiguous.

Naming Consistency3/5

The names mix noun-initial patterns (cluster_status, node_status, guest_power) with verb-initial patterns (list_guests, snapshot_guest). This inconsistency is noticeable but still readable and predictable overall.

Tool Count5/5

With only 5 tools, the server is tightly scoped and each tool serves a clear purpose. This is well-balanced for a specialized MCP server focused on monitoring and safe guest operations.

Completeness3/5

The set covers status, listing, power, and snapshot operations but lacks lifecycle management (create, update, delete guests). While potentially intentional for a 'safe' server, it leaves notable gaps for full Proxmox administration.

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables management of Proxmox VE infrastructure via its REST API and execution of commands inside LXC containers via SSH, with built-in trust layers for planning, audit, undo, and diagnosis.
    6
    740 PyPI
    64
    AGPL 3.0
  • F
    license
    A
    quality
    D
    maintenance
    Enables an AI assistant to fully navigate a single-node Proxmox VE host over SSH, with modes for read-only inspection, safe operations, and full control including provisioning and destruction.
    34
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables management of many Proxmox VE clusters from a single server, exposing read and inventory tools plus guarded destructive operations that follow a plan → approve → apply flow. Per-cluster tokens, fail-closed guest protection with time-boxed waivers, and audit logging keep every action scoped, attributable, and reversible.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables MCP clients to diagnose Proxmox VE clusters — quorum and HA state, Ceph and ZFS health, backup coverage audits, task failures, pending updates and node evacuation planning — with answers returned as findings and recommended steps. VM power, snapshot and migration operations are available but disabled by default, requiring a preview and a bound confirmation token before anything executes.
    13
    153 PyPI
    MIT