Token导航 LogoToken导航

MCP Server · 数据服务

Nl Opendata MCP

NL OpenData MCP Server是一个用于访问荷兰政府开放数据的模型上下文协议(MCP)服务器,支持从CBS和data.overheid.nl获取统计数据集,并提供查询、过滤、下载和分析功能。

stdio官方级别未说明来源级核验工具 11
数据分析开放数据PythonClaudeClaude Desktop

快速开始

作者 / 组织
soulnai
提供方
soulnai
运行时
Python

工具数量

11

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Nl Opendata MCP 属于数据服务类 MCP Server,公开资料标注 11 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uvx nl-opendata-mcp

客户端配置示例

{
  "mcpServers": {
    "nl-opendata-mcp": {
      "command": "uvx",
      "args": [
        "nl-opendata-mcp"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 11 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

NL OpenData MCP服务器

全面 模型上下文协议(MCP) 用于访问荷兰政府公开数据的服务器 CBS(中央统计局) 和 数据.政府.nl.

这是一个小型的附带项目,旨在试验MCP,看看它是否有助于访问荷兰政府的开放数据。 它还没有准备好生产,不应该用于生产。

我用Claude Desktop和LM Studio测试过它,它运行得很好。它应该适用于大多数MCP客户端。 结果始终取决于您使用的模型的质量。前沿模型很好地理解数据和mcp工具,并产生了良好的结果。本地模型可能无法理解工具调用并产生意外结果。

对于局部模型,我使用Devstral2小模型获得了最佳结果,gpt-oss 20b紧随其后。上下文长度是局部模型的一个非常有限的因素。Yo需要至少30000个令牌上下文长度才能进行基本分析。

______________________________________________________________________

✨ 特性

  • 📊 访问4800+CBS数据集 -浏览和查询人口、经济、健康、环境等统计数据
  • 🔍 智能搜索 -使用本地缓存按标题、摘要或两者搜索数据集,以获得快速结果
  • 📥 灵活的数据获取 -查询、过滤和下载CSV或Parquet格式的数据集
  • 🦆 DuckDB集成 -将数据集直接保存到DuckDB,以实现高效的SQL查询
  • 🐍 Python分析 -直接在数据集上执行Pandas代码,无需下载
  • 🗂️ 双源支持 -检查CBS OData和data.overheid.nl的可用性

______________________________________________________________________

📦 安装

使用uvx(推荐)

# Run directly from PyPI
uvx nl-opendata-mcp

# Or run directly from GitHub
uvx --from git+https://github.com/soulnai/nl-opendata-mcp.git nl-opendata-mcp

用pip/uv安装

# Install from PyPI
uv pip install nl-opendata-mcp

# Install from GitHub
uv pip install git+https://github.com/soulnai/nl-opendata-mcp.git

来源(发展)

# Clone the repository
git clone https://github.com/soulnai/nl-opendata-mcp.git
cd nl-opendata-mcp

# Install dependencies and package in editable mode
uv sync
uv pip install -e .

# Run the server
uv run nl-opendata-mcp

______________________________________________________________________

🔧 配置

克劳德桌面

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
  "mcpServers": {
    "nl-opendata-mcp": {
      "command": "uvx",
      "args": ["nl-opendata-mcp"]
    }
  }
}

LM 工作室

添加到LM Studio配置(mcp.json):

{
  "mcpServers": {
    "nl-opendata-mcp": {
      "command": "uvx",
      "args": ["nl-opendata-mcp"]
    }
  }
}

使用环境变量

服务器支持不同的传输模式:

# Default: stdio transport
uvx nl-opendata-mcp

# HTTP transport (port 8000)
TRANSPORT=http uvx nl-opendata-mcp

# SSE transport (port 8000)
TRANSPORT=sse uvx nl-opendata-mcp

______________________________________________________________________

🛠️ 可用工具

发现工具

工具说明
cbs_list_datasets列出CBS目录中的可用数据集
cbs_search_datasets按关键字搜索数据集(在标题、摘要或两者中)
cbs_check_dataset_availability检查数据集是否可通过CBS OData或data.overheid.nl获得
cbs_estimate_dataset_size在获取之前估计数据集大小(行、列、推荐策略)
cbs_inspect_dataset_details获取全面的数据集摘要(元数据、结构、示例数据)

元数据工具

工具说明
cbs_get_metadata统一元数据工具-获取信息、结构、维度值或自定义端点

cbs_get_metadata 类型:

  • metadata_type="info" -数据集描述(表信息)
  • metadata_type="structure" -列定义和数据类型(DataProperty)
  • metadata_type="endpoints" -可用元数据端点
  • metadata_type="dimensions" -带有过滤代码的维度值(需要 endpoint_name)
  • metadata_type="custom" -查询自定义终结点(需要 endpoint_name)

数据获取工具

工具说明
cbs_query_dataset通过过滤和列选择查询数据
cbs_save_dataset将数据集保存到CSV(使用 fetch_all=True 完整数据集)
cbs_save_dataset_to_duckdb将数据集保存到DuckDB以进行SQL查询

分析工具(默认禁用)

工具说明
cbs_analyze_remote_dataset在远程数据集上执行Python/Pandas代码
cbs_analyze_local_dataset在本地CSV文件上执行Python/Pandas代码

______________________________________________________________________

📖 使用示例

1.发现数据集

列出可用数据集:

Use cbs_list_datasets with top=20 to see the first 20 datasets

搜索人口数据:

Use cbs_search_datasets with query="bevolking" to find population datasets

仅在标题中搜索:

Use cbs_search_datasets with query="inflatie" and search_field="title"

______________________________________________________________________

2.探索数据集

获取全面概述(建议的第一步):

Use cbs_inspect_dataset_details with dataset_id="85313NED"

# Returns:
# - Source confirmation (CBS OData or data.overheid.nl)
# - Title and description
# - Column definitions with types
# - Sample data (first 5 rows)

在获取之前检查数据集大小:

Use cbs_estimate_dataset_size with dataset_id="85313NED"

# Returns:
# - Estimated row count
# - Column count
# - Recommended fetch strategy

获取详细的列结构:

Use cbs_get_metadata with dataset_id="85313NED" and metadata_type="structure"

# Returns CSV with: Key, Type, Title, Description for each column

______________________________________________________________________

3.查询数据

带分页的基本查询:

Use cbs_query_dataset with:
  - dataset_id="85313NED"
  - top=100
  - skip=0

使用OData筛选器进行查询:

Use cbs_query_dataset with:
  - dataset_id="85313NED"
  - filter="Perioden eq '2023JJ00'"
  - top=50

选择特定列:

Use cbs_query_dataset with:
  - dataset_id="85313NED"
  - select=["Perioden", "TotaleBevolking_1", "Mannen_2", "Vrouwen_3"]
  - top=100

多条件查询:

Use cbs_query_dataset with:
  - dataset_id="85313NED"
  - filter="Perioden eq '2023JJ00' and Leeftijd eq '10000'"

______________________________________________________________________

4.下载完整数据集

将完整数据集保存到CSV:

Use cbs_save_dataset with:
  - dataset_id="85313NED"
  - file_name="population_data.csv"
  - fetch_all=true

保存到DuckDB进行SQL分析(支持列选择):

Use cbs_save_dataset_to_duckdb with:
  - dataset_id="85313NED"
  - table_name="population"
  - fetch_all=true

# Creates datasets.db with table 'population'

______________________________________________________________________

5.分析数据

注意:默认情况下,分析工具处于禁用状态。要启用它们,请设置 USE_PYTHON_ANALYSIS=true 在环境中。让模型在客户端机器上编写和执行Python代码存在安全风险。仅建议高级用户使用。最好让模型查询并将数据保存到文件中,并让您的CLI LLM编码工具通过编写和执行脚本来分析它。如果您在非CLI环境(如LM Studio)中运行它,并且仍然希望赋予它分析数据的能力,则可以通过设置来启用它 USE_PYTHON_ANALYSIS=true 在环境中。

使用Pandas分析远程数据集:

Use cbs_analyze_remote_dataset with:
  - dataset_id="85313NED"
  - analysis_code="print(df.describe())"

统计计算:

Use cbs_analyze_remote_dataset with:
  - dataset_id="85313NED"
  - analysis_code="result = df['TotaleBevolking_1'].mean()"

过滤器和骨料:

Use cbs_analyze_remote_dataset with:
  - dataset_id="85313NED"
  - analysis_code="""
    filtered = df[df['Perioden'].str.contains('2023')]
    result = filtered.groupby('Leeftijd')['TotaleBevolking_1'].sum()
    print(result)
    """

分析本地CSV文件:

Use cbs_analyze_local_dataset with:
  - dataset_path="downloads/85313NED_full.csv"
  - analysis_code="print(df.info())"

______________________________________________________________________

6.使用元数据

获取分类代码(例如,性别类别):

Use cbs_get_metadata with:
  - dataset_id="85313NED"
  - metadata_type="dimensions"
  - endpoint_name="Geslacht"

获取时间段定义:

Use cbs_get_metadata with:
  - dataset_id="85313NED"
  - metadata_type="dimensions"
  - endpoint_name="Perioden"

______________________________________________________________________

🎯 常见工作流

工作流程1:快速数据探索

1. cbs_search_datasets(query="unemployment")              # Find relevant datasets
2. cbs_inspect_dataset_details(dataset_id="82809NED")     # Get overview
3. cbs_query_dataset(dataset_id="82809NED", top=10)       # Preview data

工作流程2:完整数据集分析

1. cbs_estimate_dataset_size(dataset_id="85313NED")       # Check size
2. cbs_save_dataset_to_duckdb(dataset_id="85313NED")      # Save to DuckDB
3. Query using DuckDB CLI or cbs_analyze_local_dataset

工作流程3:筛选数据导出

1. cbs_get_metadata(dataset_id="85313NED", metadata_type="structure")  # Get column names
2. cbs_get_metadata(dataset_id="85313NED", metadata_type="dimensions", endpoint_name="Perioden")  # Get period codes
3. cbs_query_dataset(dataset_id="85313NED", filter="Perioden eq '2023JJ00'", select=["..."])  # Query
4. cbs_save_dataset(dataset_id="85313NED", file_name="filtered_data.csv")  # Export

______________________________________________________________________

📁 输出格式

格式用例
CSV文件通用兼容性,适用于Excel、Pandas等。
DuckDBSQL查询,跨多个数据集连接

______________________________________________________________________

🔗 OData筛选器示例

CBS OData API使用OData v3语法进行筛选:

# Exact match
Perioden eq '2023JJ00'

# Substring match
substringof('Amsterdam', RegioS)

# Multiple conditions
Perioden eq '2023JJ00' and Leeftijd eq '10000'

# OR conditions
Geslacht eq '1100' or Geslacht eq '2000'

# Numeric comparisons
TotaleBevolking_1 gt 100000

______________________________________________________________________

📚 资源

______________________________________________________________________

工具与能力

工具数量

11

资源数量

0

提示词数量

0

能力标签

开放数据Python本地部署统计数据集数据查询数据分析DuckDB集成

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 工具数量 11 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Nl Opendata MCP

MCP World · 本页

11stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Nl Opendata MCP 怎么安装?

公开资料给出的安装命令是 uvx nl-opendata-mcp,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Nl Opendata MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Nl Opendata MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Nl Opendata MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Nl Opendata MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP