mcpField
E
espn

espn

ローカル
github.com/christianclaudioゲーム・エンタメ01 日前に更新

espn について

AI エージェントに ESPN のライブおよび過去のスポーツデータを提供する MCP サーバーです。スコア、オッズ、選手統計、予測を扱い、games、teams、news の各領域をプロファイルで選択できます。

主な機能

  1. 01ライブおよび過去のスコアと日程
  2. 02オッズ、勝率、試合予測
  3. 03チーム、ロスター、選手の統計
  4. 04順位表、ランキング、移籍情報
  5. 05games、teams、news のプロファイル選択

活用シーン

  1. 01試合中の状況と勝率の追跡
  2. 02オッズと対戦予測の比較
  3. 03選手のプロフィール、統計、試合記録の確認
  4. 04日程、順位表、リーグリーダーの検索

MCP 対応

ESPN の公開スポーツデータを MCP ツールとリソースとして公開します。stdio と Streamable HTTP に対応し、領域別のサーバープロファイルを選べます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"christianclaudio-espn": {
"command": "uvx",
"args": [
"mcp-server-espn"
],
"env": {
"ESPN_BASE_URL": "<ESPN_BASE_URL>",
"ESPN_TIMEOUT_SECONDS": "<ESPN_TIMEOUT_SECONDS>",
"ESPN_MAX_RETRIES": "<ESPN_MAX_RETRIES>",
"ESPN_MCP_READONLY": "<ESPN_MCP_READONLY>",
"ESPN_MCP_PROFILE": "<ESPN_MCP_PROFILE>",
"ESPN_MCP_ENABLE_TOOL_SEARCH": "<ESPN_MCP_ENABLE_TOOL_SEARCH>",
"ESPN_MCP_TOOL_SEARCH_BACKEND": "<ESPN_MCP_TOOL_SEARCH_BACKEND>"
}
}
}
}
起動コマンドuvx mcp-server-espn
設定が必要な環境変数
ESPN_BASE_URLOptional REST base URL override
ESPN_TIMEOUT_SECONDSHTTP request timeout in seconds
ESPN_MAX_RETRIESMaximum retry attempts on HTTP 429 / 5xx
ESPN_MCP_READONLYRestrict server execution strictly to read-only inspection tools
ESPN_MCP_PROFILEServer domain profile (full, games, teams, news, readonly)
ESPN_MCP_ENABLE_TOOL_SEARCHReplace flat tool catalog with dynamic search transform
ESPN_MCP_TOOL_SEARCH_BACKENDTool Search backend: bm25 (default) or regex

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-server-espn2.1.1

ツール

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

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

詳細

🏈 mcp-server-espn

CI PyPI Python License: Apache-2.0 Coverage CodeRabbit Reviews

ESPNを通じて、ライブおよび過去のスポーツ分析、コンセンサスベッティングオッズ、予測を提供するエンタープライズグレードのModel Context Protocol(MCP)サーバーです。
AIエージェントに、リアルタイムのスポーツ情報、ライブ勝率、詳細なボックススコア統計、ロースターの階層構造、対戦分析を提供します。


⚠️ 免責事項と公正利用に関するお知らせ

重要

コミュニティプロジェクトに関する免責事項
mcp-server-espnは、独立したオープンソースのコミュニティプロジェクトです。ESPN Inc.またはThe Walt Disney Companyとは提携、後援、承認、支援のいずれも受けていません。「ESPN」はESPN Inc.の商標です。ESPNの公開RESTエンドポイントを通じて提供されるすべてのデータは、教育、研究、個人による非商用利用を目的としています。


💡 開発の背景

自律的なスポーツ分析には、高頻度で構造化された堅牢なデータフィードが必要です。

  1. 試合のライブ状況と勝率: ターンオーバー、得点プレー、投手交代などのリアルタイムの試合イベントによって、試合の流れや予想結果は刻々と変化します。
  2. 主力選手の負傷とデプスチャートの変更: 試合中の負傷や交代は、チームの効率や戦術上の対戦状況を根本的に変えます。
  3. コンセンサスオッズと予測モデル: コンセンサスとなるスポーツブックのオッズ(DraftKings、Caesars、ESPN BET)を予測指標(FPI、BPI)と組み合わせることで、詳細な統計的試合評価が可能になります。

