# osm-tagging-schema-mcp

An MCP server that answers questions about OpenStreetMap tags: checks keys and values, finds presets, and points to replacements for deprecated tags.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 8
- Author: gander-mcp
- License: GPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/gander-mcp/osm-tagging-schema-mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/osm-tagging-schema-mcp

## What it does

The server runs over stdio or HTTP and hands the agent a set of tools for working with the OSM tagging schema. All answers come from the `@openstreetmap/id-tagging-schema` library, version 7 — presets, fields, deprecated tags, translations. Nothing reaches out to OSM over the network, and there is no model inside the server: the agent calls the tools and reads the results.

The toolset covers single-tag checks (`validate_tag`), whole collections (`validate_tag_collection`), preset suggestions (`suggest_improvements`), allowed values (`get_tag_values`), name search (`search_tags`, `search_presets`) and preset lookup by id (`get_preset_details`). Validation is straightforward: is the key known, does the matching field allow this value, is the tag marked deprecated and what should replace it.

The author calls this a Proof of Concept and says so plainly. Tags that show up in real data or on the OSM wiki are not all covered by the schema, so validation does not replace a wiki check. Typos and foreign values pass as valid, since custom tags are allowed. `railway=platform` and `railway=station` get flagged as deprecated by mistake. Name search misses keys, and keys with a colon such as `addr:street` often slip through.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add osm-tagging-schema-mcp -- npx -y @gander-tools/osm-tagging-schema-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add osm-tagging-schema-mcp -- npx -y @gander-tools/osm-tagging-schema-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "osm-tagging-schema-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@gander-tools/osm-tagging-schema-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "osm-tagging-schema-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@gander-tools/osm-tagging-schema-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add osm-tagging-schema-mcp npx -y @gander-tools/osm-tagging-schema-mcp
```

## When to use it
- check a tag before uploading an OSM edit
- look up the values a key accepts
- match a preset to a set of tags
- swap a deprecated tag for the current one
- sort a tag collection into valid and problematic

## Example prompts
- Validate the tag `amenity=restaurant` against the OSM schema and tell me if anything is off
- Which values does the key `surface` allow?
- Find the preset for a bicycle parking and show its details

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
