Content
# Kolada MCP Server
A clean, standalone MCP (Model Context Protocol) server for Sweden's Kolada municipal statistics API.
## Overview
This server provides AI applications with access to Sweden's comprehensive municipal and regional statistics database. It enables natural language queries against thousands of Key Performance Indicators (KPIs) covering various aspects of Swedish public sector data.
## Features
- **9 MCP Tools** for comprehensive data access
- **Semantic Search** using Swedish BERT embeddings
- **No External Dependencies** - fully standalone (no Mima or Redis)
- **Containerized** with Docker support
- **Modern Python 3.11+** with type hints and async/await
## Available Tools
| Tool | Description |
|------|-------------|
| `list_operating_areas` | List all KPI categories with counts |
| `get_kpis_by_operating_area` | Get KPIs within a specific category |
| `search_kpis` | Semantic search for KPIs using natural language |
| `get_kpi_metadata` | Get detailed metadata for a specific KPI |
| `fetch_kolada_data` | Fetch raw KPI data for municipalities |
| `analyze_kpi_across_municipalities` | Comparative analysis with rankings |
| `compare_kpis` | Compare two KPIs (difference or correlation) |
| `list_municipalities` | List municipalities/regions |
| `filter_municipalities_by_kpi` | Filter by KPI threshold |
## Installation
### Using pip
```bash
pip install -e .
```
### Using Docker
```bash
docker-compose up -d kolada-mcp
```
## Usage
### Stdio Mode (Default)
```bash
kolada-mcp
# or
python -m kolada_mcp
```
### HTTP Mode
```bash
MCP_TRANSPORT=http PORT=8001 kolada-mcp
```
### Claude Desktop Integration
Add to your Claude Desktop configuration:
```json
{
"mcpServers": {
"kolada": {
"command": "kolada-mcp"
}
}
}
```
## Configuration
Environment variables:
| Variable | Default | Description |
|----------|---------|-------------|
| `MCP_TRANSPORT` | `stdio` | Transport mode (`stdio` or `http`) |
| `PORT` | `8001` | HTTP server port |
| `LOG_LEVEL` | `INFO` | Logging level |
## Development
### Setup
```bash
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install with dev dependencies
pip install -e ".[dev]"
```
### Running Tests
```bash
pytest
```
### Code Quality
```bash
# Linting
ruff check src tests
# Type checking
mypy src
```
## Architecture
```
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
```
## License
Apache-2.0
Connection Info
You Might Also Like
MarkItDown MCP
Converting files and office documents to Markdown.
Filesystem
Model Context Protocol Servers
Sequential Thinking
Offers a structured approach to dynamic and reflective problem-solving,...
TrendRadar
🎯 Say goodbye to information overload. AI helps you understand news hotspots...
Github
GitHub's official MCP Server
opik
Debug, evaluate, and monitor your LLM applications, RAG systems, and agentic...