opengolfapi について
opengolfapiは、ゴルフアプリやエージェントにコース、天気、スコア、トーナメントのデータを提供し、オープン標準へのデータ投稿も行えるMCPサーバーです。読み取りツールはキー不要で、投稿、ID、トーナメント機能には無料キーを使います。
主な機能
- 01コース検索とスコアカード表示
- 02天気、気候、周辺情報の取得
- 03ショットとセンサーイベントの記録
- 04OpenGolf IDとプロフィールの管理
- 05トーナメント作成とスコア記録
活用シーン
- 01近隣コースの検索と比較
- 02コース状況に基づくショット助言
- 03プレイヤーのショットやセンサーデータの収集
- 04大会運営と順位の追跡
MCP 対応
このMCPサーバーは、コース検索、天気、スコア、データ投稿、ID、トーナメントのツールをエージェントに公開します。読み取りはキー不要で、一部の書き込みにはAPIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
56掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| lat | number | いいえ | 半径検索に使用する緯度(lng と併用) |
| lng | number | いいえ | 経度(lat と併用) |
| limit | number | いいえ | 結果の最大数(デフォルトは 10) |
| query | string | いいえ | 検索するコース名 |
| state | string | いいえ | 米国の 2 文字の州コード |
| radius_mi | number | いいえ | 半径(マイル単位、デフォルトは 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
詳細はこちら
- AI コーディングエージェント向け完全ガイド: https://api.opengolfapi.org/llms-full.txt
- マシン仕様(OpenAPI 3.1):https://api.opengolfapi.org/openapi.json
- OpenShot フィールドカタログ:https://api.opengolfapi.org/api/v1/openshot/fields
- Moments フィールドカタログ:https://api.opengolfapi.org/api/v1/moments/fields
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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。