MCP server for querying and validating OpenStreetMap tags
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-mcpThe 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.