mcp-server-espnは、ESPNの公開スポーツデータエンドポイントに直接接続する、統一された堅牢なModel Context Protocolインターフェースを提供します。


🏟️ システムアーキテクチャ

graph TD
    Client["AI Agent / MCP Client<br>(Antigravity, Claude, Codex, Cortex)"]
    Gateway["Root FastMCP Gateway (espn-mcp)<br>(stdio / Streamable HTTP)"]
    ParentMW["Parent Middleware Pipeline<br>(ParentAuditMiddleware & ReadOnlyGateMiddleware)"]
    GamesSub["Sub-Server: espn-games<br>(games_* | GamesDomainGuard)"]
    TeamsSub["Sub-Server: espn-teams<br>(teams_* | TeamsDomainGuard)"]
    NewsSub["Sub-Server: espn-news<br>(news_* | Resources)"]
    ClientHandler["Hardened ESPN AsyncClient<br>(Connection Pool & 429 Jitter Backoff)"]
    ESPN["ESPN Public REST CDN<br>(https://site.web.api.espn.com)"]

    Client <-->|"JSON-RPC (tools/list, tools/call)"| Gateway
    Gateway --> ParentMW
    ParentMW --> GamesSub
    ParentMW --> TeamsSub
    ParentMW --> NewsSub
    GamesSub & TeamsSub & NewsSub <-->|"API Methods"| ClientHandler
    ClientHandler <-->|"HTTPS REST Mirror"| ESPN

🚀 FastMCP 4 サーバー構成

mcp-server-espn は、root.mount(..., namespace="...") を使った標準的な FastMCP 4 サーバー構成を実装しています。

  • ドメイン別サブサーバー:espn-games(games_*)、espn-teams(teams_*)、espn-news(news_*)に分割されています。
  • 階層型ミドルウェア:
    • 親:ParentAuditMiddleware(タイミングログ、監査証跡、シークレットの除去)とReadOnlyGateMiddleware(フェイルクローズ方式の読み取り専用の強制)。
    • 子:GamesDomainGuardMiddleware(クエリ上限の検証、<= 100)とTeamsDomainGuardMiddleware(チームおよび選手の識別子の検証)。
  • 用途別プロファイル:--profile full|games|teams|news|readonly(ESPN_MCP_PROFILE)を使って、軽量な機能セットを実行します。
    • full(デフォルト):すべてのドメインツールとリソース、計 33 個をマウントします。
    • games:スコア、サマリー、スケジュール、順位表、ランキング、トランザクション、リーグリーダー、ドラフト、ライブのプレー・バイ・プレー、状況、オッズ、確率、予測、カレンダー、先物、パワーインデックス(20 個のツール)。
    • teams:ロースター、デプスチャート、選手の統計、選手プロフィール、略歴、統計、試合ログ、スプリット、検索、チーム一覧、チーム詳細、チーム統計(12 個のツール)。
    • news:リーグニュースと参照リソース(1 個のツール)。
    • readonly:すべてのルートで読み取り専用を強制します。
  • オプトインのツール検索:デフォルトでは標準のフラットなtools/listを維持し、クライアントとのシームレスな互換性を保ちます。一方、--enable-tool-search(ESPN_MCP_ENABLE_TOOL_SEARCH)を使うと、検索変換を有効にできます。デフォルトでは自然言語クエリに対して BM25 ランキングを使用します(search_tools はqueryを受け取ります)。または、--tool-search-backend regex(ESPN_MCP_TOOL_SEARCH_BACKEND=regex)を指定すると、正規表現パターンを使用します(search_tools はpatternを受け取ります)。

📈 スポーツインテリジェンスのワークフロー

ワークフロー 1:試合中の勝利確率と状況の追跡
  1. 進行中の試合を確認:エージェントがgames_get_scoreboard(sport="football", league="nfl")を呼び出し、後半の接戦を特定します。
  2. 試合中の状況と勝利確率を取得:games_get_game_situation(sport="football", league="nfl", event_id="401872947")とgames_get_win_probabilities(sport="football", league="nfl", event_id="401872947")を呼び出し、ダウンと距離、レッドゾーンの状況、リアルタイムの勝利期待度曲線を調べます。
  3. プレー・バイ・プレーを確認:games_get_play_by_play(sport="football", league="nfl", event_id="401872947")を呼び出し、ドライブごとの流れと得点イベントのログを確認します。
