mcpField
O
opengolfapi

opengolfapi

ローカル
opengolfapi.orgゲーム・エンタメ410 週間前に更新

opengolfapi について

opengolfapiは、ゴルフアプリやエージェントにコース、天気、スコア、トーナメントのデータを提供し、オープン標準へのデータ投稿も行えるMCPサーバーです。読み取りツールはキー不要で、投稿、ID、トーナメント機能には無料キーを使います。

主な機能

  1. 01コース検索とスコアカード表示
  2. 02天気、気候、周辺情報の取得
  3. 03ショットとセンサーイベントの記録
  4. 04OpenGolf IDとプロフィールの管理
  5. 05トーナメント作成とスコア記録

活用シーン

  1. 01近隣コースの検索と比較
  2. 02コース状況に基づくショット助言
  3. 03プレイヤーのショットやセンサーデータの収集
  4. 04大会運営と順位の追跡

MCP 対応

このMCPサーバーは、コース検索、天気、スコア、データ投稿、ID、トーナメントのツールをエージェントに公開します。読み取りはキー不要で、一部の書き込みにはAPIキーが必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"opengolfapi": {
"command": "npx",
"args": [
"-y",
"@opengolfapi/mcp-server"
],
"env": {
"OPENGOLFAPI_KEY": "<OPENGOLFAPI_KEY>"
}
}
}
}
起動コマンドnpx -y @opengolfapi/mcp-server
設定が必要な環境変数
OPENGOLFAPI_KEYシークレットFree key (courses.opengolfapi.org/api-keys). Optional — only for contributing/identity.

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

パッケージ
npm@opengolfapi/mcp-server3.5.1

ツール

56

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
latnumberいいえ半径検索に使用する緯度(lng と併用)
lngnumberいいえ経度(lat と併用)
limitnumberいいえ結果の最大数(デフォルトは 10)
querystringいいえ検索するコース名
statestringいいえ米国の 2 文字の州コード
radius_minumberいいえ半径(マイル単位、デフォルトは 25)

詳細

@opengolfapi/mcp-server

AI エージェントのためのゴルフ — ゴルフのオープンデータレイヤーです。 すべての米国のゴルフコース(16,845 件)のデータをアシスタントに無料で提供し、データへの貢献、プレーヤーのサインイン、トーナメントの運営も可能にします。プロンプトからゴルフアプリ全体を構築できます。

OpenGolfAPI はコミュニティが所有する共有資産です。無料のキーが 1 つあれば、エージェントは世界中のゴルフデータを読み取り、4 つのオープン標準に書き込めます。


標準規格(これがすべてです)

OpenGolfAPI はオープンで組み合わせ可能なプロトコルを基盤としています。1 つでもすべてでも実装できます。

標準規格内容用途
OpenShot発射モニターのショットを表す CC0 の形式です。すべてのデバイスが対応付けられる 1 つのスキーマです(Trackman、GSPro、Garmin、…)。どのモニター/シミュレーターからでもショットを取り込む → log_shot。
Momentsあらゆるセンサー信号(GPS の軌跡、スイング、パット、クラブ、スコア、ピン、コンディション、プレゼンス)を柔軟な単一のイベントとして取り込む、汎用イベントインジェストです。手元にある信号を送信する → submit_moment。
OpenJoin署名付きでスコープが設定され、有効期限付きの参加トークンです。1 つの QR コード/リンクから参加すると、全員が同じラウンド/トーナメントに集まり、グループとしてつながります。ワンタップで 4 人組やトーナメント全体の参加を受け付ける → create_tournament_invite / join_tournament。
OpenGolf ID持ち運び可能なゴルフ ID です — 「OpenGolf でサインイン」。すべてのアプリで共通の、仮名化された player_id を 1 つ使えます。ハンディキャップと履歴はプレーヤーにどこまでも付いていきます(エンジンは player_id ごとに統合するため、ID を取得したプレーヤーのアプリ横断の記録がそのまま存在します)。エコシステム全体で共有できる ID をプレーヤーに提供する → sign_in_with_opengolf。

重要な考え方: 貢献されたすべてのショット、モーメント、ラウンドが共有資産を改善し、誰にとっても有益になります。これこそが真の双方向データレイヤーです。読み取りは無料です。貢献することで、標準規格の一員になれます。


