Skip to main content
Glama
remuzel

Polarsteps MCP Server

by remuzel
README.md
> [!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.

![MCP Server Badge](https://badge.mcpx.dev?type=server 'MCP Server') [![Smithery Badge](https://smithery.ai/badge/@remuzel/polarsteps-mcp)](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

A3.7/5.0

Scored across 7 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessUnresponsive