Outdooriq Mcp

io.github.bch1212v0.1.0更新於 Oct 8, 2026

Paid MCP for fishing/lake/stocking intelligence — 72k+ US lakes, 293k+ events.

已驗證Streamable HTTP可網頁執行Location & LifestyleData & Analytics

概覽

AI 產生的概覽

遠端 MCP 伺服器,讓助理取得美國湖泊、魚類放養、釣魚評分與天氣資料,用於戶外行程規劃。

功能
透過遠端 HTTP 端點提供十個工具:search_lakes、get_lake_details、get_stocking_data、get_fishing_score、get_nearby_lakes、get_weather_for_lake、get_top_lakes、get_stocking_schedule、search_species 與 get_fishing_report_summary。可回傳湖泊座標、面積、深度、魚種與設施、歷史放養紀錄、0-100 的釣魚適宜度評分,以及目前與未來 7 天天氣。資料來自 CastIQ 資料集,完整資料庫無法使用時會退回約 106 個湖泊的內建 SQLite 資料。
適用情境
適合行程規劃助理、釣魚應用程式、旅遊禮賓或戶外品牌代理,用來推薦湖泊、依近期放養事件安排時間,或隨需產生釣魚報告。可省去自行整合多個資料來源的工作。
執行需求
遠端 streamable HTTP 端點,不需要本機執行環境或套件。需要 X-API-Key 標頭。免費開發金鑰每天 50 次呼叫;Pro 為每月 14 美元,隨用隨付為每次呼叫 0.01 美元。需要能連線至該端點的網路。
安裝前請注意
超過免費額度後為付費服務,使用可能產生費用。X-API-Key 標頭屬於機密,須由用戶端提供。天氣資料來自 Open-Meteo。README 說明伺服器一律會啟動,完整資料庫無法使用時會退回規模小得多的 SQLite 資料集,因此結果可能受限。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Outdooriq Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "outdooriq-mcp": {
      "type": "http",
      "url": "https://mcp.castiq.net/mcp"
    }
  }
}

README

OutdoorIQ MCP — Outdoor Recreation Intelligence

Powered by 72,000+ US lakes and 293,000+ stocking events across 12 states.

OutdoorIQ MCP is a paid MCP server that exposes lake conditions, fish-stocking records, fishing-favorability scoring, and live weather to AI agents. It is built on the CastIQ dataset (the same data that powers fishing-seo.pages.dev and the CastIQ catalog APIs).

If you're building a trip-planning assistant, a fishing app, a travel concierge, or an outdoor-brand agent that needs to recommend lakes, time visits to recent stocking events, or pull a fishing report on demand, this is the data layer you wire up.

For consumer-facing AI products, OutdoorIQ replaces a ten-source ETL with one authenticated MCP endpoint — and bills predictably so you don't get a surprise S3 invoice the first weekend traffic spikes.


Pricing

TierPriceLimits
Free$0outdooriq-dev-key-001, 50 calls/day
Pro$14/moUnlimited
Pay-as-you-go$0.01/callNo monthly minimum

Listing & checkout: https://mcpize.com/outdooriq-mcp


Install in Claude

Live URL: https://mcp.castiq.net/mcp (Railway fallback: https://web-production-9b8950.up.railway.app/mcp)

The fastest path uses mcp-remote as a stdio→HTTP bridge:

bash
claude mcp add outdooriq-mcp -- npx -y mcp-remote \  https://mcp.castiq.net/mcp \  --header "X-API-Key:outdooriq-dev-key-001"

Or configure manually:

json
{  "mcpServers": {    "outdooriq-mcp": {      "url": "https://mcp.castiq.net/mcp",      "headers": { "X-API-Key": "outdooriq-dev-key-001" }    }  }}

Anthropic MCP Registry entry: io.github.bch1212/outdooriq-mcp — listed at https://registry.modelcontextprotocol.io.

Example agent prompt:

"Find top 5 trout lakes near Chicago for this weekend."

The agent calls get_nearby_lakes (lat/lng of Chicago, radius 200mi), filters for species: trout via get_top_lakes, then pulls get_fishing_report_summary for the top match.