ワークフロー 2:選手の詳細分析とファンタジー評価
  1. 略歴とキャリアの背景:teams_get_athlete_bio(sport="football", league="nfl", athlete_id="12483")を呼び出し、ドラフトでの指名実績、大学での経歴、身体的指標を取得します。
  2. 最近の試合ログとスプリット:teams_get_athlete_gamelogとteams_get_athlete_splitsを取得し、特定の守備体系や会場条件に対するパフォーマンスの傾向を分析します。
  3. リーグ全体のリーダーボードでの順位:games_get_leaders_by_athlete(sport="football", league="nfl", category="passing", sort="yards")を呼び出し、パーセンタイル順位を評価します。

🏟️ 対応スポーツ・リーグの参照一覧

サーバーは正規のスポーツ/リーグのスラッグペアに対応しており、よく使われるショートカットは自動的に正規化されます。

スポーツのスラッグリーグのスラッグ認識されるショートカット/別名一般的な表示名
footballnflnflナショナル・フットボール・リーグ
footballcollege-footballcfb, ncaa-football, fbsNCAAカレッジフットボール
basketballnbanbaナショナル・バスケットボール・アソシエーション
basketballmens-college-basketballcbb, ncaa-basketballNCAA男子カレッジバスケットボール
basketballwomens-college-basketballwbb, ncaa-womens-basketballNCAA女子バスケットボール
basketballwnbawnba女子ナショナル・バスケットボール・アソシエーション
baseballmlbmlbメジャーリーグベースボール
hockeynhlnhlナショナル・ホッケー・リーグ
soccereng.1epl, premier-leagueイングランド・プレミアリーグ
soccerusa.1mlsメジャーリーグサッカー
socceruefa.championsucl, champions-leagueUEFAチャンピオンズリーグ
socceresp.1la-ligaスペイン・ラ・リーガ
soccerita.1serie-aイタリア・セリエA
soccerger.1bundesligaドイツ・ブンデスリーガ
soccerfra.1ligue-1フランス・リーグ・アン

📊 ツールスイート(33のドメインツール)

すべてのツールは、明示的なMCP 2.0アノテーション(readOnlyHint=True、idempotentHint=True)を実装しています。

