Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
MCP server for querying and validating OpenStreetMap tags
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"osm-tagging-schema": {
"command": "npx",
"args": [
"-y",
"@gander-tools/osm-tagging-schema-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add osm-tagging-schema -- npx -y @gander-tools/osm-tagging-schema-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"osm-tagging-schema": {
"command": "npx",
"args": [
"-y",
"@gander-tools/osm-tagging-schema-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"osm-tagging-schema": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@gander-tools/osm-tagging-schema-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 gander-tools 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(3.0.1)于11个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Cape Winelands Visit Planner
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cape Winelands wine farm finder and day-route planner
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
This project is a Proof of Concept. It gives real value in some areas and has known gaps in others, both described honestly below.
@openstreetmap/id-tagging-schema v7.Bug reports and ideas: open an issue or start a discussion.
The server runs over stdio (default) or HTTP and exposes the tagging schema as MCP tools. Every tool reads the schema data shipped in @openstreetmap/id-tagging-schema (presets, fields, deprecated tags, translations) and answers from it deterministically. There is no network access to OSM and no AI inside the server: the AI agent calls the tools and interprets the results.
Validation checks a tag against the schema: known key, value allowed by the matching field, deprecated key/value with a suggested replacement.
The tool has limitations. Know what to expect before relying on it: it answers from the schema data only, and a part of the tags that exist in the wild or on the OSM wiki is not covered.
| Tool | Works | Limitations |
|---|---|---|
validate_tag | Popular tags accepted (100%), almost no false deprecated alarms (99.2%) | Detects only ~20% of wiki-deprecated tags; typos and foreign values are accepted as valid (custom tags are allowed); railway=platform and railway=station are wrongly flagged as deprecated |
validate_tag_collection | Consistent with validate_tag (100%) | Same gaps as validate_tag; control characters are not reported |
suggest_improvements | Preset matched for 92% of popular tags | Typos and foreign values usually yield suggestions, not a problem report |
get_tag_values | 97% of taginfo values present; bad keys and limits rejected | A few taginfo values are missing from the lists |
search_tags | Finds 60% of keys by name | No typo tolerance despite the fuzzy-matching description; keys with a colon (addr:street) are often missed; limit of 0 or negative not always rejected; access returns a keyMatches item without key |
search_presets | Preset found for 69% of popular tags (56% in top 3) | Multi-word queries (bicycle parking) can return nothing; weak ranking; limit of 0 or negative not always rejected |
get_preset_details | Preset exists for 93% of popular tags; unknown ids always rejected | Some popular tags (e.g. historic=*, craft=grinding_mill, railway=stop) have no preset |
compare_tags | Matches local computation (100%); text and JSON input give identical output | Compares any tag sets, so it never says a tag is wrong; only malformed input is rejected |
flat_to_json | Lossless, including ;, spaces, =, Unicode, : and / | Duplicate keys and control characters are accepted silently |
json_to_flat | Lossless round-trip (100%); bad input rejected | Keys are not sorted alphabetically, input order is kept |
Across all tools, invalid input never crashed the server: errors are readable or the result is an empty list.
Useful where deterministic logic is enough: format conversion, comparing tag sets, reading presets and values, validating popular tags. Weakest areas: deprecated tag detection and search (typos, multiple words, colon keys).
⚠️ Important clarifications:
If you're looking for a user-facing OSM tagging tool, consider iD editor or JOSM instead.
Add the server to Claude Code (stdio):
# npx
claude mcp add --transport stdio osm-tagging-schema -- npx -y @gander-tools/osm-tagging-schema-mcp
claude mcp add --transport stdio osm-tagging-schema -- docker run -i --rm ghcr.io/gander-tools/osm-tagging-schema-mcp:latest
stdio is the default. Set TRANSPORT=http to serve over HTTP (streamable, port 3000 in the Docker image):
| Variable | Default | Meaning |
|---|---|---|
TRANSPORT | stdio | stdio or http |
PORT | 3000 | HTTP port |
HOST | 0.0.0.0 | HTTP bind address |
CORS_ORIGINS | http://localhost:6274,https://mcp.ziziyi.com | Comma-separated allowed CORS origins |
LOG_LEVEL | INFO | SILENT, ERROR, WARN, INFO, DEBUG |
docker run --rm -p 3000:3000 -e TRANSPORT=http ghcr.io/gander-tools/osm-tagging-schema-mcp:latest
Endpoints: GET /health (liveness), GET /ready (schema loaded), GET /version.
GNU General Public License v3.0 - See LICENSE file for details.