Tool Reference

ToolArgsReturns
search_lakesname?, state?, county?, min_acres?, max_acres?, limit?List of matching lakes
get_lake_detailslake_idCoords, acreage, depth, species, facilities
get_stocking_datalake_id?, species?, year?, limit?Recent stocking events
get_fishing_scorelake_id0-100 score with bucket breakdown
get_nearby_lakeslat, lng, radius_miles?, min_score?, limit?Lakes near GPS, sorted by score
get_weather_for_lakelake_idCurrent + 7-day forecast (Open-Meteo)
get_top_lakesstate?, species?, limit?Highest-scoring lakes
get_stocking_schedulestate?, species?, month?, limit?Most-recent matching events as a planning prior
search_speciesstate?, season?Actively-stocked species
get_fishing_report_summarylake_idNatural-language report

Architecture

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 vs SQLite mode

The server picks a backend at startup:

  1. If DATABASE_URL is set, it tries asyncpg.create_pool. On success → logs [OutdoorIQ] Running in Postgres mode.
  2. If the pool fails (timeout, bad creds, DB down) or DATABASE_URL is unset, the server seeds an in-memory SQLite DB with 100+ real lakes and logs [OutdoorIQ] Running in SQLite fallback mode.

The server always starts, regardless of Postgres availability.

CapabilityPostgres modeSQLite fallback
Lake catalog72,669 (12 states)~106 (WI, MN, IL, IA, MO)
Stocking events293,821 historical~150 templated, recency-tuned
Species coverageAll states/species in CastIQCurated subset (walleye, bass, musky, trout, crappie, perch, pike, panfish, salmon, lake_trout, sauger, white_bass, sturgeon, catfish, bluegill, smallmouth_bass)
Year-over-year analysisYes — multi-year stockingsLimited — events are anchored relative to "now"
Stocking-schedule toolReal historical patternsApproximated from seed
Weather, scoring, reportsIdenticalIdentical

Local development

bash
git clone <this repo>cd mcp-outdoorspython3 -m venv .venv && source .venv/bin/activatepip install -r requirements.txt
# Run with SQLite fallback (no DATABASE_URL needed)python -m run
# OR run against the CastIQ Postgresexport DATABASE_URL=postgresql://vikinetic:vikinetic_dev@localhost:5444/vikineticpython -m run

Then:

bash
curl -s http://localhost:8080/healthcurl -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"}'

Tests

bash
pytest -v

The test suite covers both the SQLite fallback path and the Postgres dispatch path (via a mocked asyncpg pool), plus auth, rate limits, all 10 tools, JSON-RPC initialize / list / call, and the scoring algorithm's bucket math.


Deploy to Railway

A deploy.sh script is included at the repo root. Run it on your Mac (the Cowork sandbox can't reach Railway/Stripe/Cloudflare APIs):

bash
./deploy.sh

It expects RAILWAY_API_TOKEN (or RAILWAY_TOKEN exported as RAILWAY_API_TOKEN), points the project at nixpacks.toml, and sets the DATABASE_URL env var if you've also provisioned the CastIQ Postgres on Railway.

Railway gotcha (already handled): Railway exec's startCommand without a shell, so $PORT doesn't expand. We use python -m run and read PORT from os.environ inside run.py.


MCPize listing copy

OutdoorIQ MCP — the data layer for outdoor-rec AI agents. 72,000+ US lakes, 293,000+ fish-stocking events, and live weather behind one authenticated endpoint. Search lakes by name, state, or acreage; pull stocking history filtered by species and month; compute a 0-100 fishing-favorability score that bakes in recency, species diversity, lake size, and current conditions. One JSON-RPC call replaces a multi-source ETL.

Built for fishing apps, trip-planning assistants, travel concierges, and outdoor-brand agents. $14/mo Pro for unlimited use, or pay $0.01 per call. Free dev tier (50 calls/day) lets you ship a prototype before opening your wallet. Install with claude mcp add outdooriq-mcp --url https://mcp.castiq.net/mcp.


License

MIT. See LICENSE.

來源:README.md,提交 2cc3026

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026