ドメインツールパラメーター説明
Gamesgames_get_scoreboardsport, league, date, week, season_type, group, limit任意の日付(date=YYYYMMDD)または両端を含む日付範囲(date=YYYYMMDD-YYYYMMDD)の最終スコアと結果(日付範囲は最大31日分まで1日ずつ取得します。ESPNがチームスポーツのスコアボードでは範囲形式を拒否するためです。そのため、limitは各日に適用され、最大で31 × limit件のイベントが返されます。また、1日でも取得に失敗すると呼び出し全体が失敗します。ゴルフの日付範囲はそのままESPNに送信されます)。さらに、ライブスコア、試合状態(pre/post)、ピリオド/時計、テレビ放送、先発予想投手も返します。ほかのゲームツールで使用するイベントIDも返します。
Gamesgames_get_game_summarysport, league, event_idコンセンサスベッティングライン、対戦予測の勝率、ATS、得点プレー、ドライブ、リーダー、勢い。
Gamesgames_get_team_schedulesport, league, team_id, season, season_type過去の試合結果とスコアを含むシーズンスケジュールです。デフォルトではレギュラーシーズンが対象で、season_type=3を指定するとポストシーズンの試合も含まれます。
Gamesgames_get_standingssport, league, seasonディビジョン、カンファレンス、リーグ全体の順位、勝敗記録、首位とのゲーム差、勝率。seasonはシーズンが終了する年(2016は2015-16 NBAシーズン)を指定します。サッカーの場合は開始年を指定します(2026は2026-27 Premier Leagueシーズン)。レスポンスにはrequested_season、season、season_displayが含まれます。
Gamesgames_get_rankingssport, league全米トップ25の世論調査とランキング(AP Top 25、Coaches Poll、College Football Playoff)。
Gamesgames_get_transactionssport, league, limitリーグ全体の移籍、ロースターのトレード、ウェーバー、契約、放出。
Gamesgames_get_leaders_by_athletesport, league, limit, category, sortリーグ内の選手を対象とした統計リーダーボード。
Gamesgames_get_leaders_by_teamsport, league, limit, category, sortチームの統計ランキングとリーダーボード。
Gamesgames_get_league_groupssport, leagueリーグのカンファレンス、ディビジョン、構造上のグループ階層。
Gamesgames_get_league_eventssport, league, datesリーグで現在予定されているイベント。ESPNのイベントルートは日付を無視するため、日付による絞り込みはサポートされていません。datesを指定するとリクエストは行われず、games_get_scoreboardに同じ値をdateとして指定するよう案内するisError: trueが返されます。
Gamesgames_get_league_draftsport, league, seasonリーグのドラフトラウンド、チームの指名、指名結果。
Gamesgames_get_scoreboard_headersport, leagueスポーツとリーグの試合を対象とした、ライブティッカー用スコアボードのヘッダーデータ。
Gamesgames_get_event_oddssport, league, event_id, competition_idスポーツブックのコンセンサスオッズとプロバイダーオッズ(スプレッド、合計得点、マネーライン)。
Gamesgames_get_play_by_playsport, league, event_id, limit, pageプレーごとの流れ、時計、得点、ドライブイベント。
Gamesgames_get_game_situationsport, league, event_id試合中のリアルタイム状況(ダウン、距離、ヤードライン、ボールの保持、レッドゾーン)。
Gamesgames_get_win_probabilitiessport, league, event_id試合の進行に伴う、ライブおよび過去の勝率推移。
Gamesgames_get_game_predictorsport, league, event_id試合前および試合中の対戦予測と予測指標。
Gamesgames_get_calendarsport, league, datesシーズンを通じたリーグのスケジュールカレンダーと開催中イベントの日付。
Gamesgames_get_futuressport, league, seasonシーズンの先物ベッティング市場(優勝オッズ、勝利数の合計)。
Gamesgames_get_power_indexsport, league, seasonチームのパワーインデックス(FPI/BPI)評価と効率指標。
Teamsteams_searchquery, type, limit名前またはキーワードで選手とチームを横断検索します(type="player"または"team")。
Teamsteams_list_teamssport, league指定したリーグに所属する全フランチャイズ/チームの一覧。ID、名前、ロゴが含まれます。
Teamsteams_get_teamsport, league, team_idチームの詳細概要、会場、成績、順位の概要、今後予定されているイベント。
Teamsteams_get_team_statisticssport, league, team_idチームと対戦相手の統計カテゴリ別内訳(パス、ランなど)。
Teamsteams_get_team_rostersport, league, team_idポジション別の現役選手一覧、コーチ情報、背番号、負傷状況。
Teamsteams_get_team_depth_chartsport, league, team_idポジションごとの先発/控えの序列(QB1、QB2など)。負傷による交代の影響をモデル化できます。
Teamsteams_get_player_statssport, league, event_id試合カテゴリ別の個々の選手のボックススコア統計。
Teamsteams_get_athlete_overviewsport, league, athlete_id選手の略歴、シーズン/通算成績、試合ログ、次の試合、Rotowireの注記。
Teamsteams_get_athlete_biosport, league, athlete_id選手の詳細な経歴、ドラフト履歴、出生情報、大学での経歴。
Teamsteams_get_athlete_statssport, league, athlete_id, season選手のシーズンおよび通算の全カテゴリ別統計。
Teamsteams_get_athlete_gamelogsport, league, athlete_id, seasonシーズンを通じた選手の試合ごとの成績ログ。
Teamsteams_get_athlete_splitssport, league, athlete_id, season状況別の統計内訳(ホーム/アウェイ、人工芝/天然芝、月別、対戦相手別)。
Newsnews_get_newssport, league, limit最近のニュース見出し、負傷状況、ロースターに関する速報分析。

🏃 クイックスタートとインストール

1. uvx から直接実行する(インストール不要)

[project.scripts] のコンソールスクリプトはどちらも espn_mcp.server:main を呼び出します。espn-mcp(以下で使用)と mcp-server-espn があります。インストール例ではバージョンを固定していません。リリースを固定するには、Releases のバージョンを指定してください。

