SAP API加速器MCP
一个MCP(模型上下文协议)服务器,将策划的SAP业务加速器中心数据作为MCP工具显示出来。服务器直接与SAP的公共OData目录通信,使您可以轻松发现、搜索和探索SAP API和工件,而无需离开与MCP兼容的客户端。
此MCP服务器的用途
- 为人工智能助手和MCP工具提供对SAP庞大的API目录的全面只读访问。
- 提供强大的搜索和发现工具,用于查找SAP API、包和工件。
- 通过过滤、分析和关系导航,实现对SAP API生态系统的智能探索。
- 演示如何使用
mcp.server.fastmcp.FastMCP助手,因此可以对其进行检查、测试,并与任何MCP主机一起发货。
先决条件
- python 3.12或更新版本。
- 紫外线 (推荐)或
pip+虚拟环境。 - 出站HTTPS访问
https://api.sap.com/odata/1.0/catalog.svc. - (可选) Node.js 18+ 如果您想通过以下方式使用MCPJam检查器
npx.
要求和依赖关系
所有Python要求都在 pyproject.toml:
httpx–用于SAP API调用的异步HTTP客户端。mcp[cli]–带来FastMCP、CLI帮助程序和MCP协议类型。
以可编辑模式安装它们,以便立即获取本地代码更改:
cd sap-api-accelerator-mcp
uv pip install -e .
# or: python -m pip install -e .可用的MCP工具
服务器提供 3个强大的工具 用于探索SAP的API目录:
核心发现工具
| 工具 | 参数 | 说明 |
|---|---|---|
list_sap_content_packages | search_term (可选), max_results (默认值:100) | 列出所有具有可选搜索筛选的内容包。通过OData筛选和结果限制进行了增强。 |
get_sap_package_info | package_id | 获取特定内容包的详细信息。 |
get_sap_artifact_details | artifact_name, artifact_type (默认:API) | 获取特定工件的完整详细信息,包括所有元数据。 |
所有工具都规范OData v2/v4响应,强制JSON输出($format=json),并包括防御性错误处理,以便报告故障,而不是使MCP会话崩溃。
如何运行MCP服务器
cd sap-api-accelerator-mcp
uv run accelerator.py
# or
python accelerator.py脚本将这两个工具注册到 FastMCP 并启动MCP stdio服务器(默认传输)。任何兼容MCP的客户端现在都可以生成此进程并调用工具。
使用MCPJam检查员进行测试
MCPJam Inspector提供了一个浏览器UI,用于在不连接LLM的情况下锻炼MCP服务器。典型工作流程:
- 启动检查器
npx @mcpjam/inspector@latestCLI打印一个URL,例如 http://localhost:6274。在浏览器中打开它。
- 添加SAP加速器服务器
- 点击 添加服务器 → 自定义/stdio. - 命令: uv run accelerator.py (或 python accelerator.py). - 提供一个友好的名称(例如“SAP Accelerator”)并保存。状态应翻转为 连接.
- 练习工具
- 打开 工具 选项卡,选择 list_sap_content_packages,然后单击 执行 以确认目录访问。 - 挑选 get_sap_package_info,供应a TechnicalName 根据之前的响应,再次执行以查看包详细信息。
- 检查流量/排除故障
- 使用 消息 查看原始MCP JSON交换。 - 如果调用失败,MCPJam会显示stderr日志(服务器会打印它发出的每个SAP请求),以帮助诊断连接或参数问题。
用例示例
示例1:探索特定包
get_sap_package_info(package_id="SAPS4HANACloud")获取特定软件包的详细信息。
示例2:获取详细的工件信息
get_sap_artifact_details(artifact_name="CE_PROJECTDEMANDCATEGORY_0001", artifact_type="API")获取工件的完整细节。
提示和最佳实践
- 集
max_results适当地-默认值是保守的,以避免超时。增加全面搜索。 - 筛选依据
state="ACTIVE"排除已弃用的API,除非您专门在寻找它们。 - 使用
get_sap_artifact_details在找到有趣的工件以获得完整的元数据之后。 - 组合工具 -从搜索开始,然后用细节工具深入挖掘。
- 由于SAP端点是公共的,因此不需要API密钥,但服务器仍然发送自定义
User-Agent因此可以监测速率限制。 - 将此服务器与任何MCP主机(Anthropic Claude Desktop、MCP CLI、自定义LLM沙盒)配对,让助手浏览SAP内容。
工具优先级指南
从这些工具开始:
list_sap_content_packages-发现可用套餐get_sap_package_info-套餐详情get_sap_artifact_details-详细的工件信息
性能注意事项
- 大型结果集可能需要时间
max_results限制响应 - 对于复杂的查询,SAP API可能较慢-请耐心等待
- 使用
$select在查询(已实现)中减少有效载荷大小 - 考虑对频繁访问的数据进行缓存
