柏林服务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 (推荐)
- 安装依赖项并同步环境:
uv sync- 将服务器作为模块运行:
export PYTHONPATH=$PYTHONPATH:$(pwd)/src && uv run python -m berlin_mcp.main*注意:如果您已通过安装该软件包 uv sync,你也可以直接运行:*
uv run berlin-mcp使用 pip
- 安装依赖项:
pip install -r requirements.txt- 运行服务器:
export PYTHONPATH=$PYTHONPATH:$(pwd)/src && python -m berlin_mcp.mainClaude桌面配置
将以下内容添加到您的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 确保数据隐私的工具。