uvx --from mcp-server-espn espn-mcp

アップグレード後は、稼働中のプロセスの起動時刻が新しいバイナリの mtime より後になるよう、MCP ホストを再読み込みしてください(古いプロセスは新しいパッケージではありません)。

2. pip または uv でインストールする
# Using pip
pip install mcp-server-espn

# Using uv
uv add mcp-server-espn
3. Docker から実行する
docker run --rm -i ghcr.io/christianclaudio/mcp-server-espn:latest

🎛️ エンジンの設定

変数CLI フラグデフォルト説明
ESPN_BASE_URL—https://site.web.api.espn.com対象となる ESPN REST CDN のベース URL(Akamai の TLS フィルターを回避します)
ESPN_TIMEOUT_SECONDS—30.0HTTP リクエストのタイムアウト(秒)
ESPN_MCP_AUTH_TOKEN—unsetHTTP トランスポートで必要な共有ベアラートークン(stdio では無視されます)
ESPN_MCP_ALLOW_UNAUTHENTICATED_BIND—unset1 を指定すると、トークンなしで localhost 以外のホストに HTTP バインドできます
ESPN_MAX_RETRIES—3429/5xx 発生時の最大再試行回数。ジッター付き指数バックオフを使用し、Retry-After の指定に応じて待機時間を延長します(ESPN_TIMEOUT_SECONDS が上限です)
ESPN_MCP_READONLY—0サーバーを読み取り専用の検査ツールに限定します
ESPN_MCP_PROFILE--profilefullドメイン別サーバープロファイル:full、games、teams、news、readonly
ESPN_MCP_ENABLE_TOOL_SEARCH--enable-tool-search0ツールのフラットなカタログを動的検索トランスフォーム(search_tools + call_tool)に置き換えます
ESPN_MCP_TOOL_SEARCH_BACKEND--tool-search-backendbm25ツール検索バックエンド:bm25(BM25SearchTransform、自然言語によるランキング。search_tools は query を受け取ります)または regex(RegexSearchTransform、正規表現パターン。search_tools は pattern を受け取ります)

🎮 クライアント統合ガイド

🧡 Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。

{
  "mcpServers": {
    "espn": {
      "command": "uvx",
      "args": ["--from", "mcp-server-espn", "espn-mcp"],
      "env": {
        "ESPN_TIMEOUT_SECONDS": "20.0"
      }
    }
  }
}

Claude Code CLI の場合:

claude mcp add espn -- uvx --from mcp-server-espn espn-mcp
♊ Google Antigravity & Gemini CLI

.agents/mcp_config.json または ~/.gemini/config/mcp_config.json に追加します。

{
  "mcpServers": {
    "espn": {
      "command": "uvx",
      "args": ["--from", "mcp-server-espn", "espn-mcp"],
      "env": {
        "ESPN_TIMEOUT_SECONDS": "20.0"
      },
      "lazy": true
    }
  }
}
❄️ Snowflake Cortex

~/.snowflake/cortex/mcp.json に追加します。

{
  "mcpServers": {
    "espn": {
      "command": "uvx",
      "args": ["--from", "mcp-server-espn", "espn-mcp"],
      "env": {
        "ESPN_TIMEOUT_SECONDS": "20.0"
      },
      "lazy": true
    }
  }
}
⚡ Cursor IDE

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "espn": {
      "command": "uvx",
      "args": ["--from", "mcp-server-espn", "espn-mcp"]
    }
  }
}
💻 VS Code(Cline / Roo Code / Copilot Agent Mode)

cline_mcp_settings.json または .vscode/settings.json に追加します。

{
  "mcpServers": {
    "espn": {
      "command": "uvx",
      "args": ["--from", "mcp-server-espn", "espn-mcp"]
    }
  }
}
🌐 ローカル HTTP / ネットワークトランスポートモード

最新の Streamable HTTP で FastMCP サーバーを起動します。

uvx --from mcp-server-espn espn-mcp --transport streamable-http --host 127.0.0.1 --port 8000

Streamable HTTP クライアントを http://127.0.0.1:8000/mcp(FastMCP のデフォルトの Streamable HTTP パス)に接続します。

