Gives your AI assistant structured access to OpenStreetMap's official tagging schema through seven tools organized around querying, validation, and preset discovery. You can search for valid tag values, explore OSM presets with their configurations, validate tag combinations, check for deprecated tags, and get suggestions for improvements. Built on top of the @openstreetmap/id-tagging-schema library that powers the iD editor. The project ships with comprehensive test coverage including property-based fuzzing, and the team runs it in production at mcp.gander.tools. Useful when you're building OSM tooling and want Claude to help validate user input, suggest appropriate tags, or guide contributors through the tagging schema without hardcoding rules.
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.
⚠️ Important clarifications:
If you're looking for a user-facing OSM tagging tool, consider iD editor or JOSM instead.
7 MCP Tools organized into 3 categories:
📖 Full tool reference: docs/api/
# No installation needed - run directly
npx @gander-tools/osm-tagging-schema-mcp
# 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)
# Add to Claude Code
claude mcp add --transport stdio osm-tagging-schema -- npx -y @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"
Add to your Claude Desktop configuration:
{
"mcpServers": {
"osm-tagging-schema": {
"command": "npx",
"args": ["@gander-tools/osm-tagging-schema-mcp"]
}
}
}
📖 Next steps:
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)
Built with Test-Driven Development (TDD) and Property-Based Fuzzing:
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
Contributions welcome! This project follows Test-Driven Development (TDD).
npm installnpm test📖 Guidelines: docs/development/contributing.md
Choose your path:
| I want to... | Go to |
|---|---|
| Install and run the server | Installation Guide |
| Configure with Claude Code/Desktop | Configuration Guide |
| Learn how to use the tools | Usage Guide → API Reference |
| Test and debug the server | Inspection Guide |
| Deploy in production (HTTP/Docker) | Deployment Guide |
| Fix issues or errors | Troubleshooting Guide |
| Contribute to the project | Contributing Guide |
User Guides:
Developer Docs:
Deployment Docs:
Project Info:
GNU General Public License v3.0 - See LICENSE file for details.