开放数据访问服务

MCP Etalab是一个通过data.gouv.fr API访问法国开放数据的服务器,支持数据集搜索、下载、内存存储和查询功能。

  • by Guiraud
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Guiraud/mcp-etalab

使用说明

MCP Etalab

MCP(模型上下文协议)服务器,用于通过data.gouv.fr API访问法国开放数据。

🎯 目标

该MCP服务器允许在MCP兼容应用程序(包括Claude Desktop)中轻松集成对法国开放数据的访问。

🚀 安装

npm install
npm run build

🛠️ 发展

npm run dev

📖 可用工具

🔍 研究与咨询

  • search_datasets -搜索数据集
  • get_dataset -获取数据集的详细信息
  • list_organizations -列出组织
  • get_organization -组织的详细信息

📥 下载和分析

  • download_resource -下载和分析数据(CSV、JSON、XML、TXT)

💾 内存中的数据管理

  • list_stored_datasets -列出存储在内存中的数据集(最多5个)
  • query_stored_data -使用过滤器、排序和限制查询数据
  • get_stored_dataset -获取存储数据集的详细信息
  • remove_stored_dataset -从内存中删除数据集
  • clear_stored_datasets -清空所有内存

🆕 新功能

下载和数据分析

服务器可以直接下载数据资源并对其进行分析:

  • 支持的格式 :CSV、JSON、XML、TXT
  • 自动分析 :格式、结构、列检测
  • 智能预览 :用于勘探的数据样本
  • 内存存储 :数据将自动存储以供以后查询

储存和审问备忘录

下载的数据自动存储在内存中(最多5个数据集):

  • 过滤 :使用不同运算符(equals、contains、gt、lt)按列筛选数据
  • 三 :按任何列对结果进行排序(ASC/DESC)
  • 极限 :限制结果的数量
  • 投影 :仅选择您感兴趣的列

使用示例

工作流完成

  1. 搜索数据集 : "Trouve-moi des datasets sur les transports"
  2. 获取详细信息 : "Montre-moi les ressources du dataset XYZ"
  3. 下载数据 : "Télécharge cette ressource CSV: [URL]"
  4. 列出存储的数据集 : "Liste les datasets en mémoire"
  5. 查询数据 : "Affiche les lignes où la colonne 'ville' contient 'Paris'"

高级请求示例

"Filtre le dataset ABC123 pour ne garder que les lignes où le prix est supérieur à 100"

"Trie le dataset ABC123 par date de façon décroissante et limite à 20 résultats"

"Récupère uniquement les colonnes 'nom' et 'prix' du dataset ABC123"

⚙️ 配置限制

全局修改(选项A-推荐)

编辑文件 src/config/index.ts 要更改默认限制:

export const Config = {
  // Limites de téléchargement
  download: {
    maxSizeMB: 100,          // Taille maximale par défaut (défaut: 50MB)
    maxSizeAbsoluteMB: 500,  // Limite absolue (défaut: 200MB)
    timeoutMs: 120000,       // Timeout téléchargement 2min (défaut: 60s)
  },
  
  // Limites d'aperçu
  preview: {
    csvMaxLines: 1000,       // Lignes CSV à afficher (défaut: 500)
    csvSampleLines: 20,      // Échantillon CSV (défaut: 10)
    xmlMaxLines: 100,        // Lignes XML (défaut: 50)
    textMaxLines: 200,       // Lignes texte (défaut: 100)
  },
  
  // API data.gouv.fr
  api: {
    timeoutMs: 60000,        // Timeout API (défaut: 30s)
  },
  
  // Pagination
  pagination: {
    defaultPageSize: 50,     // Taille page (défaut: 20)
    maxPageSize: 200,        // Limite page (défaut: 100)
  },
}

应用更改

修改配置文件后:

npm run build
# Redémarrer Claude Desktop

按用途分列的建议

📊 对于标准数据分析:

  • maxSizeMB: 50-100 (性能/效用平衡)
  • csvMaxLines: 500-1000 (避免过载)
  • timeoutMs: 60000 (1分钟)

🔬 对于大数据集分析:

  • maxSizeMB: 200-500 (根据您的需要)
  • csvMaxLines: 2000 (更多详情)
  • timeoutMs: 180000 (3分钟)
  • 使用 preview: false 在请求中

⚡ 快速测试:

  • maxSizeMB: 20 (仅限小文件)
  • csvMaxLines: 100 (快速查看)
  • timeoutMs: 30000 (30秒)

详细配置

有关更多配置选项,请参阅文件 CONFIGURATION.md.

🔧 配置

服务器连接到data.gouv.fr的公共API。大多数操作不需要身份验证。

📚 文档

🤝 贡献

欢迎捐款!请打开问题或合并请求。

📄 许可证

麻省理工学院