ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

CometBFT validator ops

โดย wookja-0รุ่น 0.4.5i★ –iรันบนเครื่อง
ชื่อใน registryio.github.wookja-0/cometbft-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Read-only health, jail-risk, halt and upgrade checks for CometBFT validators and nodes

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: คลินิกและสุขภาพ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • Dockerติดตั้ง Docker ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "cometbft": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/wookja-0/cometbft-mcp:0.4.5"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add cometbft -- docker run -i --rm ghcr.io/wookja-0/cometbft-mcp:0.4.5

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "cometbft": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/wookja-0/cometbft-mcp:0.4.5"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "cometbft": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/wookja-0/cometbft-mcp:0.4.5"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub wookja-0 ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด คลินิกและสุขภาพi

  • ดาวมากกว่า 0% ของอีก 870 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 95% ของอีก 870 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 870 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

CometBFT validator ops ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.5) เข้า registry เมื่อวาน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Mirobody, FHIR MCP Server, Google Health MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Mirobody

โดย thetahealth

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

รันบนเครื่อง★ 1,408Apache-2.0อัปเดต 6 วันที่ผ่านมา
ติดตั้ง

FHIR MCP Server

โดย wso2

MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications

รันบนเครื่อง★ 137Apache-2.0อัปเดต 9 วันที่ผ่านมา
ติดตั้ง

Google Health MCP

โดย davidmosiah

Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents

รันบนเครื่อง★ 79MITอัปเดต 4 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

A read-only MCP server for CometBFT node and validator operators.

Ask your agent *"Is my validator signing?"*, *"How close is it to jail?"*, *"Why did the chain stop?"* or *"Are we ready for the upgrade?"* and get an answer grounded in your own nodes and the chain's own slashing state — judged the way an operator would judge them, and unable to change anything.

Works with any CometBFT chain (Cosmos Hub, Osmosis, any Cosmos SDK chain, non-SDK CometBFT apps) and any MCP client (Claude Code, Claude Desktop, Cursor, VS Code, Codex, Gemini CLI, …).

[!WARNING]

Early release (v0.4). The tool API may still change.

Real tool output against the bundled localnet — nodes are actually stopped; waits are compressed. Reproduce it .

Contents: What you can ask · Quick start · Install · Connect a client · Configuration · Tools · Security model · How it decides · Troubleshooting · FAQ · Development

What you can ask

Real output from the bundled local network.

Is my validator signing — and how far is it from jail?

*"Is val3 signing? How long until it gets jailed?"*

val3 [critical]: signed 26/30 blocks (88–117), missed 4 (13.33%), 4 missed in a row at the head;

21 more misses until downtime jail (~37s at the current rate)

Read from commit signatures (works while the validator itself is down) and the chain's own x/slashing counter, with the jail threshold computed exactly as the SDK does.

Why did blocks stop?

*"The chain isn't producing blocks. Why?"*

height 115 round 0 (Prevote) for 60s [critical]: prevotes 50.1%, precommits 0.0% of power —

no_quorum; not voting: val3, val2

Tells *"not enough voting power online — and who is missing"* apart from *"validators online but not committing"* (an upgrade halt, an app hash error). The 50.1% is not a typo: val2 had been slashed 1% for downtime earlier in the run.

Are we ready for the upgrade?

*"Is there an upgrade coming? Are all nodes on the same version?"*

localnet-1 [ok]: upgrade <untrusted>v2-e2e</untrusted> at height 10000000 in ~164d20h (9999969 blocks)

The x/upgrade plan with an ETA from the measured block time, upgrade proposals still in voting, and version skew across nodes. marks text that came from the chain — here a governance proposal — so the agent treats it as data.

Is everything ok?

*"Run a daily check"* — or use the daily_check prompt.

[critical] 5 nodes (4 ok, 1 critical), 4 validators (3 ok, 1 critical); localnet-1 [ok]: no upgrade scheduled — needs attention: val3

Also: *"Is val0 really behind its sentry?"* (peer_health flags validators with public-address peers), *"Is any node falling behind?"*, and incident_triage for an evidence-first diagnosis of one node.

Quick start (1 minute, public RPC)

No access to your nodes needed: point it at a public RPC and watch any validator by its consensus address.

go install github.com/wookja-0/cometbft-mcp/cmd/cometbft-mcp@latest

cat > hub.yaml <<'EOF' cosmos: rest: https://cosmos-rest.publicnode.com nodes:

  • name: public role: full rpc: https://cosmos-rpc.publicnode.com:443
  • name: my-validator role: validator validator_address: cosmosvalcons1... # yours, or any validator's

EOF

cometbft-mcp check --config hub.yaml claude mcp add cometbft -- cometbft-mcp --config "$PWD/hub.yaml" --concurrency 8

Then ask: *"Is my-validator signing? How far is it from jail?"*

validator_address is the consensus address (…valcons1… or 40-char hex), not a wallet (cosmos1…) or operator (cosmosvaloper1…) address. Get it with comet show-address on the validator, from /status → validator_info.address, or from an explorer.

Install

