MCP tools reference

Polarsteps MCP tools

14 tools for Polarsteps on the Cotlet MCP server. Your agent picks them from tools/list.

MCP server
https://cotlet.dev/mcp/v1
Connects with
Your own Polarsteps account
Integration page
Polarsteps
Polarsteps Endpoints
Endpoint Access Description
polarsteps_list_trips read Your trips, newest first, with dates, privacy level, distance and step count.
polarsteps_get_trip read One trip: name, summary, dates, privacy, Travel Buddies, distance and countries.
polarsteps_list_steps read Steps of a trip in order, with place, country, date, title and photo count.
polarsteps_get_step read Full step: story text, place and coordinates, date, photo and video links.
polarsteps_list_step_comments read Comments your followers left on a step, with author and date.
polarsteps_get_travel_stats read Countries visited, total kilometers, number of trips and steps on your profile.
polarsteps_export_trip read One trip as a download link, valid for 1 hour: route, steps and photo links.
polarsteps_create_trip write New trip, past or upcoming, with the privacy level you pick.
polarsteps_add_step write Add a step to a trip with a story and photos. People who can see the trip see it.
polarsteps_import_steps write Add many steps at once, e.g. a past trip from a CSV, sorted by date.
polarsteps_update_step write Change the title, story, place or date of a step.
polarsteps_add_step_photos write Add photos or videos to an existing step.
polarsteps_reply_to_step_comment write Reply to a follower comment on one of your steps, as you.
polarsteps_set_trip_privacy write Choose who can see a trip: only you, your followers or everyone.

List trips

read

MCP tool polarsteps_list_trips

Returns the trips on your own account, newest first. Filter by status to see only planned, ongoing or past trips. Use trip_id from each item in the other endpoints.

Parameters

Parameters: list_trips
NameTypeDescription
status enum all, planned, ongoing or past. Default: all.
limit integer 1 to 100. Default: 50.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_list_trips",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trips": [
      {
        "trip_id": "18452237",
        "name": "Portugal by train",
        "start_date": "2026-10-01",
        "end_date": null,
        "privacy": "followers",
        "steps": 9,
        "distance_km": 612
      },
      {
        "trip_id": "16720458",
        "name": "Patagonia",
        "start_date": "2025-12-04",
        "end_date": "2026-01-19",
        "privacy": "everyone",
        "steps": 41,
        "distance_km": 3870
      }
    ]
  },
  "isError": false
}

Get trip

read

MCP tool polarsteps_get_trip

Returns one trip with its summary, start and end dates, privacy level and the Travel Buddies on it. Trip dates are separate from the dates of its steps.

Parameters

Parameters: get_trip
NameTypeDescription
trip_id required string Trip ID from list_trips.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_get_trip",
    "arguments": {
      "trip_id": "trip_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "18452237",
    "name": "Portugal by train",
    "summary": "Two weeks from Porto to Faro on regional trains.",
    "start_date": "2026-10-01",
    "end_date": null,
    "privacy": "followers",
    "travel_buddies": [
      "Marta Silva"
    ],
    "distance_km": 612,
    "countries": [
      "Portugal"
    ]
  },
  "isError": false
}

List steps

read

MCP tool polarsteps_list_steps

Lists the steps of one trip in the order of the trip. Story is a short preview; get_step returns the full text, coordinates and photo links. Pass since to see only steps from a given date.

Parameters

Parameters: list_steps
NameTypeDescription
trip_id required string Trip ID from list_trips.
since date Only steps on or after this date.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_list_steps",
    "arguments": {
      "trip_id": "trip_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "steps": [
      {
        "step_id": "231908554",
        "title": "Fado night in Alfama",
        "place": "Lisbon",
        "country": "Portugal",
        "date": "2026-10-09T19:30:00+01:00",
        "photos": 2,
        "comments": 1
      },
      {
        "step_id": "231544107",
        "title": "Tram 28 to Graça",
        "place": "Lisbon",
        "country": "Portugal",
        "date": "2026-10-09T11:10:00+01:00",
        "photos": 3,
        "comments": 0
      }
    ]
  },
  "isError": false
}

Get step

read

