Skip to main content
Glama

Tripadvisor MCP

README.md4.99 kB
# Tripadvisor MCP Server A [Model Context Protocol][mcp] (MCP) server for Tripadvisor Content API. This provides access to Tripadvisor location data, reviews, and photos through standardized MCP interfaces, allowing AI assistants to search for travel destinations and experiences. [mcp]: https://modelcontextprotocol.io ## Features - [x] Search for locations (hotels, restaurants, attractions) on Tripadvisor - [x] Get detailed information about specific locations - [x] Retrieve reviews and photos for locations - [x] Search for nearby locations based on coordinates - [x] API Key authentication - [x] Docker containerization support - [x] Provide interactive tools for AI assistants The list of tools is configurable, so you can choose which tools you want to make available to the MCP client. ## Usage 1. Get your Tripadvisor Content API key from the [Tripadvisor Developer Portal](https://developer.tripadvisor.com/). 2. Configure the environment variables for your Tripadvisor Content API, either through a `.env` file or system environment variables: ```env # Required: Tripadvisor Content API configuration TRIPADVISOR_API_KEY=your_api_key_here ``` 3. Add the server configuration to your client configuration file. For example, for Claude Desktop: ```json { "mcpServers": { "tripadvisor": { "command": "uv", "args": [ "--directory", "<full path to tripadvisor-mcp directory>", "run", "src/tripadvisor_mcp/main.py" ], "env": { "TRIPADVISOR_API_KEY": "your_api_key_here" } } } } ``` > Note: if you see `Error: spawn uv ENOENT` in Claude Desktop, you may need to specify the full path to `uv` or set the environment variable `NO_UV=1` in the configuration. ## Docker Usage This project includes Docker support for easy deployment and isolation. ### Building the Docker Image Build the Docker image using: ```bash docker build -t tripadvisor-mcp-server . ``` ### Running with Docker You can run the server using Docker in several ways: #### Using docker run directly: ```bash docker run -it --rm \ -e TRIPADVISOR_API_KEY=your_api_key_here \ tripadvisor-mcp-server ``` #### Using docker-compose: Create a `.env` file with your Tripadvisor API key and then run: ```bash docker-compose up ``` ### Running with Docker in Claude Desktop To use the containerized server with Claude Desktop, update the configuration to use Docker with the environment variables: ```json { "mcpServers": { "tripadvisor": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "TRIPADVISOR_API_KEY", "tripadvisor-mcp-server" ], "env": { "TRIPADVISOR_API_KEY": "your_api_key_here" } } } } ``` This configuration passes the environment variables from Claude Desktop to the Docker container by using the `-e` flag with just the variable name, and providing the actual values in the `env` object. ## Development Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements. This project uses [`uv`](https://github.com/astral-sh/uv) to manage dependencies. Install `uv` following the instructions for your platform: ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` You can then create a virtual environment and install the dependencies with: ```bash uv venv source .venv/bin/activate # On Unix/macOS .venv\Scripts\activate # On Windows uv pip install -e . ``` ## Project Structure The project has been organized with a `src` directory structure: ``` tripadvisor-mcp/ ├── src/ │ └── tripadvisor_mcp/ │ ├── __init__.py # Package initialization │ ├── server.py # MCP server implementation │ ├── main.py # Main application logic ├── Dockerfile # Docker configuration ├── docker-compose.yml # Docker Compose configuration ├── .dockerignore # Docker ignore file ├── pyproject.toml # Project configuration └── README.md # This file ``` ### Testing The project includes a test suite that ensures functionality and helps prevent regressions. Run the tests with pytest: ```bash # Install development dependencies uv pip install -e ".[dev]" # Run the tests pytest # Run with coverage report pytest --cov=src --cov-report=term-missing ``` ### Tools | Tool | Category | Description | | --- | --- | --- | | `search_locations` | Search | Search for locations by query text, category, and other filters | | `search_nearby_locations` | Search | Find locations near specific coordinates | | `get_location_details` | Retrieval | Get detailed information about a location | | `get_location_reviews` | Retrieval | Retrieve reviews for a location | | `get_location_photos` | Retrieval | Get photos for a location | ## License MIT --- [mcp]: https://modelcontextprotocol.io

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/pab1it0/tripadvisor-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server