recreation
An MCP server in Go that enables LLMs to discover and learn about recreation opportunities
claude mcp add --transport stdio adhocteam-recreation-mcp-server go run . \ --env NPS_API_KEY="your-nps-api-key" \ --env RIDB_API_KEY="your-ridb-api-key" \ --env OPENWEATHER_API_KEY="your-openweather-api-key"
How to use
This MCP server is implemented in Go and aggregates three public APIs (National Park Service, Recreation.gov RIDB, and OpenWeatherMap) to provide a unified set of tools for discovering and planning recreation opportunities. It exposes nine tools that allow you to search parks, fetch park details and alerts, locate campgrounds and recreation areas, retrieve facility details, and obtain current weather and forecasts. You can access these tools through the MCP interface used by Claude Desktop or other MCP-enabled clients. Typical usage involves issuing natural-language prompts that map to these tools (e.g., asking for parks in a state, or the weather for a specific location), and the server will query the underlying APIs and return structured results suitable for follow-up questions or planning a trip. Claude Desktop configuration is supported via a Claude config JSON that specifies the command, and optionally environment variables for API keys.
How to install
Prerequisites:
- Go 1.24+ installed on your system
- Git
- Internet access to fetch dependencies
Step-by-step installation:
-
Clone the repository: git clone https://github.com/adhocteam/recreation-mcp-server.git cd recreation-mcp-server
-
Set up environment (API keys): cp .env.example .env
Edit .env and add your API keys
-
Install dependencies and run locally (development): go mod download go run .
-
Build a standalone binary for production: go build -o recreation-mcp-server ./recreation-mcp-server
Optional deployment options:
- Docker option (recommended for most users): follow the Docker deployment instructions in the README to use docker-compose to build and run the container, and configure Claude Desktop to point at the containerized server.
- Native Go application: run the binary directly as shown above; ensure your API keys are set in the environment or via a .env file loaded by your runtime environment.
Additional notes
Tips and considerations:
- Ensure you have valid API keys for NPS, RIDB (Recreation.gov), and OpenWeatherMap. Set them in the .env file or as environment variables when running the server.
- If deploying with Claude Desktop, update the claude_desktop_config.json to point to the running MCP server, using either a docker-compose invocation or the native binary path.
- For Docker deployments, you typically do not need to install Go locally; use docker-compose to manage the container lifecycle.
- Be mindful of API rate limits for the public APIs and implement caching if you plan to make frequent or large numbers of requests.
- The nine tools provide a broad set of discovery capabilities; you can chain queries (e.g., search parks followed by get_park_details) to build rich, context-aware conversations.
Related MCP Servers
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go