AI组件管理协议

ICICLE AI Component MCP 是一个AI驱动的组件管理协议,允许开发者在IDE中探索、实现和迭代ICICLE组件,提供组件列表、搜索和元数据检索功能。

  • by ICICLE-ai
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ICICLE-ai/catalog_mcp

使用说明

ICICLE AI组件MCP

ICICLE AI组件MCP允许开发人员使用AI驱动的IDE来探索ICICLE组件,然后 直接从IDE内的聊天中实现、实验和迭代。它暴露了 用于在MCP上列出、搜索和检索组件元数据的工具。

标签:软件

致谢

美国国家科学基金会(NSF)资助的环境计算学习智能网络基础设施人工智能研究所(ICICLE)(OAC 2112606)

问题报告

报告问题https://github.com/ICICLE-ai/catalog_mcp/issues并包括 您的IDE、Python版本和完整的错误消息或堆栈跟踪。


教程

开始

先决条件:

  • Python 3.10+
  • 互联网访问以获取目录YAML

步骤:

  1. 创建并激活虚拟环境。
python3 -m venv .venv
source .venv/bin/activate
  1. 安装依赖项。
pip install -r requirements.txt
  1. 运行MCP服务器。
python server.py
  1. 将MCP客户端连接到stdio服务器(光标MCP设置)。

预期成果:

  • MCP工具,如 list_components 和 search_components 返回目录数据。

从Cursor或Claude桌面连接

先决条件:

  • 服务器已安装并可运行 python server.py.

步骤(光标):

  1. 在以下位置创建本地MCP配置文件 .cursor/mcp.json.
{
  "mcpServers": {
    "icicle-catalog": {
      "command": "./.venv/bin/python",
      "args": ["./server.py"]
    }
  }
}
  1. 在Cursor中,打开MCP设置并启用 icicle-catalog 服务器。
  2. 在聊天中,问一个问题,比如:“列出2025-07版本中的组件。”

步骤(克劳德桌面):

  1. 在以下位置创建本地MCP配置文件 .claude/mcp.json.
{
  "mcpServers": {
    "icicle-catalog": {
      "command": "./.venv/bin/python",
      "args": ["./server.py"]
    }
  }
}
  1. 在Claude Desktop MCP设置中启用服务器。
  2. 问:“搜索Foundation AI的组件。”

预期成果:

  • IDE可以调用以下工具 list_components 和 search_components 直接从聊天。

聊天请求和响应示例:

User: Show me ICICLE components related to Foundation AI.
Assistant: I found 7 components. Here are the top 3: [component list...]

如何指导

按关键词搜索

问题:

  • 查找与查询字符串匹配的组件。

步骤:

  1. 请IDE聊天室搜索目录。

例子:

User: Find ICICLE components related to Foundation AI.
Assistant: I found 7 components. Here are the top 3: [component list...]

JSON工具调用(高级):

{"tool": "search_components", "args": {"query": "Foundation AI"}}

提示:

  • 使用更广泛的术语来提高记忆力。

故障排除:

  • 如果结果为空,请验证网络访问和目录URL。

按发布筛选

问题:

  • 列出目标版本的组件。

步骤:

  1. 请IDE聊天室列出某个版本的组件。

例子:

User: List all ICICLE components in release 2025-07.
Assistant: I found 42 components in 2025-07. Here are the first 10: [component list...]

JSON工具调用(高级):

{"tool": "list_components", "args": {"target_release": "2025-07"}}

提示:

  • 合并 primary_thrust 和 public_access 以获得更窄的结果。

故障排除:

  • 如果请求超时,请重试或增加 CATALOG_TIMEOUT.

解释

概述

核心概念:

  • 服务器通过HTTPS获取YAML目录,并公开MCP工具和资源。
  • 工具返回简洁的摘要,而资源则公开完整的组件记录。

架构:

  • server.py 定义了FastMCP服务器和工具处理程序。
  • HTTP会话处理目录获取的重试和超时。
  • 运输是标准的;客户端和服务器之间的消息是JSON-RPC 2.0。

设计决策:

  • stdio传输使基于IDE的MCP客户端的集成变得简单。
  • 紧凑的列表/搜索响应减少了有效载荷大小和延迟。

概念流程:

[MCP Client] <-> stdio/JSON-RPC 2.0 <-> [FastMCP Server] -> HTTPS -> [Catalog YAML]