エージェントが利用できること

  • 読み取り(無料、キー不要): コースの検索と比較 · スコアカード全体(パー/ハンディキャップ/ヤード数) · ハザード · リアルタイムの天気と気候 · 近隣の場所 · ティーショットのアドバイス。
  • 貢献(無料キーが必要): log_shot、submit_moment → オープン標準規格に書き込み · get_my_shots → 自分のデータを読み戻す。
  • ID とトーナメント(無料キーが必要): sign_in_with_opengolf(持ち運び可能な ID) · create_tournament_invite + join_tournament(イベントを運営 — ハンディキャップは任意、グロスまたはネット)。

優れたゴルフアプリは、1 年ではなく午後 1 日で作れます。

インストール(MCP クライアントの設定)

{
  "mcpServers": {
    "opengolfapi": {
      "command": "npx",
      "args": ["-y", "@opengolfapi/mcp-server"],
      "env": {
        "OPENGOLFAPI_KEY": "<free, optional — enables contributing, identity & tournaments>"
      }
    }
  }
}

https://courses.opengolfapi.org/api-keys で無料の OPENGOLFAPI_KEY を取得してください。読み取りツールはキーなしで動作します。

Claude Desktop: 設定ファイルは claude_desktop_config.json です(Settings → Developer → Edit Config)。Claude Code: claude mcp add opengolfapi -- npx -y @opengolfapi/mcp-server。キーなしで使う場合: env ブロック全体を削除してください。読み取りツールはすべてキーなしで動作します(プレースホルダーをキーとして貼り付けないでください)。

最初に試すプロンプト: 「シカゴ近郊のゴルフコースを探して、最も難しいコースを教えてください。」

使用するスコアツール: 気軽な 1 回のスコア記録 → score_round · リーグ/トーナメント(スコアが時間をかけて届き、順位表が重要) → create_competition → record_attempt → finalize_competition · ストリーミングデバイス/ライブアプリ → submit_moment。正規のドメインモデル:https://api.opengolfapi.org/api/v1/model

ツール

