OSP Marketing Tools MCP Server

--- # MCP Server for National Park Services Data This MCP Server provides an interface to retrieve National Park Services (NPS) data. It allows users to: - Retrieve a list of national parks in a given U.S. state. - Fetch detailed information about a specific national park. It uses the National Park Service API to obtain the data. ## Requirements - Node.js (v18+ recommended) - npm or yarn - A valid NPS API key (available at [https://www.nps.gov/subjects/developer/get-started.htm](https://www.nps.gov/subjects/developer/get-started.htm)) - Claude Desktop installed (for running MCP servers) ## Setup 1. Clone this repository: ```sh git clone <repository-url> cd <repository-folder> ``` 2. Install dependencies: ```sh npm install ``` 3. Create a `.env` file in the root directory and add your NPS API key: ```sh API_KEY=your_nps_api_key_here ``` ## Running the Server To start the MCP server: ```sh npm run build node ./build/server.js ``` Using Claude Desktop: 1. Add this MCP Server to the `claude_desktop_config.json` ``` { "mcpServers": { "nps": { "command": "node", "args": [ "/<Path to Server>/build/index.js" ], "env": { "API_KEY": "Your NPS API Key" } } } } ``` 2. Start or Restart Claude Desktop 3. Ensure your MCP server is recognized and running by clicking on the tools icon at the bottom of Claude's chat window. 4. Use Claude's interface to query National Park Services data. ## API Endpoints ### Fetch List of National Parks by State **Tool Name:** `park-list` **Parameters:** - `stateCode` (string) – Two-letter U.S. state code **Response Example:** ```json [ { "fullName": "Yellowstone National Park", "description": "First national park in the U.S.", "parkCode": "yell" } ] ``` ### Fetch Details of a National Park **Tool Name:** `park-details` **Parameters:** - `parkCode` (string) – National Park lookup code **Response Example:** ```json [ { "fullName": "Yellowstone National Park", "description": "First national park in the U.S.", "states": "WY, MT, ID" } ] ``` ## Prompts ### Retrieve Parks in a State **Prompt Name:** `parks-by-state` **Parameters:** - `stateCode` (string) **Example:** ```text What National Parks are in the state of CA? ``` ### Get Park Details **Prompt Name:** `details-for-park` **Parameters:** - `park` (string) **Example:** ```text Give me details about Yellowstone National Park. ```