outdooriq-mcp について
outdooriq-mcpは、釣りやアウトドア旅行のサービス向けに、湖、放流記録、釣りスコア、天気データを提供する有料MCPサーバーです。認証付きエンドポイントを備え、Postgresが利用できない場合はSQLiteの代替データを使います。
主な機能
- 01場所や面積で湖を検索
- 02湖の詳細と魚種を取得
- 03放流記録と予定を検索
- 040〜100の釣りスコアを算出
- 05湖の現在と7日間の天気を取得
- 06自然言語の釣りレポートを生成
活用シーン
- 01旅行先近くの高スコアの湖を探す
- 02最近の放流に合わせて訪問を計画
- 03アウトドアアプリに釣りレポートを追加
MCP 対応
`/mcp`のHTTP JSON-RPCを通じ、APIキー認証付きで10個のツールをMCPクライアントに提供します。湖の検索・詳細、放流データ、スコア、天気、レポートを扱います。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.castiq.net/mcpclaude mcp add --transport http bch1212-outdooriq https://mcp.castiq.net/mcp{"mcpServers":{"bch1212-outdooriq":{"type":"http","url":"https://mcp.castiq.net/mcp"}}}Cursor で開く{"servers":{"bch1212-outdooriq":{"type":"http","url":"https://mcp.castiq.net/mcp"}}}VS Code で開く{"mcpServers":{"bch1212-outdooriq":{"type":"http","url":"https://mcp.castiq.net/mcp"}}}{"mcpServers":{"bch1212-outdooriq":{"serverUrl":"https://mcp.castiq.net/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.castiq.net/mcp認証が必要ツール
詳細
OutdoorIQ MCP — アウトドアレクリエーションのインテリジェンス
米国12州の72,000以上の湖と293,000以上の放流記録を活用しています。
OutdoorIQ MCPは、湖の状況、魚の放流記録、釣りやすさのスコア、リアルタイムの天気をAIエージェントに提供する有料のMCP サーバーです。CastIQデータセット(fishing-seo.pages.devとCastIQカタログAPIを支えるものと同じデータ)を基盤としています。
旅行計画アシスタント、釣りアプリ、旅行コンシェルジュ、あるいは湖のおすすめや最近の放流に合わせた訪問時期の提案、必要に応じた釣りレポートの取得が必要なアウトドアブランドのエージェントを構築するなら、接続するデータレイヤーがこれです。
コンシューマー向けAI製品では、OutdoorIQを使えば、10のソースからなるETLを認証済みの単一MCPエンドポイントに置き換えられます。また、料金は予測しやすいため、週末にトラフィックが急増してS3の請求額に驚くこともありません。
料金
| プラン | 料金 | 制限 |
|---|---|---|
| 無料 | $0 | outdooriq-dev-key-001、1日あたり50回の呼び出し |
| Pro | $14/mo | 無制限 |
| 従量課金 | $0.01/call | 月額最低料金なし |
掲載・購入はこちら:https://mcpize.com/outdooriq-mcp
Claudeへのインストール
ライブURL: https://mcp.castiq.net/mcp(Railwayのフォールバック:https://web-production-9b8950.up.railway.app/mcp)
最も手早い方法は、stdio→HTTPブリッジとしてmcp-remoteを使うことです。
claude mcp add outdooriq-mcp -- npx -y mcp-remote \
https://mcp.castiq.net/mcp \
--header "X-API-Key:outdooriq-dev-key-001"
または、手動で設定します。
{
"mcpServers": {
"outdooriq-mcp": {
"url": "https://mcp.castiq.net/mcp",
"headers": { "X-API-Key": "outdooriq-dev-key-001" }
}
}
}
Anthropic MCP Registryのエントリー: io.github.bch1212/outdooriq-mcp —
https://registry.modelcontextprotocol.ioに掲載されています。
エージェントへのプロンプト例:
「今週末、シカゴ近郊でおすすめのマス釣り湖を5つ探してください。」
エージェントはget_nearby_lakes(シカゴの緯度・経度、半径200mi)を呼び出し、get_top_lakesでspecies: troutに絞り込んだ後、最有力候補についてget_fishing_report_summaryを取得します。
ツールリファレンス
| ツール | 引数 | 戻り値 |
|---|---|---|
search_lakes | name?, state?, county?, min_acres?, max_acres?, limit? | 条件に一致する湖の一覧 |
get_lake_details | lake_id | 座標、面積、深さ、魚種、設備 |
get_stocking_data | lake_id?, species?, year?, limit? | 最近の放流記録 |
get_fishing_score | lake_id | バケット別の内訳付きスコア(0~100) |
get_nearby_lakes | lat, lng, radius_miles?, min_score?, limit? | GPS位置付近の湖をスコア順に表示 |
get_weather_for_lake | lake_id | 現在の天気と7日間の予報(Open-Meteo) |
get_top_lakes | state?, species?, limit? | スコアが最も高い湖 |
get_stocking_schedule | state?, species?, month?, limit? | 計画の参考にできる、条件に一致する最新の放流記録 |
search_species | state?, season? | 現在放流されている魚種 |
get_fishing_report_summary | lake_id | 自然言語によるレポート |
アーキテクチャ
client (Claude / agent)
│ HTTP POST /mcp (JSON-RPC 2.0)
▼
FastAPI app (server.py)
│ X-API-Key auth + per-day rate limiter
▼
Tool registry (10 tools)
│
▼
db.connection.py ──────┐
│ Postgres mode │ → CastIQ Postgres (72k lakes, 293k stockings)
│ SQLite fallback│ → bundled seed (100+ lakes, ~150 stockings)
▼
tools.* (lakes, stocking, scoring, weather, reports)
│
▼
Open-Meteo (no key)
Postgres モードと SQLite モード
サーバーは起動時にバックエンドを選択します。
DATABASE_URLが設定されている場合、asyncpg.create_poolを試します。成功すると →[OutdoorIQ] Running in Postgres modeとログに出力します。- プールの作成に失敗した場合(タイムアウト、認証情報の誤り、DB の停止)、または
DATABASE_URLが 設定されていない場合、サーバーは100以上の実在する湖を含む SQLite DB をメモリ内にシードし、[OutdoorIQ] Running in SQLite fallback modeとログに出力します。
Postgres が利用できるかどうかにかかわらず、サーバーは必ず起動します。
| 機能 | Postgres モード | SQLite フォールバック |
|---|---|---|
| 湖のカタログ | 72,669(12州) | 約106(WI、MN、IL、IA、MO) |
| 放流イベント | 過去のイベント293,821件 | テンプレート化され、直近の状況に合わせた約150件 |
| 魚種の対応範囲 | CastIQ の全州・全魚種 | 厳選した魚種(walleye、bass、musky、trout、crappie、perch、pike、panfish、salmon、lake_trout、sauger、white_bass、sturgeon、catfish、bluegill、smallmouth_bass) |
| 年ごとの分析 | はい — 複数年にわたる放流データ | 制限あり — イベントは「現在」を基準に設定 |
| 放流スケジュールツール | 実際の過去のパターン | シードデータに基づく概算 |
| 天気、スコアリング、レポート | 同一 | 同一 |
ローカル開発
git clone <this repo>
cd mcp-outdoors
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Run with SQLite fallback (no DATABASE_URL needed)
python -m run
# OR run against the CastIQ Postgres
export DATABASE_URL=postgresql://vikinetic:vikinetic_dev@localhost:5444/vikinetic
python -m run
次に:
curl -s http://localhost:8080/health
curl -s -X POST http://localhost:8080/mcp \
-H "X-API-Key: outdooriq-dev-key-001" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
テスト
pytest -v
テストスイートでは、SQLite フォールバック経路と Postgres ディスパッチ経路(モックした asyncpg プールを使用)に加え、認証、レート制限、10個すべてのツール、JSON-RPC の初期化/一覧表示/呼び出し、スコアリングアルゴリズムのバケット計算をテストします。
Railway へのデプロイ
リポジトリのルートに deploy.sh スクリプトが含まれています。Mac で実行してください(Cowork サンドボックスからは Railway/Stripe/Cloudflare API に接続できません)。
./deploy.sh
RAILWAY_API_TOKEN(または RAILWAY_TOKEN を RAILWAY_API_TOKEN としてエクスポートしたもの)を想定し、プロジェクトで nixpacks.toml を指定します。また、Railway 上で CastIQ Postgres もプロビジョニングしている場合は、DATABASE_URL 環境変数を設定します。
Railway に関する注意点(対応済み): Railway の exec では
startCommandがシェルを介さないため、$PORTは展開されません。python -m runを使用し、run.py内でos.environからPORTを読み取ります。
MCPize 掲載文
OutdoorIQ MCP — アウトドアレクリエーション向け AI エージェントのデータレイヤーです。 米国の湖72,000か所以上、 魚の放流イベント293,000件以上、リアルタイムの天気情報を、認証済みの単一エンドポイントから利用できます。 名前、州、または面積で湖を検索し、魚種と月で絞り込んだ放流履歴を取得できます。直近の状況、魚種の多様性、湖の 規模、現在の状況を考慮した、0〜100の釣りやすさスコアを算出します。単一の JSON-RPC 呼び出しで、複数ソースに またがる ETL を置き換えます。
釣りアプリ、旅行計画アシスタント、旅行コンシェルジュ、アウトドアブランドのエージェント向けに構築されています。 無制限に利用できる Pro は月額 $14、または1回の呼び出しにつき $0.01 です。無料の開発者向けプラン(1日50回の呼び出し)を 利用すれば、料金を支払う前にプロトタイプを公開できます。
claude mcp add outdooriq-mcp --url https://mcp.castiq.net/mcpでインストールできます。
ライセンス
MIT。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。