outdooriq-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@outdooriq-mcpFind top 5 trout lakes near Chicago for this weekend."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Tier | Price | Limits |
Free | $0 |
|
Pro | $14/mo | Unlimited |
Pay-as-you-go | $0.01/call | No monthly minimum |
Listing & checkout: https://mcpize.com/outdooriq-mcp
Related MCP server: Weather MCP Server
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:
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:
{
"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
Tool | Args | Returns |
|
| List of matching lakes |
|
| Coords, acreage, depth, species, facilities |
|
| Recent stocking events |
|
| 0-100 score with bucket breakdown |
|
| Lakes near GPS, sorted by score |
|
| Current + 7-day forecast (Open-Meteo) |
|
| Highest-scoring lakes |
|
| Most-recent matching events as a planning prior |
|
| Actively-stocked species |
|
| Natural-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:
If
DATABASE_URLis set, it triesasyncpg.create_pool. On success → logs[OutdoorIQ] Running in Postgres mode.If the pool fails (timeout, bad creds, DB down) or
DATABASE_URLis 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 |
Local development
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 runThen:
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"}'Tests
pytest -vThe 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):
./deploy.shIt 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.
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-outdoors.up.railway.app/mcp.
License
MIT. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceQuery 20 structured datasets from AI agents — healthcare providers (9M NPI records), SEC EDGAR filings, PACER federal courts, USPTO patents and trademarks, OFAC sanctions screening, crypto whale wallets, DeFi liquidation signals, Polymarket smart money, economic indicators (FRED/BLS), federal contracts, NOAA weather, and OTC shell risk scoring. Pay per query, no subscriptionsLast updated751MIT
- Alicense-qualityDmaintenanceGlobal weather intelligence for AI assistants providing 10 weather tools — forecasts, historical data, air quality, marine, geocoding, elevation, and climate projections at 1km resolution with 80+ years of archive.Last updated1MIT
- Alicense-qualityAmaintenanceProvides weather and climate intelligence for AI agents, including current conditions, forecasts, historical data, severe-weather alerts, agricultural outlook, and travel conditions via free and paid tools.Last updatedMIT
- Alicense-qualityBmaintenanceProvides live data API for AI agents with 51 REST endpoints across finance, travel, weather, news, and more, using USDC micropayments without API keys.Last updated187MIT
Related MCP Connectors
US public-records intelligence for AI agents — companies, SEC, courts, spending, licenses.
Live space data for AI agents - rocket launches, ISS passes, launch news. Free, no auth.
Local business intel for AI agents: audits, lead scoring, tech stack, prospecting.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bch1212/outdooriq-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server