national-park-service-mcp-server

harish-anandaramanujam/national-park-service-mcp-server

3.1

If you are the rightful owner of national-park-service-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The National Park Service MCP Server is designed to facilitate the management and dissemination of information related to national parks using the Model Context Protocol (MCP).

National Park Service MCP Server

An open-source MCP server for managing and processing data related to the National Park Service. This project provides MCP-compliant tools for retriving park information, visitor management, and more.

Table of Contents

Getting Started

Installation

  1. Create a virtual environment and activate it:
uv venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
  1. Sync dependencies from pyproject.toml (if present):
uv sync
  1. To install additional requirements during development:
uv pip install -r requirements.txt
  1. To test the server locally:
```bash
uv run server.py
```
> **Note:** The instructions above are intended for local development and testing. In production, the MCP server is expected to run remotely via Smithery.ai.

MCP Marketplace

This server is open-sourced and available in the MCP Marketplace: View on Smithery.ai

Repository Structure

.
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ api_utils.py      # To handle API calls to NSP server
│   ā”œā”€ā”€ models.py         # Pydantic Args to get input from LLMs in specific format
ā”œā”€ā”€ server.py             # Main python that defines @mcp.tools and its function
│── README.md
ā”œā”€ā”€ Dockerfile            # Docker configuration for containerizing the server
ā”œā”€ā”€ smithery.yaml         # Smithery  configuration
ā”œā”€ā”€ LICENSE               # MIT license information
└── README.md

Environment Variables

Create a .env file in the root directory. Required variables include:

NPS_API_KEY = "***"

Contributing

We welcome contributions from the community! If you would like to contribute, please follow these steps:

  1. Fork this repository.
  2. Create a new branch for your changes.
  3. Make your improvements or fixes.
  4. Open a pull request with a clear description of your changes.

If you have any questions or suggestions, feel free to open an issue. Thank you for helping improve this project!

License

This project is licensed under the .