Skip to main content
Glama
Atrash87

AWO MCP Server

by Atrash87

AWO MCP Server

一个 MCP(Model Context Protocol)服务器,向 Claude Desktop 等 AI 助手提供处理后的 AWO 设施数据。

概述

该 MCP 服务器在 AI 助手与 AWO 组织数据之间提供标准化接口,支持对 AWO 设施、服务和统计数据进行自然语言查询。

数据来源: 处理后的 AWO 数据集(设施、地址、服务、提供方)

状态: ✅ 生产就绪


Related MCP server: CKAN MCP Server

架构

User
  │
Claude Desktop
  │
MCP Server (this repo)
  │
Processed AWO Data (CSV)

功能

可用工具

工具

描述

示例

count_facilities(city)

统计某个城市的设施数量

“柏林有多少个 AWO 设施?”

search_facilities(city)

列出某个城市的所有设施

“显示柏林的所有 AWO 设施”

get_facility_details(name)

获取某个设施的详细信息

“请介绍一下 AWO Sozialstation Wedding”

search_services(query)

按关键字搜索服务

“查找成瘾相关服务”

generate_statistics()

获取数据统计

“显示 AWO 设施的统计信息”

check_completeness()

检查数据质量

“检查 AWO 记录的数据完整性”

detect_duplicates()

查找重复记录

“AWO 数据中是否有重复记录?”

compare_facilities(f1, f2)

比较两个设施

“比较 AWO Mitte 和 AWO Spree-Wuhle”


安装

1. 克隆仓库

git clone https://github.com/YOUR_USERNAME/awo-mcp-production.git
cd awo-mcp-production

2. 创建并激活 Conda 环境

conda create -n awo-mcp python=3.11
conda activate awo-mcp

3. 安装依赖

pip install -r requirements.txt

4. 验证数据文件

确保 data/ 目录下存在以下 CSV 文件:

  • einrichtungSchema.csv - 设施

  • adresseSchema.csv - 地址

  • angebotSchema.csv - 服务

  • traegerSchema.csv - 提供方


运行服务器

启动 MCP 服务器:

python server.py

服务器将启动并等待 MCP 请求。请保持此终端运行。


连接到 Claude Desktop

步骤 1:安装 Claude Desktop

从 Claude Desktop 下载。

注意: MCP 服务器集成不需要 Claude 订阅。

步骤 2:配置 MCP 服务器

  1. 打开 Claude Desktop。

  2. 转到 设置 → 开发者 → 本地 MCP 服务器 → 编辑配置。

  3. 添加以下配置:

{
  "mcpServers": {
    "awo": {
      "command": "C:\\Users\\<YOUR_USERNAME>\\miniconda3\\envs\\awo-mcp\\python.exe",
      "args": [
        "D:\\path\\to\\awo-mcp-production\\server.py"
      ]
    }
  }
}

步骤 3:重启 Claude Desktop

保存配置并完全重启 Claude Desktop。

MCP 服务器应出现在 设置 → 开发者 → 本地 MCP 服务器 下,并显示绿色状态。


示例查询

连接成功后,可尝试向 Claude 提问:

统计设施数量

“柏林有多少个 AWO 设施?”

按城市搜索

“显示柏林的所有 AWO 设施及其地址”

获取设施详情

“请介绍 AWO Sozialstation Wedding”

搜索服务

“查找与成瘾咨询相关的 AWO 服务”

获取统计信息

“显示 AWO 设施的统计信息”

数据质量

“检查 AWO 记录的数据完整性”

查找重复记录

“AWO 数据集中是否存在重复记录?”

比较设施

“比较 AWO Mitte 和 AWO Spree-Wuhle”


数据概览

服务器使用四个 CSV 数据集:

数据集

描述

数量

einrichtungSchema.csv

AWO 设施

168

adresseSchema.csv

地址

108

angebotSchema.csv

服务

99

traegerSchema.csv

提供方/组织

4


文件结构

awo-mcp-production/
├── data/                      # CSV datasets
│   ├── einrichtungSchema.csv
│   ├── adresseSchema.csv
│   ├── angebotSchema.csv
│   └── traegerSchema.csv
├── src/                       # Core modules
│   ├── data_loader.py
│   └── data_repository.py
├── server.py                  # MCP server
├── requirements.txt
└── README.md

测试

测试服务器

python -c "from server import mcp; print('✅ Server loaded successfully')"

运行客户端(可选)

如果你有用于交互测试的 client.py:

python client.py

部署

本地开发

  • 直接运行 python server.py。

  • 将 Claude Desktop 连接到本地服务器。

云端部署

  • 部署到云 VM 或容器。

  • 在支持的情况下,将 Claude Desktop 配置为使用远程端点。


故障排查

服务器未显示在 Claude Desktop 中

  • 检查配置文件中的 JSON 语法。

  • 确保没有尾随逗号。

  • 验证 Python 路径是否存在。

  • 在以下位置查看 Claude 日志:

%APPDATA%\Claude\logs\mcp*.log

服务器启动失败

  • 确保所有依赖项均已安装。

  • 验证 data/ 文件夹存在,且包含所需的 CSV 文件。

  • 手动运行服务器以查看任何错误:

python server.py

许可证

MIT License


贡献

  1. Fork 该仓库。

  2. 创建功能分支。

  3. 提交你的更改。

  4. 推送到该分支。

  5. 打开一个 Pull Request。(可选)

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to search, explore, and query any CKAN open data portal through natural language, making public datasets accessible without requiring knowledge of the portal's API.
    20
    706 npm
    61
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying AWO facility data through natural language, supporting search by city, service, and counting facilities.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to prepare German freedom-of-information requests on FragDenStaat.de: identify the responsible authority with evidence, the applicable act and deadline, track requests, collect replies and attachments, and draft new requests locally before anything is sent.
    15
    21 PyPI
    MIT