デフォルトの(ステートフルな)HTTP モードでは、30 分間アイドル状態のセッションは期限切れになります。次のリクエストは HTTP 404 を返し、クライアントは新しいセッションを開始する必要があります。FastMCP の session_idle_timeout(http_app() 内)または FASTMCP_HTTP_SESSION_IDLE_TIMEOUT(秒単位。期限切れにしない場合は none)で変更できます。FastMCP 4.1.0 リリースおよび #5229を参照してください。

HTTP 認証。 すべての HTTP リクエストで Authorization: Bearer <token> を必須にするには、ESPN_MCP_AUTH_TOKEN を設定します。トークンがない、または誤っている場合は 401 が返されます。トークンの前後の空白は削除され、空白のみの値は未設定として扱われます。サーバーの構築時に設定されるため、espn-mcp、fastmcp run、および mcp.http_app() をマウントする ASGI ホストでは、いずれも認証が適用されます。stdio では使用されません。

トークンが設定されていない場合、espn-mcp は 127.0.0.1、::1、localhost 以外のホストへの HTTP バインドを拒否し、コード 2 で終了します。トークンを設定するか、localhost にバインドするか、ESPN_MCP_ALLOW_UNAUTHENTICATED_BIND=1 を設定して、認証なしでのパブリックバインドを許可してください。他のエントリーポイントではトークンは使用されますが、localhost のチェックは行われません。fastmcp run と http_app() は espn-mcp の main() を経由しないため、トークンなしで 0.0.0.0 にバインドしても拒否されず、認証なしでサービスを提供します。バインドアドレスはホストまたはそのプロセスマネージャーが管理するため、そこで ESPN_MCP_AUTH_TOKEN を設定してください。

HTTP 経由で画像を提供するには、シェルまたは環境変数ファイルからトークンを渡し(固定値は使用しないでください)、クライアントが使用する公開ホスト名を指定します。

PUBLIC_HOST=mcp.example.com   # the host name clients use
export ESPN_MCP_AUTH_TOKEN="$(openssl rand -hex 32)"   # or keep it in an env file
docker run --rm -p 8000:8000 -e ESPN_MCP_AUTH_TOKEN \
  ghcr.io/christianclaudio/mcp-server-espn:latest \
  --transport streamable-http --host 0.0.0.0 --allowed-host "$PUBLIC_HOST"
# with an env file instead: docker run --rm -p 8000:8000 --env-file espn.env ...

📚 正式ドキュメントとライブドキュメント MCP

MCP サーバーの開発、堅牢化、拡張を行う際は、フレームワークとプロトコルの公式リファレンスを参照してください。

  • FastMCP 4 フレームワークリファレンス:https://gofastmcp.com/llms.txt — サーバーの構成(mount)、階層型ミドルウェア、変換(ToolTransform、ToolSearch)、ライフスパン、インメモリテストクライアント。
  • Model Context Protocol 仕様:https://modelcontextprotocol.io/llms.txt — 公式仕様(2026-07-28)、ワイヤーレベルの JSON-RPC スキーマ、アノテーション、トランスポートのフレーミング。
ライブドキュメント MCP エンドポイント(SSE / Streamable HTTP)

AI コーディングエージェントをライブドキュメントサーバーに直接接続できます。

  • FastMCP ドキュメントサーバー:https://gofastmcp.com/mcp(ツール:search_fast_mcp、query_docs_filesystem_fast_mcp、submit_feedback)
  • Anthropic MCP ドキュメントサーバー:https://modelcontextprotocol.io/mcp(ツール:search_model_context_protocol、query_docs_filesystem_model_context_protocol、submit_feedback)
{
  "mcpServers": {
    "fastmcp-docs": { "type": "sse", "url": "https://gofastmcp.com/mcp" },
    "mcp-official-docs": { "type": "sse", "url": "https://modelcontextprotocol.io/mcp" }
  }
}

🏆 検証と品質ゲート

# Run unit test suite (100% statement coverage enforced)
pytest

# Static type safety & formatting
mypy --strict src/
ruff check --fix .
ruff format .

# Tool contract, drift & protocol conformance audits
python scripts/check_tool_contract.py
python scripts/check_openapi_drift.py
./scripts/check_conformance.sh

📜 ライセンス

Apache-2.0 License の下で配布されています。

コメント

MCP は初めてですか?

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

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