MCP tool polarsteps_get_step

Returns one step with its full story, the place and its coordinates, the date and time, and links to every photo and video. Use it before editing a step or turning it into a post.

Parameters

Parameters: get_step
NameTypeDescription
step_id required string Step ID from list_steps.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_get_step",
    "arguments": {
      "step_id": "231908554"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "step_id": "231908554",
    "trip_id": "18452237",
    "title": "Fado night in Alfama",
    "story": "Got lost in the old town, then found a tiny fado bar with six tables.",
    "place": "Alfama, Lisbon, Portugal",
    "coordinates": {
      "lat": 38.711,
      "lon": -9.1304
    },
    "date": "2026-10-09T19:30:00+01:00",
    "media": [
      "https://example.com/photos/alfama-1.jpg",
      "https://example.com/photos/alfama-2.jpg"
    ]
  },
  "isError": false
}

MCP tool polarsteps_list_step_comments

Returns the comments on one step, oldest first, with author and date. Replies from you are included under the comment they answer. Use comment_id with reply_to_step_comment.

Parameters

Parameters: list_step_comments
NameTypeDescription
step_id required string Step ID from list_steps.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_list_step_comments",
    "arguments": {
      "step_id": "step_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "comments": [
      {
        "comment_id": "cm_4821",
        "author": "Eva Novak",
        "body": "That fado bar looks amazing!",
        "created_at": "2026-10-09T21:05:00+01:00",
        "replies": []
      }
    ]
  },
  "isError": false
}

MCP tool polarsteps_get_travel_stats

Returns the figures from the Travel stats on your profile: countries visited, kilometers, trips and steps. Countries are counted from the steps you add.

Parameters

No parameters.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_get_travel_stats",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "countries": 14,
    "distance_km": 28640,
    "trips": 6,
    "steps": 187
  },
  "isError": false
}

MCP tool polarsteps_export_trip

Exports one trip as json, gpx or markdown and returns a download link valid for 1 hour. gpx holds the route, markdown holds the step stories. Set include_media for a zip of the full-size photos and videos. It only reads, so it never asks for your OK.

Parameters

Parameters: export_trip
NameTypeDescription
trip_id required string Trip ID from list_trips.
format enum json, gpx or markdown. Default: json.
include_media boolean Add a zip of full-size photos and videos. Default: false.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_export_trip",
    "arguments": {
      "trip_id": "16720458",
      "format": "gpx",
      "include_media": false
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "16720458",
    "format": "gpx",
    "download_url": "https://example.com/exports/16720458.gpx",
    "expires_at": "2026-10-11T15:00:00+02:00",
    "steps": 41
  },
  "isError": false
}

Create trip

write Confirm

MCP tool polarsteps_create_trip

Creates a trip with a name and start date. The start date can be in the past, for a trip from before you used Polarsteps. Privacy is Only me (only_me) unless you set followers or everyone, so nothing is shared by accident. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: create_trip
NameTypeDescription
name required string Trip name.
start_date required date First day of the trip. Can be in the past.
end_date date Last day. Leave empty for an ongoing trip.
summary string Short trip description.
privacy enum only_me, followers or everyone. Default: only_me.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_create_trip",
    "arguments": {
      "name": "Jane Doe",
      "start_date": "2026-10-01"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "20931176",
    "name": "Vietnam 2019",
    "start_date": "2019-03-02",
    "end_date": "2019-03-20",
    "privacy": "only_me",
    "steps": 0
  },
  "isError": false
}

Add step

write Confirm

MCP tool polarsteps_add_step

Adds one step to a trip at a place and time, with an optional title, story and photos by URL. The date and place set where the step sits on the route. Everyone who can see the trip, by its privacy level, sees the step. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: add_step
NameTypeDescription
trip_id required string Trip ID from list_trips.
place required string Place name or "lat,lon".
date required datetime ISO 8601 with time zone.
title string Step title. Default: the place name.
story string Step text.
photo_urls string[] Photo or video URLs to attach.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_add_step",
    "arguments": {
      "trip_id": "18452237",
      "place": "Alfama, Lisbon, Portugal",
      "date": "2026-10-09T19:30:00+01:00",
      "title": "Fado night in Alfama",
      "story": "Got lost in the old town, then found a tiny fado bar with six tables.",
      "photo_urls": [
        "https://example.com/photos/alfama-1.jpg",
        "https://example.com/photos/alfama-2.jpg"
      ]
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "step_id": "231908554",
    "trip_id": "18452237",
    "title": "Fado night in Alfama",
    "place": "Lisbon, Portugal",
    "date": "2026-10-09T19:30:00+01:00",
    "photos": 2
  },
  "isError": false
}