Method
BinaryLinux and macOS (amd64/arm64) from Releases, with build-provenance attestations: gh attestation verify --repo wookja-0/cometbft-mcp
Gogo install github.com/wookja-0/cometbft-mcp/cmd/cometbft-mcp@latest
Containerghcr.io/wookja-0/cometbft-mcp — distroless, non-root; the only host access it needs is your config, mounted read-only
MCP Registrylisted as io.github.wookja-0/cometbft-mcp
Glamaglama.ai/mcp/servers/wookja-0/cometbft-mcp

Connect a client

Use absolute paths: most clients do not expand ~.

Claude Code

claude mcp add cometbft -- cometbft-mcp --config /Users/you/.config/cometbft-mcp/config.yaml

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{

"mcpServers": { "cometbft": { "command": "cometbft-mcp", "args": ["--config", "/Users/you/.config/cometbft-mcp/config.yaml"] } } }

</details>

Cursor

~/.cursor/mcp.json:

{

"mcpServers": { "cometbft": { "command": "cometbft-mcp", "args": ["--config", "/Users/you/.config/cometbft-mcp/config.yaml"] } } }

</details>

VS Code

.vscode/mcp.json:

{

"servers": { "cometbft": { "type": "stdio", "command": "cometbft-mcp", "args": ["--config", "/Users/you/.config/cometbft-mcp/config.yaml"] } } }

</details>

Codex CLI

~/.codex/config.toml:

[mcp_servers.cometbft]

command = "cometbft-mcp" args = ["--config", "/Users/you/.config/cometbft-mcp/config.yaml"]

</details>

Gemini CLI

~/.gemini/settings.json:

{

"mcpServers": { "cometbft": { "command": "cometbft-mcp", "args": ["--config", "/Users/you/.config/cometbft-mcp/config.yaml"] } } }

</details>

Docker (any client)

{

"mcpServers": { "cometbft": { "command": "docker", "args": ["run", "-i", "--rm", "--mount", "type=bind,src=/Users/you/.config/cometbft-mcp/config.yaml,dst=/config/config.yaml,readonly", "ghcr.io/wookja-0/cometbft-mcp:0.4.5"] } } }

Or skip the mount and pass the config inline: "-e", "COMETBFT_MCP_CONFIG_YAML={nodes: [...]}" before the image name.

Inside a container 127.0.0.1 is the container itself: point the config at host.docker.internal (Docker Desktop) or add --network host (Linux) to reach SSH tunnels on the host.

Configuration

Where the config comes from, first match wins:

  1. --config
  2. $COMETBFT_MCP_CONFIG_YAML — the YAML itself, for places that take environment variables but not files (containers, hosted MCP runners). Flow style fits on one line:
   COMETBFT_MCP_CONFIG_YAML='{cosmos: {rest: "https://cosmos-rest.publicnode.com"}, nodes: [{name: public, role: full, rpc: "https://cosmos-rpc.publicnode.com:443"}]}'
  1. $COMETBFT_MCP_CONFIG — a path
  2. ~/.config/cometbft-mcp/config.yaml

Start from the commented config.example.yaml.

# Optional: the Cosmos SDK layer (jail status, slashing margin, upgrades, monikers).

Chain state is the same on every node: use a sentry's or full node's REST API.

cosmos: rest: http://127.0.0.1:1317

nodes:

  • name: sentry-1 role: sentry # validator | sentry | full rpc: http://127.0.0.1:26657 # CometBFT RPC
  • name: val-1 role: validator rpc: http://127.0.0.1:36657 validator_address: cosmosvalcons1... # keeps validator_health working while it is down
  • name: val-2 role: validator # no rpc: watched by address only validator_address: cosmosvalcons1...
Field
cosmos.restCosmos SDK REST (app.toml [api], port 1317) of any synced node. Omit for non-SDK chains.
nodes[].nameLowercase name the agent uses to refer to the node.
nodes[].rolevalidator, sentry or full. Commits are read from sentries and full nodes first, keeping load off validators.
nodes[].rpcCometBFT RPC (port 26657). Optional for a validator that has validator_address.
nodes[].validator_addressValidators only: consensus address, hex or bech32 …valcons1….

There is deliberately no place for keys, mnemonics or tokens; fields that look like secrets are rejected.

Reaching nodes. Only port 26657 (and optionally 1317 on one node) is used. CometBFT binds RPC to 127.0.0.1 by default, so an SSH tunnel needs no node changes and no open ports: ssh -N -L 36657:127.0.0.1:26657 val-1. Do not open RPC to the internet for this.

FlagDefault
--configsee abovePath to the config
--concurrency4In-flight requests across all nodes. Gentle on your own nodes; 8 suits most public RPCs, less for rate-limited ones (HTTP 429).
--timeout10sPer-request timeout
--reveal-networkoffShow raw peer IPs, node IDs and transport errors to the model

cometbft-mcp check prints a node_status report locally, without an MCP client, to verify a config.

Without a usable config the server still starts: its tools and prompts stay listed, and each call explains what to create, ending with a one-line public Cosmos Hub config to try first (it never echoes the config's contents, which may hold internal addresses). Fix the config and restart the MCP server.

Tools

All tools are read-only (readOnlyHint). Every result

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx