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)
- 极限 :限制结果的数量
- 投影 :仅选择您感兴趣的列
使用示例
工作流完成
- 搜索数据集 :
"Trouve-moi des datasets sur les transports" - 获取详细信息 :
"Montre-moi les ressources du dataset XYZ" - 下载数据 :
"Télécharge cette ressource CSV: [URL]" - 列出存储的数据集 :
"Liste les datasets en mémoire" - 查询数据 :
"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。大多数操作不需要身份验证。
📚 文档
🤝 贡献
欢迎捐款!请打开问题或合并请求。
📄 许可证
麻省理工学院