56 個のツール:

  • search_courses — 名前、米国の州、または位置情報(緯度/経度+半径)で米国のゴルフコースを検索します。一致するコースの位置、タイプ、パーを返します。無料、ODbL データです。
  • get_course — ID を指定してコースの詳細情報を取得します。各ホールのパーとハンディキャップを含むスコアカード、ティー、位置情報、連絡先、近隣情報が含まれます。無料です。
  • get_tees — コースのすべてのティーセットについて、レーティング、スロープ、ヤーデージを取得します。無料です。
  • get_weather — コースの位置情報に基づく最新の天気予報を取得します(Weather.gov)。無料です。
  • get_climate — コースの月別平年値と、プレーに最適な月を取得します。無料です。
  • get_nearby — コース周辺のホテル、レストラン、その他のコースを取得します。無料です。
  • log_shot — オープンな OpenShot 標準にゴルフショットを投稿します(あらゆるローンチモニターに対応)。キーが必要です。単位:速度は mph、角度は deg、スピンは rpm、距離は yds です。
  • submit_moment — あらゆるセンサー、ウェアラブル、スマートフォンから Open Connect イベントを投稿します。センサーのあらゆるデータがここを経由します。タイプ固有のデータは payload に格納します。キーが必要です。
  • get_my_shots — プレーヤーまたはセッションを指定して、自分が投稿したショットを読み取ります。キーが必要です。
  • get_my_moments — プレーヤー、セッション、またはタイプを指定して、自分が投稿したモーメント(軌跡、スイング、パット、コンディションなど)を読み取ります。キーが必要です。
  • propose_correction — コースの FACT フィールド(phone、website、address、architect、year_built、course_name、city、postal_code、course_type)の修正を提案します。AI が内容を審査します(承認/却下/追加情報が必要)。キーが必要です。ここではジオメトリを修正できません。
  • respond_to_review — needs_info として戻された修正に返信します。情報源や説明を追加し、再審査に回します。キーが必要です。
  • get_correction — 提案した修正のステータス/判定(approved | rejected | needs_info | applied)を確認します。キーが必要です。
  • how_to_build — OpenGolfAPI を利用して開発し、適切な方法でデータを投稿するための安全な手引きです。データを投稿する前に一度呼び出してください。
  • get_passport — 無料(公開、キー不要)。あらゆるゴルファーの共有可能な記録(表示名、OpenGolf Member #、プレーしたコース、ラウンド数、トロフィー、紹介数)を取得します。アプリでプレーヤーのゴルフ経歴を表示できます。
  • record_referral — あるユーザーが別のユーザーを紹介したことを記録します(REFERRED_BY エッジ)。共有グラフ上に、アプリ固有の名前空間で自分のアプリの招待ループを構築できます。キーが必要です。
  • get_referrals — ユーザーが紹介したゴルファーの人数(および一覧)を取得します。アプリのバイラルループ指標です。キーが必要です。
  • about — OpenGolfAPI の概要と、この MCP サーバーの使い方を説明します。
  • request_sign_in_code — ユーザーの「Sign in with OpenGolf」を開始し、6 桁のコードをメールで送信します。API キーは不要です。ユーザーからコードを受け取ったら、complete_sign_in を呼び出してください。
  • complete_sign_in — サインインを完了し、6 桁のコードを OpenGolf ID とアクセストークンに交換します(本人として操作するには X-OpenGolf-Token として使用します)。別のプレーヤーの招待で参加した場合は ref= を渡すと、紹介が記録されます。
  • create_dev_key — OpenGolf ID に紐付いた開発者 API キーを発行します(先に request_sign_in_code → complete_sign_in でサインインしてください)。キーは一度だけ返されます。ファーストパーティの仕組みのため、OpenGolf ID がなければキーも発行されません。
  • sign_in_with_opengolf — ユーザーのメールアドレスから OpenGolf ID を決定論的に導出します(sub = ogid_ + sha256(lower(trim(email)))[:16])。リダイレクト不要で、1 行で実行できます。検証済みのセッショントークンを取得するには request_sign_in_code → complete_sign_in を使用してください。
  • register_webhook — ドメインイベントを受信する https URL を登録します(HMAC 署名付き配信、所有者のスコープに限定)。キーが必要です(Authorization: Bearer ogapi_…)。
  • create_tournament_invite — 共有可能な招待(QR/リンク)を作成します。招待を引き換えた人は全員、同じイベント/セッションに参加します。max_uses で人数を制限します(フォーサムなら 4)。キーが必要です。
  • join_tournament — 招待トークンを引き換え、プレーヤーをグループ/イベントに参加させます。キーが必要です。
  • list_game_formats — OpenMatch のすべてのスコア形式を取得します。GROSS スコアは無料で、キーも不要です。
  • score_round — あらゆる形式でラウンドをスコアリングします。GROSS、無料、キー不要です。players:[{player_id,holes:{"1":4}}] または entries:[{player_id,hole,value}]、holes:[{hole,par,stroke_index?}] を指定します。
  • plays_like — 実効距離を取得します。標準となる「プレー距離」(風/標高/気温/高度)で、各要因が個別に表示されます。無料、キー不要です。最新の風情報には get_conditions を併用してください。
  • get_conditions — コースの最新の天気(気温/風/降水量、予報モデル、15 分キャッシュ)を取得します。無料です。plays_like に情報を提供します。
  • link_dev_key — 既存のキーで OpenGolf ID を確認します。先にサインインし、access_token とキーを渡してください。
  • list_dev_keys — OpenGolf ID が所有するキーを一覧表示します(プレフィックスのみ)。complete_sign_in で取得した access_token が必要です。
  • get_profile — プレーヤーの公開 OpenGolf ID カード(名前、アバター、リンク、設定)を取得します。無料です。
  • update_profile — プレーヤーが自己申告したプロフィール項目を編集します(導出された事実は設定できません)。キーが必要です(登録済みプレーヤーには、そのプレーヤーの許可が必要です)。
  • get_awards — プレーヤーの OpenAwards(導出されたトロフィーとコースパスポート)を取得します。キーが必要です。
  • set_beacon — 同意を得た、有効期限付きのプレゼンス/利用可能状況ビーコン(present|available|open)を発信します。キーが必要です。
  • find_beacons — アクティブな公開ビーコンを検出します(グループ検索/マッチング)。キーが必要です。
  • record_consent — プレーヤーの同意許可を記録します(監査可能、取り消し可能)。キーが必要です。
  • create_competition — 任意の OpenMatch 形式でコンペティションを作成します。キーが必要です。
  • list_competitions — コンペティションを一覧表示します(無料)。組織/コース/ステータスで絞り込めます。
  • get_competition — コンペティションと、リアルタイムのグロス順位を取得します(無料)。
  • record_attempt — アテンプト(スコアまたはサイドゲームの値)を記録します。冪等です。キーが必要です。
  • finalize_competition — コンペティションを確定し、カーネルを実行してグロス結果を保存します。キーが必要です。
  • broadcast_feed — OpenBroadcast P1 — セッション向けの単一の型付きフィードです。配信に適した項目(スコア/サイドゲーム/金銭/賞/コンディション)を(recorded_at, seq)の昇順で返し、それぞれにテンプレートによるナレーション(headline<=60/ticker<=80)が付きます。金銭情報は決済済みの記録を通じてのみ表示されます。moments+results+live_state の継ぎ合わせに代わる機能です。キーとセッションへのアクセス(参加者または計算権限)が必要です。
  • get_handicap — OpenIndex(ベータ版)— 実際に記録され、当時にスコアが刻印されたラウンド(誰でも検証可能)から算出した、プレーヤーの推定ハンディキャップです。公式ではありませんが、検証可能です。自分自身の情報は自分のキーで無料で読み取れます。player_id は ogid_… 形式で指定してください。
  • get_showcase — プレーヤーの公開ショーケース(OpenGolf ID 上のコレクティブル/記録、og.* 名前空間+course.*)を取得します。無料、キー不要です。相手の ogid_ を渡してください。削除済み(取り消し/期限切れ)の記録は表示されません。検証可能なトロフィーウォールです。
  • verify_record — OpenGolf Chain(署名付き、ハッシュ連鎖型、Bitcoin アンカー付きの透明性ログ)に対して、記録/コレクティブルを検証します。ハッシュ、照合結果、クライアント側で再計算するための手順(正規化された記録の sha256)、およびアンカーを返します。さらに、キー不要で次の検証も実行できます。メルクル包含証明(GET /chain/anchors/:id/inclusion?hash=)を取得し、/.well-known/jwks.json に対してチェックポイントの RS256 署名を検証し、Bitcoin(OpenTimestamps)アンカーを解決します。無料です。誰も信頼せず、自分でハッシュを再計算し、包含を確認し、Bitcoin アンカーを解決してください。
  • list_webhooks — アクティブな Webhook サブスクリプションを一覧表示します。キーが必要です。
  • remove_webhook — ID を指定して Webhook サブスクリプションを無効化します(監査行は保持されます)。キーが必要です。
  • list_orgs — 検証済み組織の公開ディレクトリを取得します(無料)。
  • mint_asset — Asset(トロフィー/バッジ/スタンプ/クーポン/メンバーシップ)を所有者のトロフィーケースとチェーンに発行します。キーが必要です。
  • file_claim — 信頼台帳に Claim(所有権/証明/本人確認/記録/修正)を登録します。キーが必要です。
  • list_claims — Claim を一覧表示します(無料)。申立人/対象/ステータスで絞り込めます。
  • post_beta — ホールに関する現地のコース情報(「ベータ」)を投稿します。AI キャディーの糧となります。キーが必要です。
  • get_beta — コース/ホールに関する現地のコース情報を取得します(無料)。
  • get_my_chain — 改ざん検知可能な自分自身の OpenGolf Chain とチェックポイントをエクスポートします。キーが必要です(自分のデータの読み取りは無料)。
  • verify_chain — Chain のエクスポートを検証するか、公開透明性ログ(GET /chain/log?subject=)をたどります。公開、キー不要です。ハッシュ連鎖を再計算し、JWKS に対して各 RS256 チェックポイント署名を検証し、Bitcoin アンカーを解決して、改ざんの有無と箇所を報告します。全履歴(レジストリ、コース別、マスター)を独立して監査できます。誰も信頼しないでください。

より大きなエコシステム — 2つの入り口

エージェントはこの MCP を経由し、センサー/デバイスは OpenGolf Connect を経由します(あらゆるローンチモニター(R10、MLM2PRO、Uneekor、SkyTrak、Foresight)からショットを POST /v1/shots にストリーミングする、1つのオープンコネクターです)。どちらも同じオープンな共有基盤に書き込みます。→ https://opengolfapi.org/connect

詳細はこちら

MIT ライセンスです。コースデータは ODbL です。ショットデータは CC0 です。

帰属表示(データを表示または再配布する場合は必須です): コースデータ © OpenStreetMap contributors (ODbL 1.0)、OpenGolfAPI 経由 · 気象データ提供:Open-Meteo.com(CC BY 4.0)· 説明文は Wikipedia(CC BY-SA 4.0)より · 連絡先とソーシャル情報は Foursquare / Overture(Apache 2.0)より。 全リスト:https://opengolfapi.org/attribution

コメント

MCP は初めてですか?

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

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