城市服务协议服务器

柏林城市服务的高性能协议服务器,提供搜索、表单管理和缓存功能,支持本地和云端部署。

  • by MananCoder29
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 MananCoder29/Berlin-Services-MCP-Server

使用说明

柏林服务MCP服务器-增强型

用于柏林城市服务的生产级模型上下文协议(MCP)服务器(Dienstleistungen)。它具有弹性缓存、高级搜索、PDF表单发现和填充功能。

特性

  • 综合工具:搜索、浏览并获取有关柏林服务的详细信息。
  • 表单管理:发现、分析和填写各种服务的PDF表格。
  • 弹性缓存:针对性能进行了优化,具有离线使用的智能回退功能。
  • 远程同步:支持本地和远程(云)部署。

技术架构

1.数据来源

服务器从官方网站获取数据 柏林城市服务API

  • 实时抓取:工具如 search_services 和 get_service_details 点击API直播。
  • 弹性缓存:实现双层缓存(内存+磁盘),以确保高性能和离线可靠性。
  • 智能回退:如果API关闭且不存在缓存,则它将回退到核心服务的最小集合以保持功能。

2.高级PDF处理

由...驱动 PyMuPDF (fitz),服务器提供复杂的文档处理:

  • 现场提取:自动检测城市服务器上托管的PDF表单中的可填写字段。
  • 智能灌装:使用智能匹配和通用翻译片段将用户数据映射到PDF字段。
  • 回路保护:包括a LoopProtector 以防止冗余的工具执行和LLM循环。
  • 可视化的预览:可以将PDF的特定页面渲染为JPEG,以便在聊天中快速快照(在不离开聊天的情况下用于验证)。

3.部署模式

  • 本地模式:针对与Claude Desktop一起使用进行了优化。在这种模式下, open_file_locally 可以使用系统的默认查看器直接打开已填充的PDF。
  • 远程/云模式:专为在Fly.io或Railway等平台上部署而设计。将本地文件打开替换为安全同步和聊天预览。

先决条件

  • Python 3.11或更高版本
  • uv (推荐)或 pip

本地设置

使用 uv (推荐)

  1. 安装依赖项并同步环境:
    uv sync
    
  2. 将服务器作为模块运行:
    export PYTHONPATH=$PYTHONPATH:$(pwd)/src && uv run python -m berlin_mcp.main
    
    注意:如果您已通过安装该软件包 uv sync,你也可以直接运行:
    uv run berlin-mcp
    

使用 pip

  1. 安装依赖项:
    pip install -r requirements.txt
    
  2. 运行服务器:
    export PYTHONPATH=$PYTHONPATH:$(pwd)/src && python -m berlin_mcp.main
    

Claude桌面配置

将以下内容添加到您的Claude Desktop配置文件中。替换 /Users/mananshah/Desktop/Berlin-Services-MCP-Server 带有文件夹的实际绝对路径。

macOS

文件位置: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "berlin-services": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/Users/YourUser/Desktop/Berlin-Services-MCP-Server",
        "python",
        "-m",
        "berlin_mcp.main"
      ],
      "env": {
        "PYTHONPATH": "src"
      }
    }
  }
}

视窗

文件位置: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "berlin-services": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:\\Users\\YourUser\\Desktop\\Berlin-Services-MCP-Server",
        "python",
        "-m",
        "berlin_mcp.main"
      ],
      "env": {
        "PYTHONPATH": "src"
      }
    }
  }
}

工具与资源

该服务器提供以下工具,以帮助您导航和管理柏林城市服务:

工具 说明
search_services 使用寻呼和过滤器对柏林服务进行高级搜索。
get_service_details 获取有关服务的完整详细信息,包括表单和先决条件。
get_service_forms 获取与具有详细元数据的服务关联的所有表单。
search_forms 搜索所有服务中的表单。
get_forms_by_type 跨服务获取特定类型的所有形式。
get_service_prerequisites 获取服务的所有先决条件和要求。
get_service_checklist 获取完成服务申请的全面清单。
analyze_form_for_filling 下载PDF表单并提取其可填写字段。
perform_form_filling 填写PDF表格并保存在本地。
download_filled_form 检索已填写的PDF表单
get_form_visual_preview 将已填充的PDF页面渲染为图像。
open_file_locally 在用户的本地系统上打开一个文件(仅限本地设置)。
delete_filled_form 从服务器中手动删除已填写的表单。
browse_services_by_category 按类别浏览服务。
find_online_services 在线查找所有可用服务。
get_service_locations 获取服务的所有位置。
get_api_status 获取API和缓存状态诊断。
clear_cache 清除服务缓存并强制刷新。

安全说明

应下载在远程服务器上填写的PDF表单,然后使用 delete_filled_form 确保数据隐私的工具。