Repository avatar
Search & Data Extraction
v3.0.1
active

osm-tagging-schema-mcp

io.github.gander-tools/osm-tagging-schema-mcp

MCP server for querying and validating OpenStreetMap tags

Documentation

OpenStreetMap Tagging Schema MCP Server

Test Fuzzing Release Docker

npm downloads GitHub Release

TypeScript MCP SDK OSM Schema

Code Quality NPM Provenance SLSA 3

License: GPL-3.0 Last Commit GitHub Issues GitHub PRs

What is this?

This is a Model Context Protocol (MCP) server designed specifically for AI agents and LLM applications. It acts as a bridge between artificial intelligence systems and the comprehensive OpenStreetMap tagging knowledge base provided by the official @openstreetmap/id-tagging-schema library.

Current Status: Production-ready MCP server, actively maintained and continuously improved. The service is deployed and accessible at https://mcp.gander.tools/osm-tagging/.

We welcome your feedback! Have ideas for improvements? Found a bug? Want to discuss features? Please open an issue or start a discussion.

What this is NOT

โš ๏ธ Important clarifications:

  • Not a standalone application: This server requires integration with AI systems (like Claude Code or Claude Desktop) to be useful. It has no user interface or web frontend.
  • Not for direct human use: Without an AI agent as an intermediary, this tool provides no value to end users. It's designed exclusively for programmatic access by LLM applications.
  • Not a public API for general use: The deployed service at mcp.gander.tools is intended for integration with AI agents, not for direct HTTP requests or high-volume automated queries. Please do not attempt to abuse the service with DDoS attacks or excessive traffic.

If you're looking for a user-facing OSM tagging tool, consider iD editor or JOSM instead.

Features

7 MCP Tools organized into 3 categories:

  • Tag Query (2 tools): Query tag values and search tags
  • Preset Discovery (2 tools): Search and explore OSM presets with detailed configurations
  • Validation (3 tools): Validate tags, check for deprecated tags, suggest improvements

๐Ÿ“– Full tool reference: docs/api/

Installation

Using npx (Recommended)

# No installation needed - run directly
npx @gander-tools/osm-tagging-schema-mcp

Using Docker

# Run with stdio transport
docker run -i ghcr.io/gander-tools/osm-tagging-schema-mcp:latest

๐Ÿ“– More options: docs/user/installation.md (source installation, verification, troubleshooting)

Quick Start

With Claude Code CLI

# Add to Claude Code
claude mcp add @gander-tools/osm-tagging-schema-mcp

# Use in conversations
# Ask Claude: "What OSM tags are available for restaurants?"
# Ask Claude: "Validate these tags: amenity=parking, capacity=50"

With Claude Desktop

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "osm-tagging-schema": {
      "command": "npx",
      "args": ["@gander-tools/osm-tagging-schema-mcp"]
    }
  }
}

๐Ÿ“– Next steps:

Testing with MCP Inspector

Test and debug the server using the official MCP Inspector:

# Test published package (quickest)
npx @modelcontextprotocol/inspector npx @gander-tools/osm-tagging-schema-mcp

# Test Docker image
npx @modelcontextprotocol/inspector docker run --rm -i ghcr.io/gander-tools/osm-tagging-schema-mcp

The Inspector provides an interactive web UI to test all tools, inspect responses, and debug issues.

๐Ÿ“– Complete inspection guide: docs/development/inspection.md (includes HTTP transport testing)

Development

Built with Test-Driven Development (TDD) and Property-Based Fuzzing:

  • Comprehensive test suite (unit + integration) with 100% pass rate
  • Property-based fuzz tests with fast-check for edge case discovery
  • Continuous fuzzing in CI/CD (weekly schedule + on every push/PR)
npm install      # Install dependencies
npm test         # Run all tests
npm run test:fuzz # Run fuzz tests
npm run build    # Build for production

๐Ÿ“– Development guides: docs/development/development.md | docs/development/fuzzing.md

Contributing

Contributions welcome! This project follows Test-Driven Development (TDD).

  1. Fork and clone the repository
  2. Install dependencies: npm install
  3. Create a feature branch
  4. Write tests first, then implement
  5. Ensure all tests pass: npm test
  6. Submit a pull request

๐Ÿ“– Guidelines: docs/development/contributing.md

Documentation

Quick Navigation

Choose your path:

I want to...Go to
Install and run the serverInstallation Guide
Configure with Claude Code/DesktopConfiguration Guide
Learn how to use the toolsUsage Guide โ†’ API Reference
Test and debug the serverInspection Guide
Deploy in production (HTTP/Docker)Deployment Guide
Fix issues or errorsTroubleshooting Guide
Contribute to the projectContributing Guide

Complete Documentation

User Guides:

Developer Docs:

Deployment Docs:

  • Deployment - HTTP/Docker production deployment
  • Security - Security features, provenance, and SLSA

Project Info:

License

GNU General Public License v3.0 - See LICENSE file for details.


MCP Badge