Paid MCP for fishing/lake/stocking intelligence β 72k+ US lakes, 293k+ events.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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.
| Tier | Price | Limits |
|---|---|---|
| Free | $0 | outdooriq-dev-key-001, 50 calls/day |
| Pro | $14/mo | Unlimited |
| Pay-as-you-go | $0.01/call | No monthly minimum |
Listing & checkout: https://mcpize.com/outdooriq-mcp
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:
Or configure manually:
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 | Args | Returns |
|---|---|---|
search_lakes | name?, state?, county?, min_acres?, max_acres?, limit? | List of matching lakes |
get_lake_details | lake_id | Coords, acreage, depth, species, facilities |
get_stocking_data | lake_id?, species?, year?, limit? | Recent stocking events |
get_fishing_score | lake_id | 0-100 score with bucket breakdown |
get_nearby_lakes | lat, lng, radius_miles?, min_score?, limit? | Lakes near GPS, sorted by score |
get_weather_for_lake | lake_id | Current + 7-day forecast (Open-Meteo) |
get_top_lakes | state?, species?, limit? | Highest-scoring lakes |
get_stocking_schedule | state?, species?, month?, limit? | Most-recent matching events as a planning prior |
search_species | state?, season? | Actively-stocked species |
get_fishing_report_summary | lake_id | Natural-language report |
The server picks a backend at startup:
DATABASE_URL is set, it tries asyncpg.create_pool. On success β
logs [OutdoorIQ] Running in Postgres mode.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.
| Capability | Postgres mode | SQLite fallback |
|---|---|---|
| Lake catalog | 72,669 (12 states) | ~106 (WI, MN, IL, IA, MO) |
| Stocking events | 293,821 historical | ~150 templated, recency-tuned |
| Species coverage | All states/species in CastIQ | Curated subset (walleye, bass, musky, trout, crappie, perch, pike, panfish, salmon, lake_trout, sauger, white_bass, sturgeon, catfish, bluegill, smallmouth_bass) |
| Year-over-year analysis | Yes β multi-year stockings | Limited β events are anchored relative to "now" |
| Stocking-schedule tool | Real historical patterns | Approximated from seed |
| Weather, scoring, reports | Identical | Identical |
Then:
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.
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):
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
startCommandwithout a shell, so$PORTdoesn't expand. We usepython -m runand readPORTfromos.environinsiderun.py.
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-outdoors.up.railway.app/mcp.
MIT. See LICENSE.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/outdooriq-mcp)<a href="https://allmcps.com/mcp/outdooriq-mcp"><img src="https://allmcps.com/api/badge/outdooriq-mcp?style=directory" alt="Outdooriq MCP on AllMCPs" /></a>