项目简介
Swisspost智能地址MCP服务器是一个专门用于地址验证和纠错的后端服务。它利用Model Context Protocol (MCP) 标准,与大型语言模型 (LLM) 客户端(如Claude Desktop)或其他自动化工具(如n8n)无缝集成。该服务能够智能分析和纠正地址中的常见错误,例如邮编与城市互换、不规范的街道名称或门牌号格式,并利用瑞士邮政的API进行实时验证和自动补全,确保地址数据的准确性和标准化。
主要功能点
- 智能地址分析: 自动识别并纠正地址错误,包括邮政编码与城市互换、从街道名称中分离门牌号、修正拼写错误的城市名称、标准化地址格式等。
- 瑞士邮政API集成: 利用瑞士邮政的ZIP、Street和House Autocomplete API,实现邮编、街道和门牌号的自动补全和验证。
- 自动化纠正: 提供实时纠错、错误回溯机制,并根据瑞士邮政质量标准提供0-100分的地址质量评分。
- MCP服务器: 作为标准MCP服务器运行,支持与Claude Desktop、MCP Inspector等MCP兼容客户端通过JSON-RPC/STDIO协议进行通信。
- n8n工作流集成: 提供预配置的n8n工作流和HTTP代理,便于将其集成到自动化流程中。
安装步骤
- 克隆或下载仓库:
git clone https://github.com/AlfMueller/swisspost-smart-address-mcp.git cd swisspost-smart-address-mcp - 安装Python依赖:
pip install -r requirements.txt - 获取瑞士邮政API凭据:
- 访问 Swisspost Developer Portal 注册并创建应用程序。
- 记下您的 'Client ID' 和 'Client Secret'。
- 配置环境变量:
- 复制 'config.env' 文件到 '.env' (Linux/macOS: 'cp config.env .env', Windows: 'copy config.env .env')。
- 编辑 '.env' 文件,填入您真实的 'Client ID' 和 'Client Secret'。建议的 'SWISSPOST_SCOPE' 为 'DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE'。
重要提示: '.env' 文件已被 '.gitignore' 忽略,请勿将其提交到版本控制中。SWISSPOST_CLIENT_ID=您的_真实_Client_ID SWISSPOST_CLIENT_SECRET=您的_真实_Secret SWISSPOST_SCOPE=DCAPI_ADDRESS_VALIDATE DCAPI_ADDRESS_AUTOCOMPLETE
服务器配置(供MCP客户端使用)
MCP服务器通过标准输入/输出 (STDIO) 与客户端通信,不使用网络端口。要将此MCP服务器连接到MCP客户端(例如Claude Desktop),您需要在客户端的配置文件中指定服务器的启动命令。
以下是一个示例JSON配置,您需要根据您的实际路径进行调整:
{ "mcpServers": { "swisspost-address": { "command": "python", "args": ["/path/to/your/swisspost-smart-address-mcp/smart-address-agent.py"], "cwd": "/path/to/your/swisspost-smart-address-mcp" } } }
- 'swisspost-address':此MCP服务器的唯一标识符。
- 'command':启动服务器的命令,通常是'python'。
- 'args':传递给'command'的参数,这里是MCP服务器主脚本的完整路径。
- 'cwd':服务器启动时的工作目录,应指向项目根目录,以确保正确加载'.env'文件。
请将此配置保存到您的Claude Desktop配置文件夹中:
- Windows: '%APPDATA%\Claude\claude_desktop_config.json'
- macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Linux: '~/.config/claude/claude_desktop_config.json'
基本使用方法
- 启动MCP服务器:
在项目根目录下,打开终端并运行:
服务器将在后台运行,并等待客户端连接。python smart-address-agent.py - 连接MCP客户端:
- 对于Claude Desktop: 确保已按照上述“服务器配置”步骤配置好'claude_desktop_config.json'文件。然后启动Claude Desktop,它将自动检测并连接到此MCP服务器。您可以通过向LLM提问 "Validiere diese Adresse: Pfingstweidstrasse 94, 8005 Zürich" 来使用它。
- 对于n8n: 使用项目'n8n-workflows'文件夹中提供的脚本'start-mcp-server-and-proxy.sh' (或 '.bat') 来同时启动MCP服务器和HTTP代理,然后导入'swisspost-workflow.json'工作流。
- 对于MCP Inspector (测试工具):
- 在一个终端中启动MCP服务器 ('python smart-address-agent.py')。
- 在另一个终端中运行 'mcp-inspector'。它将连接到本地MCP服务器,您可以在其中测试 'validate_address_smart' 工具。
信息
分类
网页与API