Import steps

write Confirm

MCP tool polarsteps_import_steps

Adds up to 50 steps to one trip in a single call and sorts them by date, so the route draws in travel order. Each step needs a place and a date. The OK covers the whole batch. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: import_steps
NameTypeDescription
trip_id required string Trip ID from list_trips.
steps required object[] Up to 50 items of { place, date, title, story, photo_urls }. place and date are required.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_import_steps",
    "arguments": {
      "trip_id": "20931176",
      "steps": [
        {
          "place": "Hanoi, Vietnam",
          "date": "2019-03-02T09:00:00+07:00",
          "title": "Arrival in Hanoi"
        },
        {
          "place": "Ha Long Bay, Vietnam",
          "date": "2019-03-05T08:00:00+07:00",
          "title": "Boat to Ha Long Bay"
        }
      ]
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "20931176",
    "added": 2,
    "steps": [
      {
        "step_id": "301440018",
        "title": "Arrival in Hanoi",
        "date": "2019-03-02T09:00:00+07:00"
      },
      {
        "step_id": "301440019",
        "title": "Boat to Ha Long Bay",
        "date": "2019-03-05T08:00:00+07:00"
      }
    ]
  },
  "isError": false
}

Update step

write Confirm

MCP tool polarsteps_update_step

Changes the fields you send and leaves the rest of the step as it is. Changing the place or date moves the step on the route. Trip start and end dates are not changed. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: update_step
NameTypeDescription
step_id required string Step ID from list_steps.
fields required object Any of title, story, place, date.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_update_step",
    "arguments": {
      "step_id": "231908554",
      "fields": {
        "story": "Got lost in the old town, then found a tiny fado bar with six tables."
      }
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "step_id": "231908554",
    "updated": [
      "story"
    ],
    "date": "2026-10-09T19:30:00+01:00"
  },
  "isError": false
}

Add step photos

write Confirm

MCP tool polarsteps_add_step_photos

Attaches photos or videos by URL to a step that already exists. People who can see the trip see them. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: add_step_photos
NameTypeDescription
step_id required string Step ID from list_steps.
photo_urls required string[] Photo or video URLs.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_add_step_photos",
    "arguments": {
      "step_id": "step_8c41d2",
      "photo_urls": [
        "https://example.com"
      ]
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "step_id": "231908554",
    "added": 2,
    "photos_total": 4
  },
  "isError": false
}

Reply to step comment

write Confirm

MCP tool polarsteps_reply_to_step_comment

Adds a reply under a comment on your step. The reply appears under your name for people who can see the trip. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: reply_to_step_comment
NameTypeDescription
step_id required string Step ID from list_steps.
comment_id required string Comment ID from list_step_comments.
body required string Reply text.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_reply_to_step_comment",
    "arguments": {
      "step_id": "step_8c41d2",
      "comment_id": "comment_8c41d2",
      "body": "body"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "comment_id": "cm_4822",
    "parent_comment_id": "cm_4821",
    "step_id": "231908554",
    "status": "published"
  },
  "isError": false
}

Set trip privacy

write Confirm

MCP tool polarsteps_set_trip_privacy

Sets the privacy level of one trip to Only me, Followers or Everyone. It applies to the trip with all its steps. Followers can also see the trip through the secret link. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: set_trip_privacy
NameTypeDescription
trip_id required string Trip ID from list_trips.
privacy required enum only_me, followers or everyone.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polarsteps_set_trip_privacy",
    "arguments": {
      "trip_id": "trip_8c41d2",
      "privacy": "only_me"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "18452237",
    "privacy": "everyone"
  },
  "isError": false
}