返回市场
源码协作MCP

源码协作MCP

作者:yharby2 星标更新:2025-11-09

项目介绍

源合作MCP服务器

测试 PyPI版本 Python 3.11+ 许可证: MIT

通过AI代理发现并访问超过800TB的地理空间数据。

这是为源合作提供的MCP(模型上下文协议)服务器——一个包含Maxar、哈佛大学、ESA、USGS等90多个组织的数据集的合作存储库。


🏗️ 架构概述

graph TB
    subgraph "AI客户端"
        A1[Claude桌面]
        A2[Claude代码]
        A3[光标]
        A4[Cline]
        A5[Zed]
        A6[继续开发]
    end

    subgraph "MCP服务器"
        MCP[源合作MCP<br/>FastMCP + obstore]
    end

    subgraph "6种可用工具"
        T1[列出账户<br/>94+个组织]
        T2[列出产品<br/>混合S3+API]
        T3[获取产品详情<br/>+README]
        T4[列出产品文件<br/>树模式]
        T5[获取文件元数据<br/>不下载]
        T6[搜索<br/>模糊匹配]
    end

    subgraph "数据来源"
        S1[HTTP API<br/>source.coop/api]
        S2[S3直接<br/>opendata.source.coop]
    end

    A1 -->|JSON-RPC| MCP
    A2 -->|JSON-RPC| MCP
    A3 -->|JSON-RPC| MCP
    A4 -->|JSON-RPC| MCP
    A5 -->|JSON-RPC| MCP
    A6 -->|JSON-RPC| MCP

    MCP --> T1
    MCP --> T2
    MCP --> T3
    MCP --> T4
    MCP --> T5
    MCP --> T6

    T1 --> S2
    T2 --> S1
    T2 --> S2
    T3 --> S1
    T3 --> S2
    T4 --> S2
    T5 --> S2
    T6 --> S1

    style MCP fill:#4CAF50,stroke:#2E7D32,stroke-width:3px,color:#fff
    style S1 fill:#2196F3,stroke:#1976D2,stroke-width:2px,color:#fff
    style S2 fill:#2196F3,stroke:#1976D2,stroke-width:2px,color:#fff

关键特性:

  • 令牌优化 - 大数据集减少72%
  • 智能分区 - 自动检测Hive风格模式
  • 模糊搜索 - 处理拼写错误和部分匹配
  • 无需认证 - 所有800TB+数据都是公开的

🚀 快速开始

安装

uvx source-coop-mcp

配置您的AI客户端

Claude桌面 / Claude代码 / 光标 / Cline

添加到配置文件中:

  • Claude桌面~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
  • Claude代码:VS Code settings.json
  • 光标:光标设置
  • Cline:Cline MCP设置
{
  "mcpServers": {
    "source-coop": {
      "command": "uvx",
      "args": ["source-coop-mcp"]
    }
  }
}

Zed

添加到Zed设置:

{
  "context_servers": {
    "source-coop": {
      "command": "uvx",
      "args": ["source-coop-mcp"]
    }
  }
}

继续开发

添加到继续配置(~/.continue/config.json):

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "uvx",
          "args": ["source-coop-mcp"]
        }
      }
    ]
  }
}

重启您的AI客户端并开始探索!


🛠️ 可用工具

工具目的性能
list_accounts()查找所有94+个组织~850毫秒
list_products()混合模式:S3模式(默认)用于所有数据集+文件计数~240毫秒
list_products(include_unpublished=False)API模式用于已发布的数据集及其丰富的元数据~500毫秒
get_product_details()获取元数据+自动README~650毫秒
list_product_files()列出带有S3/HTTP路径的文件~240毫秒
list_product_files(show_tree=True)树视图(72%令牌节省)~980毫秒
get_file_metadata()获取文件信息而不下载~230毫秒
search(query)混合模式:搜索账户+产品(已发布+未发布),前5个结果~5-10秒

💡 您可以做什么

发现数据

"列出源合作中的所有组织"
→ 返回94+个组织:maxar, planet, harvard等。

"查找harvard-lil的所有数据集"
→ 发现已发布+未发布的产品

"搜索气候数据集"
→ 智能模糊搜索处理拼写错误和部分匹配

访问文件

"列出harvard-lil/gov-data中的文件"
→ 返回可用于分析的S3路径和HTTP URL

"显示具有分区检测的文件树"
→ 智能可视化:年份={2020,2021,...+5更多}/ [分区]

"获取文件元数据而不下载"
→ 大小,最后修改时间,ETag

智能搜索

"搜索climte"(拼写错误)
→ 查找“气候”数据集(模糊匹配)

"搜索geo"(部分匹配)
→ 查找“地理空间”,“地理编码”等。

⚡ 特性

特性描述
完全发现查找官方API未显示的未发布产品
无需认证所有800TB+数据都是公开的
快速性能Rust支持的S3客户端(比boto3快9倍)
令牌优化树模式:大型数据集72%令牌减少
智能分区自动检测模式:年份={2020,2021,...}
模糊搜索处理拼写错误和部分匹配
README集成文档自动包含
800TB+数据94+个组织,地理空间数据集

📋 示例工作流程

1. "列出所有组织"
   → 获取94+个账户名称

2. "展示来自maxar的所有数据集"
   → 发现已发布+未发布的产品

3. "搜索气候数据"
   → 智能模糊搜索找到相关数据集

4. "获取harvard-lil/gov-data的详细信息"
   → 完整元数据+README内容

5. "以树视图列出此数据集中的文件"
   → 令牌优化树与分区检测

🎯 为什么选择这个服务器?

问题

源合作拥有超过800TB的有价值数据,但:

  • 官方API仅显示已发布的产品
  • 没有自动发现组织
  • 需要知道您在寻找什么

解决方案

此MCP服务器提供:

  • ✅ 完全自动发现(已发布+未发布)
  • ✅ 带有模糊匹配的智能搜索
  • ✅ 对所有文件的直接S3访问
  • ✅ 令牌优化输出(72%减少)
  • ✅ 智能分区检测(10-88%额外节省)
  • ✅ 自动包含README文档
  • ✅ 不需要认证

📊 性能

所有操作在1秒内完成:

list_accounts():                          ~850毫秒  (94+个组织)
list_products():                          ~240毫秒  (S3模式 - 所有数据集+文件计数)
list_products(include_unpublished=False): ~500毫秒  (API模式 - 已发布带元数据)
list_product_files():                     ~240毫秒  (简单列表)
list_product_files(tree=True):            ~980毫秒  (72%令牌节省)
get_file_metadata():                      ~230毫秒  (仅HEAD)
search(query):                            ~5-10秒  (混合搜索 - 一次递归S3扫描,前5个丰富结果)

令牌优化影响

数据集大小无树有树节省
10个文件1,500个令牌415个令牌72.3%
100个文件15,000个令牌4,150个令牌72.3%
1,000个文件150,000个令牌41,500个令牌72.3%

带有分区检测(1,000个分区):总计节省88%!


🔧 要求

  • Python:3.11或更高版本
  • 包管理器uv(由uvx自动安装)
  • 操作系统:macOS,Linux,Windows

🤝 开发

参见DEVELOPMENT.md

  • 架构细节
  • 测试说明
  • 贡献指南
  • 性能基准
  • 令牌优化细节

📝 支持


📄 许可证

MIT许可证 - 详情见LICENSE