From 7e9c74d305a7a5d492038acc25ab558e1d645392 Mon Sep 17 00:00:00 2001 From: DJ Adams Date: Fri, 24 Jul 2026 11:36:55 +0100 Subject: [PATCH 1/5] Adjust title and fix typo for Using Specific MCP Services section of mcp.md --- guides/protocols/mcp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guides/protocols/mcp.md b/guides/protocols/mcp.md index 96268437e..35adee442 100644 --- a/guides/protocols/mcp.md +++ b/guides/protocols/mcp.md @@ -116,9 +116,9 @@ annotate CatalogService with @mcp:'books' > From the perspective of a developer in a CAP-based project, `@mcp` is just another protocol for your services, similar to `@odata`, `@graphql`, `@rest`, or `@hcql`. The adapter takes care of the rest, with all the standard CAP features you know working out of the box also with MCP, including annotations like `@cds.query.limit`, etc. -### Using Specific MCP Services +### Tailored services for MCP use -In case you want to serve tailor the entities or elements served via MCP you can also create specific services for MCP and annotate only those with `@mcp`. For example, you could create a `BooksService` that only exposes a subset of the entities of the `AdminService` like that: +In case you want to tailor the entities or elements served via MCP you can also create specific services for MCP and annotate only those with `@mcp`. For example, you could create a `BooksService` that only exposes a subset of the entities of the `AdminService` like that: ::: code-group ```cds [srv/books-service.cds] From 0bffa604b1bf3f14ccc03a2253bd2456844ba86e Mon Sep 17 00:00:00 2001 From: DJ Adams Date: Fri, 24 Jul 2026 11:53:48 +0100 Subject: [PATCH 2/5] clarification improvement to mcp.md "Server" is a loaded word with special meaning relating to the CAP server(s), so as there are not separate "MCP servers", I thought it best to reword this part. --- guides/protocols/mcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/protocols/mcp.md b/guides/protocols/mcp.md index 35adee442..777ad3afd 100644 --- a/guides/protocols/mcp.md +++ b/guides/protocols/mcp.md @@ -323,7 +323,7 @@ INFO com.sap.cds.adapter.mcp.McpServlet : Received MCP query request for entity Whenever you start your application, the MCP adapter automatically registers all MCP endpoints with local MCP clients – currently supported for [Claude Code](https://code.claude.com/docs) and [Opencode](https://opencode.ai/) - so you can just go ahead and run queries from your MCP client without any additional configuration. This makes it super easy to test and interact with your services via MCP during development. -During startup, the generated MCP servers and their URL are added to the client-specific configuration files like that: +During startup, information about the MCP endpoints is added to the client-specific configuration files like that: ::: code-group ```json [~/.claude.json] From ff409e9e9661b44897a7933dede716f9f8850575 Mon Sep 17 00:00:00 2001 From: DJ Adams Date: Fri, 24 Jul 2026 12:19:08 +0100 Subject: [PATCH 3/5] Add note on "MCP server" terminology --- guides/protocols/mcp.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guides/protocols/mcp.md b/guides/protocols/mcp.md index 777ad3afd..54107db00 100644 --- a/guides/protocols/mcp.md +++ b/guides/protocols/mcp.md @@ -321,9 +321,12 @@ INFO com.sap.cds.adapter.mcp.McpServlet : Received MCP query request for entity ### Autowired MCP Clients -Whenever you start your application, the MCP adapter automatically registers all MCP endpoints with local MCP clients – currently supported for [Claude Code](https://code.claude.com/docs) and [Opencode](https://opencode.ai/) - so you can just go ahead and run queries from your MCP client without any additional configuration. This makes it super easy to test and interact with your services via MCP during development. +Whenever you start your application, the MCP adapter automatically registers all MCP servers with local MCP clients – currently supported for [Claude Code](https://code.claude.com/docs) and [Opencode](https://opencode.ai/) - so you can just go ahead and run queries from your MCP client without any additional configuration. This makes it super easy to test and interact with your services via MCP during development. -During startup, information about the MCP endpoints is added to the client-specific configuration files like that: +> [!tip] MCP servers +> Note the distinction between the CAP server that listens on a certain port, and MCP servers which are just endpoints provided and served by the CAP server. We use the term "MCP server" despite this, to align with the MCP protocol terminology. + +During startup, information about the MCP server endpoints is added to the client-specific configuration files like that: ::: code-group ```json [~/.claude.json] From f78c5021914b38389ca9818cf54ba0cdff9a75de Mon Sep 17 00:00:00 2001 From: DJ Adams Date: Fri, 24 Jul 2026 12:58:50 +0100 Subject: [PATCH 4/5] "MCP protocol" is tautalogical, doh! --- guides/protocols/mcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/protocols/mcp.md b/guides/protocols/mcp.md index 54107db00..78048bcd8 100644 --- a/guides/protocols/mcp.md +++ b/guides/protocols/mcp.md @@ -324,7 +324,7 @@ INFO com.sap.cds.adapter.mcp.McpServlet : Received MCP query request for entity Whenever you start your application, the MCP adapter automatically registers all MCP servers with local MCP clients – currently supported for [Claude Code](https://code.claude.com/docs) and [Opencode](https://opencode.ai/) - so you can just go ahead and run queries from your MCP client without any additional configuration. This makes it super easy to test and interact with your services via MCP during development. > [!tip] MCP servers -> Note the distinction between the CAP server that listens on a certain port, and MCP servers which are just endpoints provided and served by the CAP server. We use the term "MCP server" despite this, to align with the MCP protocol terminology. +> Note the distinction between the CAP server that listens on a certain port, and MCP servers which are just endpoints provided and served by the CAP server. We use the term "MCP server" despite this, to align with MCP terminology. During startup, information about the MCP server endpoints is added to the client-specific configuration files like that: From d28217faa30ce50d96520316e1fd545add66f93f Mon Sep 17 00:00:00 2001 From: DJ Adams Date: Fri, 24 Jul 2026 13:15:22 +0100 Subject: [PATCH 5/5] Adjust title of mcp.md to avoid tautology --- guides/protocols/mcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/protocols/mcp.md b/guides/protocols/mcp.md index 78048bcd8..5f6dd7ab8 100644 --- a/guides/protocols/mcp.md +++ b/guides/protocols/mcp.md @@ -3,7 +3,7 @@ synopsis: > Expose CAP services via the Model Context Protocol for seamless AI agent integration. --- -# MCP Protocol Adapter +# Model Context Protocol Adapter