欢迎使用 @ cap- js/ mcp- server
关于此工程
用于 SAP 云应用编程模型。 。 。 . 用于AI协助开发CAP应用程序(代理编码) (中文(简体) ).
服务器帮助AI模型解答诸如:
- 哪些CDS服务在这个项目中,它们在哪里服务?
- 这些实体是什么以及它们之间的关系如何?
- 如何在 CAP 节点中选择的语句中添加列?
目录
所需资源
见 开始 如何在SAP Cloud应用编程模型中跳动启动您的开发并成长.
设置
配置您的 MCP 客户端( Cline, opencode, Claude Code, GitHub Copilot等) , 启动使用命令的服务器 npx -y @cap-js/mcp-server 如以下例子所示.
Claude 代码中的使用
注册服务器为 克劳德代码。 。 。 .
所有项目(用户范围):
claude mcp add --scope user cds-mcp -- npx -y @cap-js/mcp-server
仅针对当前项目(地方范围,未承诺):
claude mcp add cds-mcp -- npx -y @cap-js/mcp-server
仅针对当前项目(对存储处的承诺):
claude mcp add --scope project cds-mcp -- npx -y @cap-js/mcp-server
要设置环境变量,请添加 --env 在服务器名称前 :
claude mcp add --scope user --env CDS_MCP_MODEL=nomic-ai/nomic-embed-text-v1.5 cds-mcp -- npx -y @cap-js/mcp-server
VS 码中的用法
VS 代码扩展示例 线数字 :
{
"mcpServers": {
"cds-mcp": {
"command": "npx",
"args": ["-y", "@cap-js/mcp-server"],
"env": {}
}
}
}
VS 代码全局示例 mcp.json (英语)数字 :
注: GitHub 副驾驶使用
mcp.json作为代理模式的源文件.
{
"servers": {
"cds-mcp": {
"command": "npx",
"args": ["-y", "@cap-js/mcp-server"],
"env": {},
"type": "stdio"
},
"inputs": []
}
}
要设置环境变量, 请替换服务器的空 env 对象为:
"env": {
"CDS_MCP_MODEL": "nomic-ai/nomic-embed-text-v1.5"
}
见 VS 代码市场 为更多的代理扩展.
OpenAI 代码x 中的使用
注册服务器为 OpenAI 代码数字 :
codex mcp add cds-mcp -- npx -y @cap-js/mcp-server
要设置环境变量,请添加 --env 命令前 :
codex mcp add cds-mcp --env CDS_MCP_MODEL=nomic-ai/nomic-embed-text-v1.5 -- npx -y @cap-js/mcp-server
打开码中的使用
添加为 opencode.jsonc 在您的项目中,或 ~/.config/opencode/opencode.jsonc 供全球使用:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cds-mcp": {
"type": "local",
"command": ["npx", "-y", "@cap-js/mcp-server"],
"environment": {
"CDS_MCP_MODEL": "nomic-ai/nomic-embed-text-v1.5"
},
"enabled": true
}
}
}
这是 打开代码 v1 格式。 单位 打开代码 v2,使用相同的配置,但将服务器嵌入到 "servers" —— 说 "mcp": { "servers": { "cds-mcp": { ... } } } - 或采用国家综合指数:
opencode mcp add --global cds-mcp -- npx -y @cap-js/mcp-server
要设置环境变量:
opencode mcp add --global cds-mcp \
--env CDS_MCP_MODEL=nomic-ai/nomic-embed-text-v1.5 \
-- npx -y @cap-js/mcp-server
环境变量
[尖叫声] 以下环境变量仍然是实验性的.
| 变量 | 说明 |
|---|---|
CDS_MCP_OFFLINE | 设定为 true 在不检查更新的情况下使用本地缓存嵌入。 接受 true 或者说 false。 。 。 . |
CDS_MCP_MODEL | 非空嵌入型号名. |
CDS_MCP_MANIFEST_TIMEOUT | 明确请求超时正整数毫秒。 默认为 15000。 。 。 . |
CDS_MCP_DOWNLOAD_TIMEOUT | 以正整数毫秒表示的 Bundle 响应头超时 。 默认为 30000。 。 。 . |
CDS_MCP_GENERIC_EMBEDDINGS | 设定为 true 以跳过运行时间过滤器并搜索所有运行时间。 默认 search_docs 只保留检测到的项目运行时间(Node.js或Java)的块外加运行时间不可知的块. |
CDS_MCP_MAX_RESULTS | 数量上限 search_docs 结果,作为正整数。 记下每次呼叫 maxResults。 。 。 . |
CDS_MCP_RERANK_ENABLED | 设定为 true 重新排序 search_docs 以本地交叉编码器模式得出结果。 接受 true 或者说 false; 默认已禁用. |
CDS_MCP_RERANK_MODEL | 重排时使用的非空跨编码器模型名. 默认为 Xenova/ms-marco-MiniLM-L-6-v2。 。 。 . |
CDS_MCP_RERANK_DTYPE | 非空数据类型用于加载重排模型. 默认为 q8; 设置为 fp32 没有模型 model_quantized.onnx。 。 。 . |
CDS_MCP_RERANK_EXTERNAL_DATA | 设定为 true 用于将ONNX重量储存在外部的重级模型 .onnx_data 文档。 接受 true 或者说 false。 。 。 . |
CDS_MCP_RERANK_BATCH_SIZE | 每个重排批次处理结果的正整数。 默认为 1。 。 。 . |
规则
以下规则帮助 LLM 正确使用服务器 :
- You MUST search for CDS definitions, like entities, fields and services (which include HTTP endpoints) with cds-mcp, only if it fails you MAY read \*.cds files in the project.
- You MUST search for CAP docs with cds-mcp EVERY TIME you create, modify CDS models or when using APIs or the `cds` CLI from CAP. Do NOT propose, suggest or make any changes without first checking it.
将这些规则添加到您现有的全局性或特定项目中 AGENTS.md (具体情况可能因各自的MCP客户端而异).
CLI 使用量
也可以直接从命令行使用工具.
npm i -g @cap-js/mcp-server
[尖叫声] 当软件包在全球安装时,
npx使用已安装的版本,而不是从npm下载最新版本。 您必须手动更新软件包 :npm update -g @cap-js/mcp-server
这将提供命令 cds-mcp,可以直接使用以下工具.
# Search CAP documentation
cds-mcp search_docs "how to add columns to a select statement in CAP Node.js" 1
# Search for CDS model definitions
cds-mcp search_model . Books entity
可用工具
[注] 工具被意为AI模型所使用,不构成稳定的API.
服务器为CAP开发提供了这些工具:
search_docs
这个工具使用向量嵌入通过预处理的CAP文档进行本地搜索,被存储为嵌入. 这一进程的运作情况如下:
- 查询处理 : 您的搜索查询被转换为嵌入向量 .
- 相似性搜索 : 系统找到与您查询语义相似度最高的文档块 .
这种语义搜索方法使您能够找到相关的文档,即使您的查询没有使用在文档中找到的准确的关键词,这些关键词都在您的机器上.
search_model
该工具对汇编的CDS模型(Core Schema Notation)中的定义名称进行模糊搜索.
CDS 编译您的全部 .cds 包含:
- 所有定义及其关系
- 说明
- HTTP 终点
模糊的搜索算法匹配了定义名并允许部分匹配,使得即使在搜索"书"时也很容易找到"书"等实体.
支持、反馈、贡献
此项目可通过下列方式对特性请求/建议、错误报告等开放: GitHub 问题鼓励并始终欢迎各方作出贡献和反馈。 关于如何作出贡献的更多信息,项目结构以及额外贡献信息见我们 贡献准则。 。 。 .
安全/披露
如果您发现任何可能存在安全问题的漏洞,请遵照我们的指示 我们的安全政策 如何报告。 请不要制造GitHub问题 与安全有关的疑问或问题.
行为守则
作为成员、贡献者和领导人,我们保证使参加我们的社区成为每个人不受骚扰的经历。 通过参与这个项目,你同意遵守 行为守则 在任何时间.
许可证发放
版权:2025 SAP SE或SAP下属公司和@cap-js/cds-mcp 撰稿人。 请看我们的 自由主义 版权和许可证信息。 详细信息,包括第三方组成部分及其许可证/版权信息 通过REUSE工具。 。 。 .
承认
- 网络运行时间 用于创建本地嵌入.
- @huggingface/ transfers.js 用于比较 WordPiece 表示器的输出.
- @ modelcontextprotocol/ sdk (英语) 为 MCP 提供 SDK .