返回市场
云核心MCP服务器

云核心MCP服务器

作者:graknol2 星标更新:2025-08-28

项目介绍

🧠 IFS Cloud MCP Server

基于AI的模型上下文协议服务器,用于智能分析IFS Cloud代码库

一个复杂的模型上下文协议(MCP)服务器,通过全面分析、PageRank重要性排序和智能代码搜索功能,为AI代理提供对IFS Cloud代码库的深入理解。


关键特性

🎯 智能代码分析

  • 全面文件分析:提取API调用、过程/函数名称及依赖关系
  • PageRank排名:根据依赖网络分析确定最重要的文件
  • 引用图:映射文件间的依赖关系以理解架构
  • 多格式支持:处理.plsql.entity.client.projection.fragment等格式

📦 版本管理

  • ZIP导入:从ZIP文件导入完整的IFS Cloud发布
  • 多个版本:管理和在不同IFS Cloud版本之间切换
  • 隔离分析:每个版本维护独立的分析数据
  • 智能提取:自动过滤并组织支持的文件类型

🔍 高级混合搜索与发现

  • 双查询混合搜索:分别进行语义和词法查询以控制精度
  • BGE-M3语义搜索:使用最先进的嵌入式AI理解
  • BM25S词法搜索:快速精确匹配API名称、函数和关键词
  • FlashRank融合:神经重排智能结合语义和词法结果
  • 三种搜索模式:综合、仅语义或仅词法通过MCP工具
  • PageRank重要性:根据依赖网络中的重要性对文件进行排名
  • CUDA加速:GPU驱动的语义搜索以实现最大性能

🚀 快速开始

1. 安装

git clone https://github.com/graknol/ifs-cloud-core-mcp-server.git
cd ifs-cloud-core-mcp-server
uv sync

2. 导入IFS Cloud版本

# 导入IFS Cloud ZIP文件
uv run python -m src.ifs_cloud_mcp_server.main import "IFS_Cloud_25.1.0.zip" --version "25.1.0"

3. 分析代码库

# 执行全面分析
uv run python -m src.ifs_cloud_mcp_server.main analyze --version "25.1.0"

# 计算PageRank重要性分数
uv run python -m src.ifs_cloud_mcp_server.main calculate-pagerank --version "25.1.0"

4. 启动MCP服务器

# 启动已分析版本的服务器
uv run python -m src.ifs_cloud_mcp_server.main server --version "25.1.0"

📋 CLI命令参考

版本管理

# 导入ZIP文件
uv run python -m src.ifs_cloud_mcp_server.main import <zip_file> --version <version_name>

# 从GitHub下载预构建索引(最快设置)
uv run python -m src.ifs_cloud_mcp_server.main download --version <version> [--force]

# 列出所有版本
uv run python -m src.ifs_cloud_mcp_server.main list

# 删除版本
uv run python -m src.ifs_cloud_mcp_server.main delete --version <version_name> [--force]

分析命令

# 分析代码库(提取依赖关系、API调用等)
uv run python -m src.ifs_cloud_mcp_server.main analyze --version <version> [--max-files N] [--force]

# 计算PageRank重要性分数
uv run python -m src.ifs_cloud_mcp_server.main calculate-pagerank --version <version>

# 创建语义搜索嵌入(使用BGE-M3模型)
uv run python -m src.ifs_cloud_mcp_server.main embed --version <version> [--max-files N]

# 创建测试嵌入(前10个文件用于快速测试)
uv run python -m src.ifs_cloud_mcp_server.main embed --version <version> --max-files 10

服务器操作

# 启动MCP服务器
uv run python -m src.ifs_cloud_mcp_server.main server --version <version>

# 启动Web UI(如果可用)
uv run python -m src.ifs_cloud_mcp_server.web_ui

MCP搜索工具

服务器提供了三种复杂的搜索工具供AI代理使用:

search_ifs_codebase - 综合混合搜索

// 使用单独的语义和词法查询进行全混合搜索
search_ifs_codebase(
  query: "验证逻辑",           // 主查询(语义和词法的回退)
  semantic_query: "业务规则",    // 用于FAISS语义搜索
  lexical_query: "Check_Insert___",   // 用于BM25S精确匹配
  max_results: 10,                    // 结果数量
  explain: true                       // 包括评分解释
)

