市政统计MCP服务器

一个独立的MCP服务器,提供对瑞典市政和区域统计数据库的自然语言查询访问。

  • by aerugo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 aerugo/kolada-mcp-remote

使用说明

Kolada MCP服务器

一个干净、独立的MCP(模型上下文协议)服务器,用于瑞典的Kolada市政统计API。

概述

该服务器为人工智能应用程序提供了访问瑞典综合市政和地区统计数据库的权限。它支持对数千个关键绩效指标(KPI)进行自然语言查询,涵盖瑞典公共部门数据的各个方面。

特性

  • 9 MCP工具 用于全面的数据访问
  • 语义搜索 使用瑞典BERT嵌入
  • 无外部依赖关系 -完全独立(无Mima或Redis)
  • 容器化 支持Docker
  • 现代Python 3.11+ 带有类型提示和async/await

可用工具

工具 说明
list_operating_areas 列出所有具有计数的KPI类别
get_kpis_by_operating_area 获取特定类别中的KPI
search_kpis 使用自然语言对KPI进行语义搜索
get_kpi_metadata 获取特定KPI的详细元数据
fetch_kolada_data 获取市政当局的原始KPI数据
analyze_kpi_across_municipalities 与排名的比较分析
compare_kpis 比较两个关键绩效指标(差异或相关性)
list_municipalities 列出城市/地区
filter_municipalities_by_kpi 按KPI阈值筛选

安装

使用pip

pip install -e .

使用Docker

docker-compose up -d kolada-mcp

用法

标准模式(默认)

kolada-mcp
# or
python -m kolada_mcp

HTTP模式

MCP_TRANSPORT=http PORT=8001 kolada-mcp

Claude桌面集成

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "kolada": {
      "command": "kolada-mcp"
    }
  }
}

配置

环境变量:

变量 默认值 描述
MCP_TRANSPORT stdio 运输方式(stdio 或 http)
PORT 8001 HTTP服务器端口
LOG_LEVEL INFO 日志记录级别

发展

设置

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install with dev dependencies
pip install -e ".[dev]"

运行测试

pytest

代码质量

# Linting
ruff check src tests

# Type checking
mypy src

建筑

src/kolada_mcp/
├── __init__.py          # Package init
├── __main__.py          # Entry point
├── config.py            # Settings (Pydantic)
├── server.py            # FastMCP server
├── models/
│   └── types.py         # Data models
├── services/
│   ├── kolada_client.py # API client
│   ├── embeddings.py    # Semantic search
│   └── data_processing.py
└── tools/
    ├── metadata.py      # KPI metadata tools
    ├── data.py          # Data fetching tools
    ├── municipality.py  # Municipality tools
    └── comparison.py    # Comparison tools

许可证

阿帕奇-2.0