mcpField
M
mcp-better

mcp-better

ローカル
github.com/Wolfe-Jam開発ツール25 日前に更新

mcp-better について

mcp-betterは、現代のMCPを学び、テストする開発者向けのRust製サンプルサーバーと教材です。プロトコル検出、キャッシュ情報付きのツール一覧、stdioとオプションのStreamable HTTPに対応します。

主な機能

  1. 01health、echo、confirm_echoツールを提供
  2. 02プロトコル検出と安定したツール順序
  3. 03ツール一覧にキャッシュ期間と範囲を付与
  4. 04stdioとStreamable HTTPに対応
  5. 05MCP教材とAgent Skillを同梱

活用シーン

  1. 01クライアントのMCPプロトコル検出を検証
  2. 02ツール一覧のキャッシュ情報と順序を確認
  3. 03confirm_echoで呼び出し中の確認をテスト

MCP 対応

MCP サーバーとして、health、echo、confirm_echoツールを提供し、stdioまたはオプションのStreamable HTTPに対応します。教材ドキュメントをリソースとして公開し、実験的なAgent Skills拡張も備えています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
cargomcp-better0.5.0
npmmcp-better0.5.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-better — 7/28 向けに構築

名刺 · 自分の名刺を作る →

NONE | GOOD | [BETTER] | BEST

この尺度での AGENTS.md の教科書です — BETTER の段階にある、誠実でモダンな MCP です。
(プロトコル 2026-07-28 — モダンな MCP リリース)

the book is the app is the book

実際に動く、AAIF 検証済みのモダン MCP 教科書です。Rust · rmcp 3.0.x(ロック 3.0.1、Tier 1 評価済み)· Discover · スタンプ付きリストキャッシュ。
書籍: textbook/ — 内容 · 理由 · 方法 · 理念。
アプリ: このバイナリとスモークテストです。レッスンを重ね、バージョンを重ねるごとに、知識が蓄積されます。

BEST(BETTER に加えて、常駐し、活用される project.faf:エージェントファイルを作成する、永続的なプロジェクトコンテキスト)は、この教科書から一段上の faf.one/agents にあります。

デュアルパッケージ(任意)

私たちは Cargo です。 インストールには cargo install を使います。npx はお試し用です。npm install は選択肢として提供しません。

→ デュアルパッケージを採用する理由 — 位置づけと FAQ
→ 完全ガイド(方法) — 同期、公開順序、OIDC、スコアとワイヤ

MCP よりスキル(任意 · 教科書)

ツールと同じプロセス上で動作する 1 つのエージェントスキル(mcp-better-lab)です。

→ docs/SKILLS-OVER-MCP.md — 拡張 · skills/list · skills/get · ダイジェスト

7/28 とは?

名前内容
7/28時代の名称 — 発音しやすく、ブランド名にもできます。「7/28 向けに構築」。
2026-07-28プロトコルバージョン — ワイヤ上や SDK 内で使われる日付文字列です。

7/28 は優れた名称です。2026-07-28 は日付です。
人は 7/28 と言い、マシンは 2026-07-28 をネゴシエートします。

期待できること

  1. 7/28 向けに構築 — レガシーサーバーに後付けしたものではありません(公式 rmcp 3.0.x / Tier-1 評価済みカット)。
  2. 誠実なサーフェス — トランスポートとケイパビリティはドキュメントおよび CI と一致します。
  3. ロードマップで時代を拡張 — バージョンを重ねて道を広げます。後になって「7/28 になる」わけではありません。
バージョンレッスン(バージョンそのものがレッスンです)
v0.1stdio による 7/28 — Discover、スタンプ付き ttlMs / cacheScope、安定した順序、health + echo
v0.2同じ 7/28 時代 + Streamable HTTP の道 + ルーティングヘッダー(Mcp-Method / Mcp-Name)
v0.3同じ時代 + より深い正確性 — 複数リスト + 再起動後の順序に関するスモークテスト · mcp-worse との比較
v0.4同じ時代 + デュアルパッケージ — cargo + npm shim · Rust ツールチェーンなしで npx mcp-better
v0.4.3同じ時代 + confirm_echo MRTR(SEP-2322)+ エージェントスキル(mcp-better-lab)— docs/MRTR-CONFIRM-ECHO.md · docs/SKILLS-OVER-MCP.md を参照
v0.4.4同じ時代 + 書籍を 0.4.3 のワイヤに一致 — 新しいツールなし · カタログは health → echo → confirm_echo の順
v0.5同じ時代 + 対応するクライアントが MRTR を完了 — mrtr-client が confirm_echo を完了

BETTER の意味

  1. プロトコルに誠実 — 実装してテストしたサーフェスに限り、7/28 / 2026-07-28 を名乗ります。
  2. Discover 互換 — クライアントはレガシーな initialize のみではなく、ClientLifecycleMode::Discover(または Auto → 7/28)を使用する必要があります。
  3. リストキャッシュのスタンプ — tools/list は正の ttlMs と cacheScope(静的カタログ → public)を返します。SDK のデフォルトにはスタンプがありません。
  4. 安定したツール順序 — 同一プロセス内の N 回のリスト要求で順序が変わりません。
  5. トランスポート — stdio(デフォルト)と Streamable HTTP(--http)を同じ 7/28 時代に提供します。

クイックスタート(10分以内)

