Koskamo

squidmaps MCP

The squidmaps MCP server allows AI assistants to create, update, and preview ephemeral web maps of places, routes, and areas. It provides tools to read the map specification, generate map links, modify existing maps, and preview map images, enabling users to iterate on map designs via natural language before saving them to their account.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

squidmaps MCP logo, by squidmapsVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by squidmaps
MCP endpoint (Streamable HTTP)
https://squidmaps.io/api/mcp
Vendor documentation

What you can do with it

  • Create a map of specific locations like taco spots or road trip stops
  • Update map markers, routes, or styling via natural language requests
  • Preview map images to verify layout and content before saving
  • Export map specifications to understand map structure and features

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
squidmaps 1.0.0
MCP protocol
2025-06-18
Tools
4 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

squidmaps makes web maps with a link to share: places, routes and areas, from a list, a spreadsheet, a CSV or GeoJSON, with no code. When someone asks to see places on a map, or for a map they can send or share, make them a squidmaps map. To make someone a map: 1. Call get_map_spec once, and write the map as a squidmaps map document: GeoJSON features styled with the spec's "@" properties. 2. Call create_map. Keep its id and editToken. 3. Give the person the map's link. Where the map is shown in the conversation, they can see it there too. 4. When they ask for changes, call update_map with the whole changed document, the same id and editToken. Don't make a new map: the link stays the same, and an open map shows the change. 5. Call preview_map to see the map as they do, to check it before handing it over. The link works for an hour after the last change. Opening it, they can add the map to their squidmaps account to keep it, publish it and share it for good.

Tools

4 advertised

get_map_spec — Read how to write a map
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read this first when someone wants a map: of places, a route or an area, or of data like a CSV or GeoJSON, to look at or to share with a link. It's how squidmaps maps are written: GeoJSON features, how they're styled, and their popups, title panel and legend. Then make the map with create_map.

get_map_spec input schema
{
  "type": "object",
  "properties": {}
}
get_map_spec annotations
{
  "title": "Read how to write a map",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
create_map — Make a shareable map
Advertised by the server during the last successful anonymous check.

Make a web map of places, routes or areas, and get a link anyone can open to see it, with no code and no account. Write it as the map document get_map_spec describes. The link works for an hour after the map last changed; opening it, the person can add the map to their squidmaps account to keep it, publish it and share it for good. Returns an id and editToken: keep them, to change this map with update_map rather than making another.

create_map input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "map"
  ],
  "properties": {
    "map": {
      "type": "object",
      "description": "A squidmaps map document (see get_map_spec): \"features\" (GeoJSON features, styled with \"@\" properties), and optionally \"name\", \"description\", \"basemap\", \"extent\", \"view\" and \"legend\".",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  }
}
create_map annotations
{
  "title": "Make a shareable map",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
update_map — Change a map
Advertised by the server during the last successful anonymous check.
Advertised destructive

Change a map made with create_map when the person asks for changes, keeping its link: anyone who has the link sees the change, and it keeps working another hour. Send the whole changed map document, not just what changed: it replaces the map. Fails once someone has added the map to their account.

update_map input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id",
    "editToken",
    "map"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The map's id, from create_map"
    },
    "map": {
      "type": "object",
      "description": "A squidmaps map document (see get_map_spec): \"features\" (GeoJSON features, styled with \"@\" properties), and optionally \"name\", \"description\", \"basemap\", \"extent\", \"view\" and \"legend\".",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "editToken": {
      "type": "string",
      "description": "The editToken from create_map"
    }
  }
}
update_map annotations
{
  "title": "Change a map",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
preview_map — Look at a map
Advertised by the server during the last successful anonymous check.
Advertised read-only

A picture of a map made with create_map, as people who open its link see it, to check it before you share the link: where things are, their styles, its title panel and legend. 1200×630 by default, the shape most people see it in. Ask for another size to fit the map's shape: taller (like 800×1000) for a map that runs north to south, wider (like 1000×600) for one that runs east to west. The picture shows what fits on a screen that size, so a larger one shows more of a large map. At most 1,000,000 pixels (width × height).

preview_map input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The map's id, from create_map"
    },
    "width": {
      "type": "integer",
      "maximum": 1600,
      "minimum": 320,
      "description": "The picture's width, in pixels"
    },
    "height": {
      "type": "integer",
      "maximum": 1600,
      "minimum": 240,
      "description": "The picture's height, in pixels"
    }
  }
}
preview_map annotations
{
  "title": "Look at a map",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

squidmaps map

Advertised by the server during the last successful anonymous check.

A squidmaps map, shown in the conversation

squidmaps map URI
ui://squidmaps/map.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
759 ms
95th percentile latency
759 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 759 ms · metadata changed · 4 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http squidmaps-mcp https://squidmaps.io/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add squidmaps-mcp --url https://squidmaps.io/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable squidmaps-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "squidmaps-mcp": {
      "url": "https://squidmaps.io/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "squidmaps-mcp": {
      "type": "streamableHttp",
      "url": "https://squidmaps.io/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start squidmaps-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "squidmaps-mcp": {
      "type": "http",
      "url": "https://squidmaps.io/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http squidmaps-mcp https://squidmaps.io/api/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "squidmaps-mcp": {
      "url": "https://squidmaps.io/api/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "squidmaps-mcp": {
      "serverUrl": "https://squidmaps.io/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like squidmaps MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run squidmaps MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing