使用说明
PSGC MCP服务器
一种模型上下文协议(MCP)服务器,提供对菲律宾标准地理代码(PSGC)API的访问,为菲律宾提供分层地理数据。
特性
- 完整的地理层次结构:进入岛屿群体、地区、省、市、镇和地区
- 搜索功能:按名称查找所有级别的地理实体
- 代码验证:验证PSGC代码并获取完整的层次结构信息
- 实时数据:直接访问官方PSGC API
- 类型安全:使用TypeScript构建可靠的数据结构
安装
来自NPM(已发布包)
npm install -g psgc-mcp
MCP客户端的配置
光标/风帆
添加到MCP配置文件中:
{
"mcpServers": {
"psgc-mcp": {
"command": "npx",
"args": ["-y", "psgc-mcp"],
"transport": "stdio"
}
}
}
克劳德桌面
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"psgc-mcp": {
"command": "npx",
"args": ["-y", "psgc-mcp"],
"transport": "stdio"
}
}
}
地方发展
- 克隆存储库
- 安装依赖项:
npm install - 构建项目:
npm run build - 在本地运行:
npm start
可用工具
该服务器提供了一套全面的工具,用于访问按地理级别分类的PSGC数据。
岛组工具
get_island_groups:列出所有岛屿群。get_island_group:通过其代码获取特定的岛屿组(例如。,"luzon").get_island_group_regions:获取特定岛屿组内的所有区域。get_island_group_provinces:获取特定岛屿组内的所有省份。get_island_group_districts:获取特定岛屿组内的所有地区。get_island_group_cities:获取特定岛屿组内的所有城市。get_island_group_municipalities:获取特定岛屿组内的所有城市。get_island_group_cities_municipalities:获取特定岛屿组内的所有城市和市政当局。get_island_group_sub_municipalities:获取特定岛屿组内的所有副市镇。get_island_group_barangays:获取特定岛屿群内的所有村庄。
区域工具
get_regions:列出所有地区。get_region:通过代码获取特定区域(例如。,"130000000").get_region_provinces:获取特定区域内的所有省份。get_region_districts:获取特定区域内的所有地区。get_region_cities:获取特定区域内的所有城市。get_region_municipalities:获取特定区域内的所有城市。get_region_cities_municipalities:获取特定区域内的所有城市和直辖市。get_region_sub_municipalities:获取特定区域内的所有街道。get_region_barangays:获取特定区域内的所有村庄。
省份工具
get_provinces:列出所有省份。get_province:通过代码获取特定省份(例如。,"012800000").get_province_cities:获取特定省份内的所有城市。get_province_municipalities:获取特定省份内的所有城市。get_province_cities_municipalities:获取特定省份内的所有城市和直辖市。get_province_sub_municipalities:获取特定省份内的所有直辖市。get_province_barangays:获取特定省份内的所有乡镇。
地区工具
get_districts:列出所有地区。get_district:通过代码获取特定地区(例如。,"133900000").get_district_cities:获取特定地区内的所有城市。get_district_municipalities:获取特定地区内的所有城市。get_district_cities_municipalities:获取特定地区内的所有城市和直辖市。get_district_sub_municipalities:获取特定地区内的所有街道。get_district_barangays:获取特定地区内的所有镇。
城市工具
get_cities:列出所有城市。get_city:通过代码获取特定城市(例如。,"012805000").get_city_barangays:获取特定城市内的所有村庄。
市政工具
get_municipalities:列出所有城市。get_municipality:通过代码获取特定的市政当局(例如。,"012801000").get_municipality_barangays:获取特定市镇内的所有镇。
市政工具
get_sub_municipalities:列出所有街道。get_sub_municipality:通过代码获取特定的直辖市(例如。,"133901000").get_sub_municipality_barangays:获取特定副市区内的所有镇。
城市/市政综合工具
get_cities_municipalities:列出所有城市和直辖市。get_city_municipality:通过代码获取特定的城市或直辖市。get_city_municipality_barangays:获取特定城市或直辖市内的所有镇。
Barangay工具
get_barangays:列出所有村庄。get_barangay:通过代码获取特定的镇(例如。,"012805001").
搜索和发现工具
search_by_name:按名称搜索所有级别的地理实体。get_hierarchy:获取特定PSGC代码的完整层次结构。validate_code:验证地理代码是否存在并获取其详细信息。
可用资源
- 静态数据:访问所有地理级别的预加载静态数据。
- 动态查询:执行参数化查询以获取特定数据集。
- 分层数据:使用资源模板检索任何给定PSGC代码的完整层次信息。
可用模板(提示)
- 常见查询:对常见的地理问题使用预定义的提示(例如,“[省]的首府是什么?”)。
- 引导发现:交互式提示可帮助您探索地理层次结构。
- 数据验证:提示验证PSGC代码和地名。
使用示例
获取所有地区
{
"tool": "get_regions",
"arguments": {}
}
获取某个地区的省份
{
"tool": "get_provinces",
"arguments": {
"region_code": "130000000"
}
}
以名称搜索
{
"tool": "search_by_name",
"arguments": {
"query": "Manila",
"type": "city"
}
}
获取完整的层次结构
{
"tool": "get_hierarchy",
"arguments": {
"code": "133900000"
}
}
api参考
服务器连接到位于的官方PSGC API https://psgc.gitlab.io/api/.
PSGC代码格式
PSGC代码遵循分层格式:
- 岛屿群: 010000000, 020000000, 030000000
- 区域:130000000(NCR)、140000000(CAR)等。
- 省份133900000(马尼拉)、137400000(宿务)等。
- 城市/市133903000(马尼拉市)、137404000(宿务市)等。
- Barangays133903001(马尼拉第一区)等。
发展
先决条件
- Node.js 18或更高版本
- npm或纱线
设置
git clone https://github.com/your-username/psgc-mcp.git
cd psgc-mcp
npm install
构建
npm run build
发展模式
npm run dev
测试
npm test
与MCP检查员一起检查
npm run inspect
贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature-name - 进行更改
- 添加新功能的测试
- 运行测试:
npm test - 提交您的更改:
git commit -am 'Add feature' - 推到分支:
git push origin feature-name - 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
支持
有关问题和疑问,请在 GitHub存储库.
