一个提供空间上下文的实验性MCP服务器,供LLM使用。
LLM强化了计算机可以实现“魔法”的观念。实际上并非如此。例如,为了让助手能够知道日期和时间,需要将其与MCP time接口连接。同样,为了使其能够读取页面,需要将其与MCP fetch接口连接。
在地理数据方面,如果用户提出一个问题,要求助手能够识别地址的位置,那么答案可能是合理的但不准确。
虽然从技术上讲,可以接入像APICARTO这样的REST/GeoJSON API,但这些API的设计并不适合(默认返回5000个结果,响应中包含大量几何数据,复杂的几何形状等)。
这里的想法是实验设计一个MCP服务器,使地理平台的数据和服务对LLM可用。
IGNF/mcp-gpf-server)例如,通过“Cursor Settings / MCP / Add server”:
{
"mcpServers": {
"geocontext": {
"command": "npx",
"args": ["-y", "@ignfab/geocontext"]
}
}
}
docker compose build
docker compose up -d
然后:
{
"mcpServers": {
"geocontext": {
"url": "http://localhost:3000/mcp"
}
}
}
git clone https://github.com/ignfab/geocontext
cd geocontext
npm install
npm run build
{
"mcpServers": {
"mcp-helloworld": {
"command": "node",
"args":["/绝对路径/到/geocontext/dist/index.js"]
}
}
}
npx -y @modelcontextprotocol/inspector node dist/index.js
对于高级用法:
| 名称 | 描述 | 默认值 |
|---|---|---|
TRANSPORT_TYPE | 传输 允许选择 "stdio" 或 "http" | "stdio" |
一些地理平台的服务:
示例:Vincennes市政厅的位置(经度,纬度)是什么?
示例:Loray市政厅(25)的海拔是多少?
这里的目的是通过处理WFS服务调用来回答具体问题:
示例:Vincennes市政厅的行政信息是什么?
示例:Vincennes市政厅的土地登记信息是什么?
示例:马赛港现行的PLU文件是什么?
- 地理平台上有哪些ADMINEXPRESS年份?
- BDTOPO中对应建筑物的表是什么?
- 在BDTOPO的哪个表中可以找到桥梁?
- 使用ADMINEXPRESS-COG.LATEST时,关于市镇的信息有哪些?
- 比较ADMINEXPRESS-COG:2024和ADMINEXPRESS-COG.LATEST之间的市镇模型
- Doubs(25)人口最多的五个市镇是什么?
- 距离埃菲尔铁塔不到5公里的建筑物有多少?
如果您遇到问题,请不要犹豫,创建一个issue! 请提供:
请不要犹豫:
# 例如,为了公开WMTS图层列表
mcp add tool gpf_wmts_layers