基于AI的模型上下文协议服务器,用于智能分析IFS Cloud代码库
一个复杂的模型上下文协议(MCP)服务器,通过全面分析、PageRank重要性排序和智能代码搜索功能,为AI代理提供对IFS Cloud代码库的深入理解。
.plsql、.entity、.client、.projection、.fragment等格式git clone https://github.com/graknol/ifs-cloud-core-mcp-server.git
cd ifs-cloud-core-mcp-server
uv sync
# 导入IFS Cloud ZIP文件
uv run python -m src.ifs_cloud_mcp_server.main import "IFS_Cloud_25.1.0.zip" --version "25.1.0"
# 执行全面分析
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"
# 启动已分析版本的服务器
uv run python -m src.ifs_cloud_mcp_server.main server --version "25.1.0"
# 导入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
服务器提供了三种复杂的搜索工具供AI代理使用:
// 使用单独的语义和词法查询进行全混合搜索
search_ifs_codebase(
query: "验证逻辑", // 主查询(语义和词法的回退)
semantic_query: "业务规则", // 用于FAISS语义搜索
lexical_query: "Check_Insert___", // 用于BM25S精确匹配
max_results: 10, // 结果数量
explain: true // 包括评分解释
)
// 使用BGE-M3嵌入进行纯语义搜索
search_ifs_semantic(
semantic_query: "客户信用验证模式",
max_results: 10,
explain: true
)
// 使用BM25S进行纯词法搜索
search_ifs_lexical(
lexical_query: "Customer_API.Get_Credit_Limit___",
max_results: 10,
explain: true
)
关键特性:
添加到您的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服务器启动
uv run python -m src.ifs_cloud_mcp_server.main server --version "25.1.0"
系统生成全面的分析数据:
💬 用户:"在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代码库中进行全面的混合搜索!
| 文件类型 | 目的 | 分析特性 |
|---|---|---|
.plsql | PL/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增强│
└─────────────────┘
▼
最终排名结果
# 开发安装
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模型缓存
由❤️为IFS Cloud开发者打造
</div>