search_ifs_semantic - AI驱动的理解

// 使用BGE-M3嵌入进行纯语义搜索
search_ifs_semantic(
  semantic_query: "客户信用验证模式",
  max_results: 10,
  explain: true
)

search_ifs_lexical - 精确API和关键词匹配

// 使用BM25S进行纯词法搜索
search_ifs_lexical(
  lexical_query: "Customer_API.Get_Credit_Limit___",
  max_results: 10,
  explain: true
)

关键特性:

  • 双查询处理:优化语义和词法搜索的不同查询
  • BGE-M3嵌入:具有8192个标记上下文的1024维向量
  • CUDA加速:当可用时使用GPU驱动的语义搜索
  • FlashRank融合:神经重排以获得最佳结果排序
  • PageRank集成:按重要性加权的结果评分
  • 详细解释:可选的评分分解以提高透明度

�🔧 MCP客户端配置

Claude Desktop

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "ifs-cloud": {
      "command": "uv",
      "args": [
        "run",
        "python",
        "-m",
        "src.ifs_cloud_mcp_server.main",
        "server",
        "--version",
        "25.1.0"
      ],
      "cwd": "/path/to/ifs-cloud-core-mcp-server"
    }
  }
}

其他MCP客户端

# 标准MCP服务器启动
uv run python -m src.ifs_cloud_mcp_server.main server --version "25.1.0"

📊 分析输出

系统生成全面的分析数据:

依赖分析

  • API调用:每个文件调用哪些API
  • 引用图:文件到文件的依赖映射
  • 传入链接:有多少文件依赖于每个文件

PageRank评分

  • 重要性排名:按网络中心性对文件进行排名
  • 基础API:基础设施文件(如FndSession、Site等)排名最高
  • 业务逻辑:按使用模式对特定领域的文件进行排名

文件元数据

  • 文件大小和类型:基本文件特征
  • 过程/函数名称:代码结构分析
  • 变更信息:从注释和头部提取

🎯 智能工作流示例

AI代理搜索工作流

💬 用户:"在IFS Cloud中查找客户信用验证模式"

🧠 AI代理自动使用混合搜索:

1️⃣ **语义搜索** (search_ifs_semantic):
   查询:"客户信用验证业务规则"
   → BGE-M3找到概念上相似的代码模式
   → 返回包含信用检查逻辑和验证例程的文件

2️⃣ **词法搜索** (search_ifs_lexical):
   查询:"Customer_API Credit_Limit Check_Credit"
   → BM25S找到确切的API名称和函数调用
   → 返回具体的实现方法

3️⃣ **混合融合** (search_ifs_codebase):
   语义:"信用验证模式"
   词法:"Customer_API.Check_Credit___"
   → FlashRank智能结合两种方法
   → PageRank提升重要的基础文件

✅ 结果:跨以下方面的全面理解:
   - 业务逻辑模式(语义)
   - 确切的API实现(词法)
   - 架构重要性(PageRank)
   - 完美的架构一致性!

快速设置工作流(推荐)

# 1. 导入IFS Cloud版本
uv run python -m src.ifs_cloud_mcp_server.main import "IFS_Cloud_25.1.0.zip"

# 2. 从GitHub下载预构建索引(如果可用)
uv run python -m src.ifs_cloud_mcp_server.main download --version "25.1.0"

# 3. 立即启动MCP服务器
uv run python -m src.ifs_cloud_mcp_server.main server --version "25.1.0"

结果:几分钟内准备好,而不是几小时! ⚡

完整设置工作流 (如果无法下载)

# 1. 导入IFS Cloud版本
uv run python -m src.ifs_cloud_mcp_server.main import "IFS_Cloud_25.1.0.zip"

# 2. 分析代码库(提取依赖关系、API调用)
uv run python -m src.ifs_cloud_mcp_server.main analyze --version "25.1.0"

# 3. 计算重要性排名(PageRank网络分析)
uv run python -m src.ifs_cloud_mcp_server.main calculate-pagerank --version "25.1.0"

# 4. 构建BM25S词法搜索索引
uv run python -m src.ifs_cloud_mcp_server.main reindex-bm25s --version "25.1.0"

# 5. 可选:创建语义嵌入(BGE-M3模型,约5-10分钟)
uv run python -m src.ifs_cloud_mcp_server.main embed --version "25.1.0"

