article
README
🚀 Ordnance Survey - MCP 服务器
这是一个基于 Python 的 MCP 服务器,它为用户提供了访问 Ordnance Survey API 的便捷途径,让地理数据查询变得更加简单高效。
🚀 快速开始
在您的 MCP 主机配置文件中进行配置(例如 Claude Desktop):
{
"mcpServers": {
"os-ngd-api": {
"command": "/Users/username/.local/bin/uv",
"args": ["--directory", "src/", "run", "server.py"],
"env": {
"OS_API_KEY": "your_api_key_here"
}
}
}
}
🔍 注意事项
- 需使用 Python 3.11+ 及以上版本。
- 要设置 OS API 密钥为环境变量
OS_API_KEY,且必须注册 Ordnance Survey 数据中心账户以获取该密钥。 - 项目依赖 aiohttp 和 mcp[cli]。
✨ 主要特性
- 集合管理:支持列表和查询操作。
- 特征搜索:可通过属性和空间过滤进行特征搜索。
- 特定特征获取:能按 ID 获取特定特征。
- 链接标识符操作:支持对链接标识符进行操作。
- 批量特征操作:可进行批量特征的相关操作。
📦 安装指南
- 确保已安装 Python 3.11+ 版本。
- 注册 Ordnance Survey 数据中心账户,获取 OS API 密钥,并将其设置为环境变量
OS_API_KEY。 - 安装项目依赖:aiohttp 和 mcp[cli]。
📚 详细文档
项目结构
- api_service:异步 HTTP 客户端实现用于访问 OS API。
- 负责身份验证、请求格式化和响应处理。
- 管理速率限制和错误处理。
- 为外部 API 端点提供干净的接口。
- mcp_service:将 OS API 功能公开为 MCP 工具。
- 将 API 响应转换为与 MCP 兼容的格式。
- 实现业务逻辑特征操作。
- 提供其他服务的标准接口。
Claude Desktop 集成
此 MCP 服务仅在 Claude Desktop 上进行了测试。目标是使其与各种 MCP 主机/客户端兼容,但尚未进行测试。使用时:
- 确保 Claude Desktop 配置为访问本地工具。
- 服务运行后即可作为工具使用。
- 不需要额外的网络配置。
可用工具
所有这些都是正在进行中的工作,但目前有以下工具可用:
hello_world- 测试连接性。check_api_key- 验证 API 密钥配置。list_collections- 列出可用特征集合。get_collection_info- 获取特定集合的详细信息。get_collection_queryables- 获取集合的可筛选属性。search_features- 搜索符合各种条件的功能。get_feature- 通过 ID 获取特定功能。get_linked_identifiers- 查找相关标识符。get_bulk_features- 在单个调用中检索多个功能。get_bulk_linked_features- 批量获取链接功能。get_prompt_templates- 获取常见操作的标准提示模板。
使用提示模板
此服务提供预配置的提示模板,帮助您快速上手。要访问这些模板,请让 Claude "显示可用提示模板"。
🤝 贡献
欢迎贡献!请打开问题或提交拉取请求。
📄 许可证
该项目在 MIT License 下授权。该项目未获得 Ordnance Survey 的认可。
微信扫一扫