波兰行政区划搜索服务

提供基于波兰官方数据的行政区划和地址结构化搜索服务,支持省、区、市、县、街道的多级检索,可与LLM集成实现地理信息分析。

  • by Damian34
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Damian34/mcp-lab

使用说明

位置搜索MCP

API是一个MCP服务器,它使用波兰GOV系统(TERYT、SIMC、ULIC)的官方数据对波兰行政地点和地址进行结构化搜索。

该服务器公开了允许使用详细的层次上下文搜索省、区、市、地方和街道的工具。

一个典型的用例是将MCP服务器连接到LLM,使模型能够分析文档或文章,并推断内容所指的波兰地理区域。

在Ubuntu上安装和运行

  1. 完全在本地运行

运行服务器(进入项目内部): uv run src/mcp_lab/server.py
打开客户端UI: npx @modelcontextprotocol/inspector uv run my-mcp

  1. 使用dockerfile运行并在UI上验证

构建映像: docker build -t mcp-lab .
创建/运行容器: docker run --rm --network host mcp-lab
或者创建/运行容器(以及单独的卷): docker run --rm --network host -v mcp_lab_data:/app/data mcp-lab
打开客户端UI(单独的CMD): npx @modelcontextprotocol/inspector

设置UI: 运输类型: SEE 网址: http://localhost:8080/sse

  1. 使用cloudflared发布

构建映像: docker build -t mcp-lab .
创建/运行容器: docker run --rm --network host mcp-lab
发布: cloudflared tunnel --url http://localhost:8080

使用Postman进行测试

简单测试混凝土 new workspace -> MCP -> tools ->设置url: http://localhost:8080/sse

使用LLM进行测试: new workspace -> AI ->选择模型->设置API密钥&设置url: http://localhost:8080/sse

提示,例如:

  • Please tell me where every town with name Kolno is located.
  • Find every location in Poland, which starts with "Nowa".

使用Alembic更新数据库模型/迁移

  • 创建基本alembic文件:
    alembic init alembic
  • 基于当前SQLAlchemy模型生成新的迁移文件:
    alembic revision --autogenerate -m "initial schema"
  • 将所有待处理的迁移应用于数据库:
    alembic upgrade head