Polarsteps MCP Server
> [!WARNING]\
> This MCP server uses the `polarsteps-api` package to access Polarsteps data through undocumented APIs. **Important**: Please read the associated [legal disclaimer and terms of use](https://github.com/remuzel/polarsteps-api#terms-of-use) before using this tool. By using this MCP server, you agree to the terms outlined in the API package and acknowledge the associated risks.
# Polarsteps MCP Server
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that enables Claude and other AI assistants to access Polarsteps travel data. Query user profiles, trip details, travel statistics, and search through travel histories with natural language.
 [](https://smithery.ai/server/@remuzel/polarsteps-mcp)
## Features
- **User Profiles**: Get profile info, social stats, and travel metrics
- **Trip Data**: Access detailed trip information, timelines, and locations
- **Smart Search**: Find trips by destination, theme, or keywords with fuzzy matching
- **Travel Analytics**: Retrieve comprehensive travel statistics and achievements
## Quick Start
Until I add it to PyPI, the quickest way to get started is using [Smithery](https://smithery.ai/server/@remuzel/polarsteps-mcp):
```bash
npx -y @smithery/cli install @remuzel/polarsteps-mcp --client claude
```
Then configure your Polarsteps token.
## Configuration
You'll need your Polarsteps `remember_token` to authenticate API requests.
### Getting Your Token
1. Go to https://www.polarsteps.com/ and make sure you're logged in
2. Open your browser's Dev Tools:
- **Firefox**: Shift+F9 → Storage tab
- **Chrome**: F12 → Application tab → Cookies
3. Find the `remember_token` cookie for https://www.polarsteps.com
4. Copy the token value
### Setting the Token
Set your token as an environment variable:
```bash
export POLARSTEPS_REMEMBER_TOKEN="your_remember_token_here"
```
## Usage
### With Claude Desktop
Add this configuration to your Claude Desktop settings:
```json
{
"mcpServers": {
"polarsteps": {
"command": "uvx",
"args": ["--from", "git+https://github.com/remuzel/polarsteps-mcp", "polarsteps-mcp"],
"env": {
"POLARSTEPS_REMEMBER_TOKEN": "your_remember_token_here"
}
}
}
}
```
### Example Queries
Once configured, you can ask Claude things like:
- "Show me travel stats for username 'johndoe'"
- "Tell me about johndoe's trip to Japan"
- "What country should johndoe add to their bucketlist?"
### Local Testing
Test the MCP server locally with the inspector:
```bash
npx @modelcontextprotocol/inspector uvx --from git+https://github.com/remuzel/polarsteps-mcp polarsteps-mcp
```
## Installation from Source
For development or manual installation:
```bash
# Clone the repository
git clone https://github.com/remuzel/polarsteps-mcp
cd polarsteps-mcp
# Setup development environment
just setup
# or without just:
uv sync --dev && uv pip install -e .
```
## Development
### Running Tests
```bash
just test
```
### Local MCP Testing
```bash
just test-mcp
```
### Code Formatting
```bash
just lint
```
TDQS
Scored across 7 tools
The tools are mostly distinct with clear purposes, but there is some overlap between get_trip and get_trip_log that could cause confusion. get_trip_log is described as an 'overview' with summarized steps, while get_trip provides 'comprehensive details', but the descriptions suggest using get_trip_log first before get_trip, which might lead to misselection if an agent needs just basic info versus full details. Other tools like get_user_profile, get_user_social, and get_user_stats are well-differentiated.
All tool names follow a consistent verb_noun pattern with underscores, such as get_trip, get_trips, get_user_profile, and search_trips. There are no deviations in naming conventions, making the set predictable and easy to understand for an agent.
With 7 tools, the server is well-scoped for a Polarsteps travel data domain. Each tool serves a specific purpose, from fetching user profiles and social info to retrieving trip details and searching, without feeling too sparse or overloaded. The count aligns well with the apparent scope of accessing travel history and user data.
The tool set covers key aspects of the Polarsteps domain, including user profiles, social information, statistics, and trip retrieval with search capabilities. However, there are minor gaps, such as no tools for updating or creating trips (e.g., create_trip or update_trip), which might limit full CRUD operations, but the existing tools support comprehensive read and search workflows effectively.