パス内容
cargo install mcp-betterインストール方法 — Cargo を使います。crates.io から PATH 上にネイティブバイナリをインストールします。
npx mcp-betterお試しにおすすめ — Rust もコンパイルも不要です。インストールではありません。
npmnpx や一部のホストから同じバイナリを起動できるように公開している shim です。npm install / npm i -g は提供していません。
お試し(おすすめ)— npx
# No Rust toolchain. Downloads the native binary from GitHub Releases.
npx mcp-better --help
npx mcp-better
ソースから/crates.io から(Rust 1.85+)
git clone https://github.com/Wolfe-Jam/mcp-better.git
cd mcp-better
cargo build --bins
cargo test
cargo run --example stdio-client
# louder 0.3 smokes (build --bins first; or: bash scripts/ci.sh)
MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" cargo run --example order-restart-smoke
MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" \
  MCP_WORSE_BIN="$(pwd)/target/debug/mcp-worse" \
  cargo run --example contrast-smoke
MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" cargo run --example http-smoke
# 0.5 matching client (completes confirm_echo)
MCP_BETTER_BIN="$(pwd)/target/debug/mcp-better" cargo run --example mrtr-client

インストール(crates.io)— stdio がデフォルトです(Cursor / Claude Desktop):

初回の cargo install では、Rust の依存関係を一度コンパイルします(多くの場合、rmcp / tokio / … など100以上のユニットです。こちらのツールが100個あるわけではありません)。これは初回のみで、その後はバイナリをすぐに起動できます。コンパイルを省略するには、上記の npx mcp-better でお試しください。これはインストールではありません。

cargo run --release
# install from crates.io — first hit compiles deps once (see above):
cargo install mcp-better --version 0.5.0
mcp-better --help
# optional lying companion (teaching only — not for hosts):
# cargo install mcp-better --version 0.5.0 --bin mcp-worse

Streamable HTTP(ローカルでのデモ専用 — SECURITY.md を参照):

cargo run --release -- --http
# http://127.0.0.1:8787/mcp
# MCP_BETTER_HTTP_ADDR=127.0.0.1:9000 mcp-better --http

トランスポートの選択(CLI が環境変数より優先されます):

方法値
CLImcp-better(stdio) · mcp-better --http · mcp-better --stdio
引数のみhttp / stdio(フラグと同じ意味です)
環境変数MCP_TRANSPORT または MCP_BETTER_TRANSPORT → stdio | http(両方設定されている場合は MCP_TRANSPORT が優先)
HTTP バインドMCP_BETTER_HTTP_ADDR — デフォルトは 127.0.0.1:8787 です。認証なしの公開エンドポイントを許容するのでない限り、0.0.0.0 は使用しないでください。

ツール

ツール目的
health稼働状態 — ステータス、バージョン、プロトコルを返します。副作用はありません。k8s のプローブ契約ではありません。
echo純粋なデモ — message を変更せずに返します。
confirm_echo教科書的な MRTR(SEP-2322)— 呼び出し途中で確認してからエコーを返します · 封印された requestState。

プロトコルに関する記述(v0.5.0 — 同じ7/28期 · 対応クライアントが MRTR を完了)

項目ステータス
期間/プロトコル7/28 · ネゴシエーション対象は 2026-07-28(Discover を優先)
トランスポートstdio(デフォルト) · Streamable HTTP(--http)
HTTP モード7/28 ではステートレス · json_response · ローカルの Host ガード
ルーティングヘッダーStreamable HTTP の POST では、ツール名を指定する際に Mcp-Method と Mcp-Name を使用します(SEP-2243)。http-smoke がこの正常系を検証します。
ケイパビリティtools · resources(スキル文書) · experimental skills 拡張
リストキャッシュttlMs=60000、cacheScope=public、順序は health→echo→confirm_echo(再起動後も安定)
MRTR(任意)confirm_echo — 呼び出し途中で確認 · 封印された requestState · 対応クライアント mrtr-client · docs/MRTR-CONFIRM-ECHO.md
スキル(任意)mcp-better-lab · skills/list · ダイジェスト · docs/SKILLS-OVER-MCP.md
虚偽を述べるコンパニオンmcp-worse — スタンプなし+順序を逆転(contrast-smoke 専用)
OAuth / タスク主な対象外

教科書

本はアプリであり、アプリは本です — textbook/(シーズン1 · 原則)。

開始: textbook/README.md → ラボ 第09章。

非目標(私たちが拒否する GOOD 時代の慣習)

  • 7/28 のモダンさをうたいながら、スタンプのないリスト結果を配信すること
  • このリポジトリのメインブランチで project.faf や BEST のツールを必須とすること
  • stdio を「本当の7/28ではない」と扱うこと — stdio は第一級の7/28トランスポートです
  • AAIF のリード文に FAF のインストール負担を持ち込むこと — このリポジトリはプロトコルの教科書であり、FAF 製品ではありません

レジストリ ID

  • MCP Registry 名:mcp-name: io.github.Wolfe-Jam/mcp-better
  • デュアルパッケージ(同じバージョン、どちらも stdio):
    • registryType:cargo · identifier:mcp-better · crates.io
    • registryType:npm · identifier:mcp-better · registry.npmjs.org
      (Node シムが GitHub Releases からネイティブバイナリをダウンロードします。ホストに Rust は不要です)
  • server.json のパッケージのトランスポートは、設計上 stdio のみです。
    ホストは stdio で cargo install / npx mcp-better を使って起動します。
    Streamable HTTP(--http)は、同じバイナリに含まれる、任意で利用できるローカルデモ(同じ 7/28 時代のもの)であり、Registry のリモートパッケージではありません。この README と --help でご確認ください。

server.json を参照してください。one.faf/* ではありません。

公開

公開プロセス:/pubbetter(スキル)· 簡易版 docs/PUBBETTER.md · ローカルでの公開基準:

export PATH="$HOME/.cargo/bin:$PATH"
bash scripts/ci.sh

BEST

プロトコルの教科書を超えた、永続的でバージョン管理可能な AI プロジェクトのコンテキストについては、こちらをご覧ください。

https://faf.one/agents

ドキュメント

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。