 
📊 SCB MCP服务器
SCB MCP是LLM和AI聊天机器人可以使用的服务器,用于搜索,查找和检索统计局(SCB)的官方数据和统计数据。它包括1200多个统计表,包括人口与人口,经济与金融,环境,劳动力市场,教育和运输的数据。非常适合构建交互式仪表板,研究工具和教育应用程序。
______________________________________________________________________
概述
🇬🇧 Overview
SCB MCP服务器提供与 瑞典统计局PxWebAPI 2.0,使LLM:s能够访问:
- 人口与人口统计\*区域数据、移徙、出生、死亡(312+个区域)
- 经济与金融:国内生产总值、税收、商业统计、国民账户
- 环境:温室气体排放、水/废物管理、可持续性指标
- 劳动力市场:就业、失业、职业数据、技能匹配
- 教育:学生统计、课程注册、技能发展
数据范围从20世纪50年代到现在(每月/每季度更新)。实时人口统计数据更新至2025年11月。
SCB MCP-servern ger sömlös integrering med Statistikbyråns (SCB) PxWebAPI 2.0, vilket gör det möjligt för LLM:s att tillgå:
- 人物与图表区域数据,移民,出生,死亡(312+地区)
- 经济和金融国内生产总值,税收,企业统计,国民账户
- 环境温室气体、水/废物管理、可持续发展价值
- 劳动力市场就业、失业、职业数据、技能匹配
- 教育学生统计,课程报名,技能发展
______________________________________________________________________
🇬🇧 Key features (English)
| 特性 | 描述 |
|---|---|
| 全面访问 | 1200+个表格,312+个地区,75+年的历史数据 |
| 智能查询 | 自然语言搜索,区域代码解析(“Lerum”→ 1441),TOP()&通配符支持 |
| 模糊匹配 | “哥德堡”匹配“哥德堡”,“马尔默”匹配“马尔默 |
| 开发者友好 | 完整的文档、明确的建议错误、选择验证、回复中的元数据 |
| 生产就绪 | 速率限制(30个要求/10秒)、一致的行为、适当的数据类型、语言支持(SV/EN) |
| 瑞典语默认 | 所有工具都使用瑞典语(sv)作为最佳搜索结果的默认值 |
| 实时数据 | 每月/每季度更新,截至2025年11月的人口数据 |
主要功能
| Funktion | Beskrivning |
|---|---|
| 广泛访问 | 1200+ 表格, 312+ 地区, 75+ 年的历史数据 |
| 智能搜索 自然语言搜索,区域代码分辨率(“Lerum” → 1441),TOP() 和通配符支持 | |
| 模糊匹配 | “哥德堡”对阵“哥德堡”,“马尔默”对阵“马尔默” |
| 开发者友好 完整的文档,明确的错误消息,验证选项,答案中的元数据 | |
| 生产准备 速率限制(30 req/10s),一致的行为,正确的数据类型,语言支持 | |
| 瑞典标准 所有工具都使用中文(zh)作为默认值以获得最佳搜索结果。 | |
| 当前数据 每月/季度更新,截至2025年11月的人口数据 |
______________________________________________________________________
🚀 安装
服务器通过stdio在本地运行。克隆、构建和指向 MCP 客户端 dist/index.js.
git clone https://github.com/isakskogstad/SCB-MCP.git
cd SCB-MCP
npm install
npm run build克劳德代码(CLI)
claude mcp add scb -- node /absolut/sökväg/till/SCB-MCP/dist/index.js克劳德桌面/Codex/双子座/光标(stdio)
添加到客户端的 MCP 配置(例如: ~/Library/Application Support/Claude/claude_desktop_config.json 关於 Claude Desktop:
{
"mcpServers": {
"scb": {
"command": "node",
"args": ["/absolut/sökväg/till/SCB-MCP/dist/index.js"]
}
}
}🇬🇧 Installation (English)
服务器通过stdio在本地运行。克隆、构建MCP客户端并将其指向 dist/index.js.
git clone https://github.com/isakskogstad/SCB-MCP.git
cd SCB-MCP
npm install
npm run build克劳德代码(CLI)
claude mcp add scb -- node /absolute/path/to/SCB-MCP/dist/index.js克劳德桌面/Codex/双子座/光标(stdio)
{
"mcpServers": {
"scb": {
"command": "node",
"args": ["/absolute/path/to/SCB-MCP/dist/index.js"]
}
}
}______________________________________________________________________
用户指南
1. 搜索统计表格
# Hitta befolkningsrelaterade tabeller
results = scb.search_tables(query="befolkning statistik", limit=10)
# Filtrera efter kategori
results = scb.search_tables(query="miljö", category="environment", limit=5)🇬🇧 Usage guide (English)
1.搜索统计表
results = scb.search_tables(query="population", limit=10)
results = scb.search_tables(query="environment", category="environment", limit=5)______________________________________________________________________
2. 查找区号
# Lerum kommun
region = scb.find_region_code(query="Lerum")
# Returnerar: code="1441", name="Lerum"
# Större regioner
region = scb.find_region_code(query="Stockholm")
# Returnerar: code="01" (län), code="0180" (kommun)
# Fuzzy matching - fungerar utan svenska tecken
region = scb.find_region_code(query="Goteborg")
# Returnerar: code="1480", name="Göteborg"🇬🇧 Resolve region codes (English)
region = scb.find_region_code(query="Lerum")
region = scb.find_region_code(query="Stockholm")
# Fuzzy matching - works without Swedish characters
region = scb.find_region_code(query="Goteborg")
# Returns: code="1480", name="Göteborg"______________________________________________________________________
3. 获取数据
# Medelålder i Lerum 2024
data = scb.get_table_data(
tableId="TAB637",
selection={
"Region": ["1441"],
"Kon": ["1+2"],
"Tid": ["2024"],
"ContentsCode": ["BE0101G9"]
}
)
# Resultat: Medelålder i Lerum 2024: 40.1 år🇬🇧 Fetch data (English)
data = scb.get_table_data(
tableId="TAB637",
selection={
"Region": ["1441"],
"Kon": ["1+2"],
"Tid": ["2024"],
"ContentsCode": ["BE0101G9"]
}
)______________________________________________________________________
最佳实践
| 问题 | 解决方案 |
|---|---|
大量数据? 总是使用 preview_data() 首先是为了测试。 | |
| 数据太多? | 使用 "TOP(5)" 而不是 "*" 对于时间段。 |
| 错误的代码? | Anropa get_table_variables() 首先,代码在表之间有所不同。 |
| 不确定设备? 检查单位的变量标签(千克,吨,百分比等)。 |
🇬🇧 Best practices (English)
| 问题 | 解决方案 |
|---|---|
| 大数据集? | 始终使用 preview_data() 首先进行测试 |
| 数据太多? | 使用 "TOP(5)" 而不是 "*" 对于时间段 |
| 错误的代码? | 呼叫 get_table_variables() 第一,表之间的代码不同 |
| 不确定单位? | 检查单位变量标签(kt、吨、百分比等) |
______________________________________________________________________
实际实例
例如:人口趋势Lerum vs 斯德哥尔摩
# Jämför två regioner över tid
data = scb.get_table_data(
tableId="TAB637",
selection={
"Region": ["1441", "0180"], # Lerum och Stockholm
"Kon": ["1+2"],
"Tid": ["TOP(5)"],
"ContentsCode": ["BE0101G9"]
}
)
# Stockholm: 41.0 år (2024), Lerum: 40.1 år (2024)
# Trend: Stockholm åldras snabbare🇬🇧 Example 1: Population trends (English)
data = scb.get_table_data(
tableId="TAB637",
selection={
"Region": ["1441", "0180"], # Lerum and Stockholm
"Kon": ["1+2"],
"Tid": ["TOP(5)"],
"ContentsCode": ["BE0101G9"]
}
)
# Stockholm: 41.0 years (2024), Lerum: 40.1 years (2024)______________________________________________________________________
资源
- Scb数据发布: https://www.scb.se/
- API 文档: https://www.scb.se/en/services/open-data-api/pxwebapi/
- 数据浏览器: https://pxweb.scb.se/pxweb/en/
______________________________________________________________________
作者:伊萨克·斯科斯塔德。
