os-mcp 地理数据服务
一个基于Python的MCP服务器,它提供了对英国地形测量局(Ordnance Survey)API的访问,允许通过标准化协议查询地理数据,具有集合管理、要素搜索和空间过滤等功能。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"os-ngd-api": {
"args": [
"--directory",
"src/",
"run",
"server.py"
],
"command": "/Users/username/.local/bin/uv",
"env": {
"OS_API_KEY": "your_api_key_here"
}
}
}
}
该服务需要配置环境变量:OS_API_KEY
服务介绍
Ordnance Survey - MCP 服务器
一个基于 Python 的 MCP 服务器,提供对 Ordnance Survey API 的访问。
概述
该服务在 MCP 客户端和 OS API 之间创建了一个桥梁,通过标准化协议轻松查询地理数据。
该服务处理身份验证、(基本的)速率限制,并为复杂的 OS API 提供简化的接口。
项目结构
-
api_service - 用于 OS API 的异步 HTTP 客户端实现
- 处理身份验证、请求格式化和响应处理
- 管理速率限制和错误处理
- 为外部 API 端点提供干净的接口
-
mcp_service - 将 OS API 功能作为 MCP 工具暴露
- 将 API 响应转换为与 MCP 兼容的格式
- 实现功能操作的业务逻辑
- 为其他服务提供标准化接口
特性
- 集合管理(列出和查询集合)
- 使用空间和属性过滤器进行特征搜索
- 通过 ID 获取单个特征
- 关联标识符操作
- 批量特征操作
要求
- Python 3.11+
- OS API 密钥(设置为环境变量
OS_API_KEY) - 您需要注册一个 OS Data Hub 账户以获取 API 密钥
- 依赖项:aiohttp, mcp[cli]
使用方法
在您的 MCP 主机配置文件中进行配置(例如 Claude Desktop):
json
{
"mcpServers": {
"os-ngd-api": {
"command": "/Users/username/.local/bin/uv",
"args": ["--directory", "src/", "run", "server.py"],
"env": {
"OS_API_KEY": "your_api_key_here"
}
}
}
}
Claude Desktop 集成
此 MCP 服务仅在 Claude Desktop 上进行了测试。
目标是使此服务能够与各种 MCP 主机/客户端一起工作,但尚未进行测试。
当与 Claude Desktop 一起使用时:
- 确保 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 询问“show me available prompt templates”。
贡献
欢迎贡献!请提出问题或提交拉取请求。
许可证
该项目根据 MIT 许可证许可。
本项目未获得 Ordnance Survey 的认可。