🚀 SAP LLM + MCP 客户端 (PoC)
简短的本地第一概念验证,结合SAP CAP(Node.js)、LangGraph和模型上下文协议(MCP),通过聊天UI回答SAP问题。它可以通过MCP服务器搜索SAP文档和SAP Notes,并使用可见的工具调用流式传输结果。
⚠️ PoC:用于本地使用。支持Azure OpenAI、OpenAI API、Ollama(本地)和SAP AI核心(BTP)。生产没有硬化。
\[!小心\] 这是一个PoC的研究项目,几乎不起作用。不要在生产或其他任何地方使用它。最好使用这个:https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat
它做什么
- 通过WebSocket进行实时聊天,并提供流式响应
- 通过LangGraph规划器调用MCP服务器(SAP Docs、SAP Notes、可选BTP)→ act → 响应流
- 内联显示工具调用(开始/完成、热门、错误)
快速启动
前提条件:Node 18+,npm。可选:Ollama(完全本地)。
- 安装
npm install- 配置LLM提供程序
创建一个 .env 文件并设置LLM提供程序:
Azure OpenAI(推荐):
LLM_PROVIDER=azure
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
AZURE_OPENAI_API_KEY=your-api-key-here
AZURE_OPENAI_DEPLOYMENT=gpt-4o-mini
# Model Capability Level (Optional)
# Controls prompt complexity based on your model's capabilities:
# - strong: GPT-4, Claude Opus (detailed reasoning)
# - medium: GPT-4o-mini, GPT-3.5, Large Llama 70B+ (default)
# - weak: Ollama 7B/13B, Small Llama (simple instructions)
MODEL_CAPABILITY=mediumOpenAI API:
LLM_PROVIDER=openai
OPENAI_API_KEY=sk-your-api-key
OPENAI_MODEL=gpt-4o-mini
MODEL_CAPABILITY=mediumOllama(当地):
# Start Ollama first
ollama serve
ollama pull llama3.1:latest
# Configure
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3.1:latest
MODEL_CAPABILITY=weak # Use 'weak' for 7B/13B models, 'medium' for 70B+SAP人工智能核心(BTP):
LLM_PROVIDER=sap-ai-core
SAP_AI_CORE_DEPLOYMENT_URL=https://api.ai.prod.eu-central-1.aws.ml.hana.ondemand.com/v2/inference/deployments/your-deployment-id
SAP_AI_CORE_CLIENT_ID=sb-your-client-id
SAP_AI_CORE_CLIENT_SECRET=your-client-secret
SAP_AI_CORE_AUTH_URL=https://your-subdomain.authentication.eu10.hana.ondemand.com
MODEL_CAPABILITY=medium # Adjust based on your deployed model模型能力指南:
- 强壮的:用于GPT-4、GPT-4涡轮、克劳德·奥普
- 详细的推理说明 - 复杂的工具链模式 - 最佳质量响应
- 中等:用于GPT-4o-mini、GPT-3.5、Llama 70B+(默认)
- 均衡的指令复杂性 - 适用于大多数型号 - 推荐起点
- 虚弱:适用于Olama 7B/13B、小型Llama车型
- 简单、明确的指示 - 防止复制示例 - 对较小型号至关重要
然后启动应用程序:
npm run dev- 打开用户界面
http://localhost:5173MCP服务器配置
MCP(模型上下文协议)服务器配置在 backend/mcp.servers.json.
可用服务器
- sap_docs -SAP帮助门户文档
- 网址: https://mcp-sap-docs.example.com/mcp - 工具: sap_help_search, sap_help_get, search, fetch - 用途:如何指导、设置文档、配置
- sap_notes -SAP知识库
- 网址: https://mcp-sap-notes.example.com/mcp - 工具: sap_note_search, sap_note_get - 用于:Bug修复、补丁、故障排除、错误解决方案
- 抽象数据类型 -ABAP开发工具(本地)
- 网址: http://localhost:3234/mcp - 工具: GetProgram, GetClass, GetTable, SearchObject等等。 - 用于:ABAP源代码、表结构、功能模块 - 需要:ADT MCP服务器在端口3234上本地运行
- s4hana -SAP S/4HANA OData服务
- 网址: https://mcp-sap-s4.example.com/mcp - 工具: search-sap-services, discover-service-entities, get-entity-schema, execute-entity-operation - 用于:业务伙伴、销售订单、服务发现、CRUD操作
- 帽子 -CAP应用服务
- 网址: https://mcp-cap-plugin-test.example.com/mcp - 工具: cap_describe_model, Books_query, Authors_query等等。 - 用于:CAP服务实体(图书、作者、编目服务)
配置文件
编辑 backend/mcp.servers.json:
{
"servers": [
{
"label": "sap_docs",
"enabled": true,
"url": "https://mcp-sap-docs.example.com/mcp",
"tags": ["docs", "help"],
"description": "Official SAP docs + Help Portal"
},
{
"label": "adt",
"enabled": true,
"url": "http://localhost:3234/mcp",
"tags": ["abap", "source"],
"description": "ABAP Development Tools"
}
]
}添加新服务器
- 向添加新条目
servers数组 - 集
enabled: true激活 - 提供独特
label,url,可选tags和description - 重新启动后端或在运行时重新加载:
curl -X POST http://localhost:4004/admin/mcp/reload后端将自动发现并集成来自所有启用服务器的工具。
有用的脚本
npm run dev→ 前端+后端(使用.env配置)npm run dev:azure→ 使用Azure OpenAI运行npm run dev:openai→ 使用OpenAI API运行npm run dev:ollama→ 与Ollama(当地人)一起跑步npm run dev:sap-ai-core→ 使用SAP AI Core(BTP)运行npm run dev:local→ dev的别名:ollamanpm run dev:backend→ 仅限CAP后端(ws://localhost:4004/聊天)npm run dev:frontend→ 仅限React前端(http://localhost:5173)npm run smoke:mcp→ 快速MCP连接检查
配置指南
看 ENV_CONFIGURATION.md 有关详细的配置示例和SAP AI Core设置说明。
更多架构细节请参见 @docs/DETAILED.md.