# 6. 启动具有完整混合搜索能力的MCP服务器
uv run python -m src.ifs_cloud_mcp_server.main server --version "25.1.0"

结果:AI代理现在可以在您的IFS Cloud代码库中进行全面的混合搜索!


📁 支持的文件类型

文件类型目的分析特性
.plsqlPL/SQL业务逻辑API调用、过程、函数
.entity数据实体定义实体关系
.client用户界面组件UI模式、命令
.projection数据访问层查询、动作
.fragment全栈组件完整集成模式
.views数据库视图数据结构
.storage存储定义数据库映射

🏗️ 架构

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   AI客户端     │◄──►│   MCP服务器    │◄──►│ 分析数据   │
│ (Claude等)  │    │                 │    │ (JSON/JSONL)    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                              │
                              ▼
                       ┌─────────────────┐
                       │ 混合搜索   │
                       │ • BGE-M3 FAISS  │
                       │ • BM25S词法    │
                       │ • FlashRank     │
                       │ • PageRank      │
                       └─────────────────┘

搜索架构细节

查询输入
     │
     ▼
┌─────────────────┐
│ 查询处理器 │ ◄─── 语义查询 + 词法查询
│ • 意图检测 │
│ • 查询拆分   │
└─────────────────┘
     │
     ▼
┌─────────────────┐    ┌─────────────────┐
│ FAISS搜索    │    │ BM25S搜索    │
│ • BGE-M3嵌入  │    │ • 精确匹配   │
│ • 语义相似  │    │ • 关键词评分 │
│ • CUDA加速    │    │ • 快速检索│
└─────────────────┘    └─────────────────┘
     │                          │
     └─────────┬─────────────────┘
               ▼
        ┌─────────────────┐
        │ FlashRank融合│
        │ • 神经重排 │
        │ • 评分融合  │
        │ • PageRank增强│
        └─────────────────┘
               ▼
        最终排名结果

📈 性能

搜索性能

  • 混合搜索响应:大多数查询<100毫秒(CUDA加速)
  • BGE-M3嵌入生成:每查询约50毫秒(GPU)/约200毫秒(CPU)
  • BM25S词法搜索:<10毫秒跨越10,000+文档
  • FlashRank神经重排:<50毫秒用于前K候选融合
  • FAISS向量搜索:<20毫秒使用1024维BGE-M3嵌入

系统性能

  • 分析速度:现代硬件上每秒1,000+文件
  • 内存效率:处理10,000+文件代码库
  • 可扩展性:版本隔离防止数据冲突
  • GPU加速:自动CUDA检测用于语义搜索

🛠️ 开发

# 开发安装
uv sync --dev

# 运行测试
uv run pytest

# 格式化代码
uv run black src/ tests/

# 类型检查
uv run mypy src/

📚 数据存储

系统将数据存储在带独立索引的版本目录中:

%APPDATA%/ifs_cloud_mcp_server/               # Windows
~/.local/share/ifs_cloud_mcp_server/          # Linux/macOS
├── 版本/
│   └── 25.1.0/
│       ├── 源码/              # 提取的文件
│       ├── 分析/            # 分析结果
│       ├── 排名.jsonl         # PageRank结果
│       ├── bm25s/              # BM25S词法索引
│       │   ├── 索引.h5        # BM25S索引数据
│       │   └── 文档集.jsonl    # 文档集
│       └── faiss/              # FAISS语义索引
│           ├── 索引.faiss     # 向量索引
│           ├── 嵌入.npy  # BGE-M3嵌入
│           └── 文档元数据.jsonl  # 文档元数据
└── 模型/                     # 下载的模型
    └── bge-m3/                # BGE-M3模型缓存

🔮 未来改进

  • 高级AI模型:集成更新的嵌入模型(BGE-M4,E5-v3)
  • 🔍 查询理解:自然语言意图分类和查询扩展
  • 📊 可视化分析:交互式依赖图可视化
  • 🌐 Web界面:增强的浏览器探索功能,带有搜索过滤
  • 🚀 性能:进一步优化混合搜索流水线
  • 🎯 专用搜索:领域特定搜索模式(UI模式、业务逻辑等)

<div align="center">

⭐ Star此仓库🐛 报告问题💬 讨论

由❤️为IFS Cloud开发者打造

</div>