CDS pluginCDS plugintypeInstalls into a CAP project and extends the runtime. CAP loads it through cds.requires or the plugin hook.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →

@cap-js/mcp

A CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.

Gives an AI agent something to talk to without a second server in front of the model. A service annotated with @mcp is served over MCP the same way @odata serves it over OData, with three tools generated from the model: describe, query and call_action. In development it also writes its own endpoint into the local agent's configuration, so the loop from cds watch to a working tool call needs no manual wiring.

Facts

Latestv1.5.0ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
Serve your application over MCPCAPServe your application over MCPcapabilityExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through [service integration](capability:service-integration), connecting its exposed contract with [agent access to your systems](capability:agent-systems-access). Development assistance belongs to [agent access to your code](capability:agent-code-access).
Flavors
Node.jsfrom its runtime
Requires
@sap/cds≥ 8@sap/cdsartifactThe peer range, as published.

Who is behind it

SAP Cloud Application Programming ModelSAP Cloud Application Programming ModelOrganisationMaintains this
In the atlas: maintains 34
@cap-js
maintainerJohannes VogtPersonContributes to this
In the atlas: maintains 1, contributes to 28, wrote 10
@Akatuoro
Daniel HutzelPersonContributes to this
In the atlas: contributes to 32, wrote 3
@danjoa
Guilherme DellagustinPersonContributes to this
In the atlas: contributes to 27
@dellagustin-sap
Henry BrinkPersonContributes to this
In the atlas: contributes to 2
@henrybrink
Johannes VogelPersonContributes to this
In the atlas: contributes to 25
@johannes-vogel
Maximilian EckertPersonContributes to this
In the atlas: contributes to 4
@maxieckert-sap
Mike ZaschkaPersonContributes to this
In the atlas: maintains 6, contributes to 9, wrote 12
@mikezaschka
Marten SchiwekPersonContributes to this
In the atlas: contributes to 16
@schiwekM
Simon EngelPersonContributes to this
In the atlas: contributes to 14, wrote 4
@SirSimon04
sjvansPersonContributes to this
In the atlas: contributes to 45
@sjvans
12 contributors

Before choosing this

Conditions

PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2A CAP service or its data is exposed to an AI agent through the MCP endpoint.
  • § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
  • § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
  • § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.

The maintainer states that the SAP API Policy remains applicable when data is exposed through MCP. Verify published and documented API use and the section 2.2.2 pathway for the intended agent workflow.

SAP API Policy 4.2026a →

Also, from Serve your application over MCP§ 1.1, 1.2, 2.2.2: MCP does not replace the API's documented-use boundary. Check that every endpoint is published for the intended use and whether the policy's AI-call or extraction provisions apply to the design.

LicenceSAP Developer License Agreement 3.2 CAP§ 1, 2, 3A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.
  • § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
  • § 2 Intellectual Property. The agreement retains SAP's rights in the covered materials and limits making APIs, tools or software available to third parties, while preserving ownership of customer applications subject to SAP's underlying rights.
  • § 3 Artificial Intelligence Training. The agreement prohibits use of the covered materials and customer applications for training artificial-intelligence models or systems.
SAP Developer License Agreement 3.2 CAP →

Also, from Serve your application over MCP§ 1, 3: The CAP developer agreement can apply alongside the API Policy. Ordinary agent inference is not automatically AI training; section 3 becomes relevant when covered materials or applications are used to train, develop or refine a model or system.

PracticalFunctional boundary

SAP prohibits gateway/proxy use for SAP Application APIs; the Atlas applies that prohibition to CAP wrappers around those APIs. Data changes require application-defined unbound actions, and the adapter supplies no rate limiting, agent-action audit logging, approval workflows or policy enforcement. In beta, with nine releases in the six weeks after the first, so pin it.

What it declares

Every artifact

Type
CDS plugin
Origin
By SAP
Runtime
Node.js

As a CDS plugin

Declared for
>=8
Distributed through
does not say

For serve your application over MCP

Exposure source
CAP service contract
Exposed operations
Read queries and unbound actions/functions; changes require application-defined unbound actions
Context delivery
Model descriptions via toolsServer instructions
Execution path
CAP service calls
Exposure control
Service selection

Tasks this contributes to5Beta

Access an external system through an application MCP serviceAn AI agent queries external system data or invokes selected external operations through an application-owned service contract exposed over MCP.Node.js2 scopes
CAP Node.jsCovers, under conditions

Dated assessment history · last accepted 2026-10-12. Excluded from the current connected answer.

What it does

@cap-js/mcp exposes the custom application service for discovery, data queries and unbound operations; it does not implement the remote-system integration.

Conditions

Expose a custom CAP application service with @mcp; SAP Application API gateway/proxy scenarios are excluded.; Use reading queries and unbound actions/functions; changes require unbound actions.; Provide deployment authorization; out-of-the-box XSUAA PKCE support is not fully implemented.; Supply prompt-injection mitigation and governance controls; the adapter supplies no automatic rate limiting, agent-action audit logging, approval workflows or policy layer.; Treat generated tools as a changing interface; validate the application handlers and selected remote API separately.

Remaining work

Implement and test the custom service handlers and remote calls, and configure client access and productive controls.

All options on the Serve your application over MCP page →
CAP Node.jsStated not supported

Dated assessment history · last accepted 2026-10-12. Excluded from the current connected answer.

What it does

@cap-js/mcp must not be used as a gateway or proxy for SAP Application APIs; placing a CAP application service in front of the API does not remove that prohibition.

Conditions

This assessment targets SAP Application APIs, including an application service that proxies those APIs.

Remaining work

Choose a separately assessed exposure design; no workaround is established by wrapping or renaming the target API.

All options on the Serve your application over MCP page →
Change application records from an agentCreate or update application records through an MCP client.Node.jsCovers, under conditionsbusiness-action adapter
What it does

@cap-js/mcp can invoke unbound actions that perform application data changes; the documented adapter does not generate direct entity CREATE, UPDATE or DELETE tools.

Conditions

Install @cap-js/mcp into the CAP Node.js application.; Annotate the custom application service with @mcp. Use a dedicated MCP service to restrict the exposed entities and operations.; Implement each required record change through an unbound business action.; The guide records incomplete out-of-the-box XSUAA authorization with PKCE; choose and validate deployment authorization accordingly.; Connect only trusted MCP agents and use deployment controls to mitigate prompt injection.; Generated tools are not stable APIs; supply application governance controls before productive use.; Use this adapter only for custom CAP application services, not as a gateway or proxy for SAP application APIs.

Remaining work

Own action logic, validation and authorization; this does not establish draft lifecycle support.

All options on the Serve your application over MCP page →
Expose an application service to an AI agentLet an MCP client discover and query application data and invoke selected business operations.Node.jsCovers, under conditionsapplication adapter

Dated assessment history · last accepted 2026-10-12. Excluded from the current connected answer.

What it does

@cap-js/mcp exposes an annotated custom service for model discovery, querying and invocation of unbound actions and functions.

Conditions

Install @cap-js/mcp into the CAP Node.js application.; Annotate the custom application service with @mcp. Use a dedicated MCP service to restrict the exposed entities and operations.; Provide deployment authorization; the guide records incomplete out-of-the-box XSUAA PKCE support.; Connect only trusted MCP agents and use deployment controls to mitigate prompt injection.; Generated tools are not stable APIs; supply application governance controls before productive use.; Use this adapter only for custom CAP application services, not as a gateway or proxy for SAP application APIs.

Remaining work

Configure the client, application descriptions and governance; no runtime deployment was tested by the Atlas.

All options on the Serve your application over MCP page →
Invoke a business operation from an agentInvoke a selected application business operation through an MCP tool.Node.jsCovers, under conditionsapplication adapter
What it does

@cap-js/mcp generates a call tool for unbound application actions and functions.

Conditions

Install @cap-js/mcp into the CAP Node.js application.; Annotate the custom application service with @mcp. Use a dedicated MCP service to restrict the exposed entities and operations.; Implement and expose the unbound action or function and its required parameters.; The guide records incomplete out-of-the-box XSUAA authorization with PKCE; choose and validate deployment authorization accordingly.; Connect only trusted MCP agents and use deployment controls to mitigate prompt injection.; Generated tools are not stable APIs; supply application governance controls before productive use.; Use this adapter only for custom CAP application services, not as a gateway or proxy for SAP application APIs.

Remaining work

Implement business rules, validation and authorization in the application.

All options on the Serve your application over MCP page →
Query application data from an agentRetrieve selected application records through MCP without changing those records.Node.jsShown workingapplication adapter
What it does

@cap-js/mcp generates describe and query tools for entities exposed by an annotated service.

Conditions

Install @cap-js/mcp into the CAP Node.js application.; Annotate the custom application service with @mcp; choose the exposed entities and operations.; The guide records incomplete out-of-the-box XSUAA authorization with PKCE; choose and validate deployment authorization accordingly.

Remaining work

Shape the service projection and caller permissions; configure the client and deployment authorization.

All options on the Serve your application over MCP page →

Connections4

@cap-js/mcp connections@cap-js/mcpFUNCTIONAL← alternative to3alternative to derived@neoimpulse/cap-js-mcpalternative to derivedcap-mcp-bridgealternative to derivedcap-mcp-plugin→ provides1provides stated Exposes an @mcp-annotated CAP [Node.js](external:nodejs) application service through generated describe, query and unbound-action/function tools. The query and call tools invoke the exposed service without direct CRUD tools; data changes require application-defined unbound actions. The describe tool returns model descriptions, and the adapter sends generic and custom server instructions to clients. Whole-service opt-in with @mcp can be narrowed through a dedicated service with selected projections and actions. Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcp Model Context Protocol Adapter | capire: https://cap.cloud.sap/docs/guides/ai/cap-mcpServe your application over MCP

Install

npm add @cap-js/mcp
The config you actually write
// srv/cat-service.cds
// Serve the same service over MCP as well as OData
annotate CatalogService with @odata @rest;
annotate CatalogService with @mcp;

// Or choose the path it is served under:
annotate CatalogService with @mcp:'books';
Minimal example
// A service shaped for agents rather than reusing the OData one:
// srv/books-service.cds
using { AdminService } from './admin-service';

@mcp service BooksService {
  /** The books this shop sells. */
  entity Books as projection on AdminService.Books {
    ID, title, stock, price,
    author,
    genre.name as genre,
  }
}

// Doc comments are not decoration here: the adapter reads them
// and hands them to the agent through the describe tool.
  • Read and unbound actions only. There is no direct create, update or delete over MCP — model a data change as an unbound action or it cannot be reached.
  • Autowiring edits files outside your project. During `cds watch` the adapter writes your endpoint into `~/.claude.json` or `~/.config/opencode/opencode.json`, with a mock user's Basic credentials. Set `cds.mcp.autowire` to false in `package.json` to stop it.
  • The autowired credentials are the mocked development users. They are meaningless anywhere the mocked auth strategy is not in play, which includes anything deployed.
  • No governance layer and no input validation against prompt injection. Whatever rate limiting, audit or approval the situation needs, you build.

Copied from Model Context Protocol Adapter — capire, read . Not run by the atlas.

Learn more15

Readings
  1. CAP in the age of AI #7 - vector embeddings wrap-upDJ Adams, Johannes Vogt, YouTube — SAP Developers playlists
  2. SAP Meets the Agentic Web: CAP MCP - UI5 WebMCPMauricio Lauffer, YouTube — SAP Developers playlists
  3. CAP: The Road Ahead - Simplicity in an AI EraSAP Developers, YouTube — SAP Developers playlists
12 more
  1. From SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.jspvsbprasad, SAP Community
  2. CAP in the age of AI #3 - from MCP to A2ADJ Adams, Johannes Vogt, Stefan Rudi, YouTube — SAP Developers playlists
  3. MCP Servers are the New Z-Tablesshiromani_soni1, SAP Community
  4. CAP in the age of AI #2 - more on the MCP adapterDJ Adams, Johannes Vogt, Simon Engel, Stefan Rudi, YouTube — SAP Developers playlists
  5. Add MCP capabilities to a CAP serviceDJ Adams, SAP Developer Center
  6. CAP in the age of AI #1 - the MCP adapterDJ Adams, Johannes Vogt, Simon Engel, Stefan Rudi, Daniel Schlachter, YouTube — SAP Developers playlists
  7. CAP in the age of AIDJ Adams, Johannes Vogt, Simon Engel, Stefan Rudi, Daniel Schlachter, YouTube — SAP Developers playlists
  8. Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.jsJacky Liu, SAP Community
  9. The Easiest Way to Expose a CAP Node.js Project as an MCP ServerJacky Liu, SAP Community
  10. Model Context Protocol Adapter — CAP guideCapire Docs & Samples, capire
  11. CAP Node.js Expert Session #6 - The MCP AdapterDaniel Schlachter, DJ Adams, YouTube — SAP Developers playlists
  12. Examine the details of the Model Context Protocol on startupDJ Adams, SAP Developer Center
What changed
  1. v1.4.2

    The toon_format flag is removed and TOON is always the output format. The same release makes format: cql the default when cds.mcp.format is not set.

    Makes stale:

    Configuration that sets toon_format to switch the output format.

README

quoted from cap-js/mcp under Apache-2.0, read
cap-js/mcp/README.mdOn GitHub

REUSE status

About this project

This is a protocol adapter for the Model Context Protocol to expose CAP services for agent consumption. For more information, check the official documentation.

Important

SAP API Policy Applies

The SAP API Policy remains applicable even when exposing data via MCP. Before exposing any SAP service or data through an MCP endpoint, ensure your use case complies with the SAP API Policy and any applicable licensing terms.

Feature Flags

All configuration lives under cds.mcp in your package.json:

{
  "cds": {
    "mcp": {
      "per_action_tool": false,
      "prefix": false,
      "format": "cql"
    }
  }
}
FlagDefaultDescription
per_action_toolfalseExpose each action/function as its own dedicated tool instead of the generic call tool.
prefixfalsePrefix tool names with the service name to avoid collisions when a MCP client connects to multiple MCP servers (e.g. CatalogService-query, AdminService-query).
format"cql"Change the query input format. "cqn" uses structured CQN input. "cql" uses CQL SELECT statement

For all other configuration options, refer to the official documentation.

Custom Server Instructions

You can customize the MCP server instructions sent to agents during initialization using the @mcp.instructions annotation:

annotate MyService with @mcp.instructions: 'Use describe to explore the product catalog. Use query to search products by name or category.';

If not set, a default instruction is used. The annotation also supports i18n references ({i18n>key}).

Support, Feedback, Contributing

This project is open to feature requests/suggestions, bug reports etc. via GitHub issues. Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines.

Security / Disclosure

If you find any bug that may be a security problem, please follow the instructions found in our security policy on how to report it. Please do not create GitHub issues for security-related doubts or problems.

Code of Conduct

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.

Licensing

Copyright 2026 SAP SE or an SAP affiliate company and cap-js/mcp contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

Apache-2.0, read

History

Latest

v1.5.0

Changed 1, Fixes 9

Notes
Changed
  • Skip describe tool when per_action_tool is enabled and the service exposes only actions/functions (no entities)
Fixed
  • Streamlined the output of the describe tool to focus on relevant entity and action details
  • Fixed the output of describe tool to correctly handle dangling associations as struct of foreign keys.
  • Target entities of Composition relationships were erroneously skipped, now they are correctly served by MCP tools.
  • CodeLists entities marked as @cds.autoexpose and @cds.autoexposed were erroneously served via MCP tools, now correctly skipped.
  • Compiler-generated .drafts and .texts entities were erroneously exposed via MCP. They are skipped now, as intended.
  • Consider the prefix in the query tool description
  • query tool resolves unqualified entity names in CQL (e.g. SELECT from User instead of SELECT from TsService.User)
  • query tool returns a clear error when a SELECT statement is missing its FROM clause
  • Updated query tool description to more consistently use describe for element names
  1. v1.4.3

    Fixes 1

    Notes
    Fixed
    • Correctly access target name when executing generic read CQL with infix filters
  2. v1.4.2dated in the atlas

    Removed 1, Fixes 3

    Notes
    Fixed
    • Use format: cql as default if the cds.mcp.format option is not applied
    • Entities from MCP-enabled services are not shown on index page
    • Entity @requires and action @restrict annotations are now respected when filtering tool context
    Removed
    • Removed the toon_format flag, toon is now always the output format
  3. v1.4.1

    Changed 2

    Notes
    Changed
    • Clarified server instructions and query tool description to emphasize using describe before querying
    • query tool response no longer echoes the executed CQL string
  4. v1.4.0

    Changed 2, Fixes 1

    Notes
    Changed
    • Migrated from @modelcontextprotocol/sdk to the new split packages @modelcontextprotocol/server and @modelcontextprotocol/node (SDK 2.0.0)
    • Default mode for the query tool changed to CQL
    Fixed
    • Set tool prefix as optional parameter
  5. v1.3.0

    Changed 3

    Notes
    Changed
    • Renamed the call_action tool to call
    • cds.mcp.prefix now creates a prefix from the full service name
    • Experimental SQL input for the query tool changed to CQL
  6. v1.2.0

    Features 1

    Notes
    Added
    • Experimental SQL input for the query tool
  7. v1.1.1

    Fixes 2

    Notes
    Fixed
    • Errors with details from actions are now properly returned
    • CDS 10 compatibility
  8. v1.1.0

    Features 2

    Notes
    Added
    • Optional log option lib/tools.js to route tool-execution and registration logs through a custom cds.log instance
    • Optional tool name prefix (via cds.mcp.prefix: true) to avoid possible collisions when clients connect to multiple CAP MCP servers
  9. v1.0.4

    Features 1, Fixes 2

    Notes
    Added
    • Allow CDS session variables $now, $user, $user.id, $user.locale, $user.tenant in where clauses
    Fixed
    • Resolving of many action parameters in describe output
    • Resolving of complex type action parameters in describe output
  10. v1.0.3

    Removed 1

    Notes
    Removed
    • Hard-coded log level for sql and cds
  11. v1.0.2

    Features 14, Changed 4

    Notes
    Added
    • Support @mcp.instructions annotation to customize MCP server instructions per service
    • offset parameter to the query tool for stable pagination (CQN limit.offset)
    • Support for CDS 8
    • Portable standard functions in expressions for strings, numbers, date/time
    • Arithmetic operators (+, -, *, /) and computed columns via { xpr: [...], as: "alias" }
    • is null / is not null, not in, not like, exists / not exists keywords in where clauses
    • Infix filters on ref segments for filtered association navigation (e.g., books[stock > 100])
    • having clause for filtering grouped results
    • search clause for full-text search across multiple fields
    • Support in per-action tool schemas and describe output: enum, @assert.range, @assert.format, @mandatory
    • Support for { ref: [...], as: "alias" } in select clause for explicit path expressions with optional alias
    • Support for { ref: [...], expand: [...] } in select clause for expanding to-many associations as nested arrays
    • Wildcard expand support ("*") to expand all fields of an association
    • Auto-detect JSON vs SSE response format from the client's Accept header
    Changed
    • Adjust MCP server card generation to allow URI reference
    • Rely on runtime behaviour for @cds.query.limit
    • Log output now uses multi-line formatting with colored values for better readability
    • Moved feature flags from cds.features to cds.mcp namespace
1,164downloads per week, npm
Weekly downloads for @cap-js/mcp26 complete calendar weeks from 2026-04-27 to 2026-10-25; the latest total is 1164.27 Apr – 3 May: 04 May – 10 May: 011 May – 17 May: 018 May – 24 May: 025 May – 31 May: 01 Jun – 7 Jun: 08 Jun – 14 Jun: 015 Jun – 21 Jun: 022 Jun – 28 Jun: 029 Jun – 5 Jul: 3156 Jul – 12 Jul: 40313 Jul – 19 Jul: 1,48820 Jul – 26 Jul: 2,64827 Jul – 2 Aug: 2,8923 Aug – 9 Aug: 3,80010 Aug – 16 Aug: 4,42617 Aug – 23 Aug: 3,66724 Aug – 30 Aug: 3,08531 Aug – 6 Sept: 3,4177 Sept – 13 Sept: 1,99014 Sept – 20 Sept: 2,04221 Sept – 27 Sept: 2,88028 Sept – 4 Oct: 2,8895 Oct – 11 Oct: 2,58412 Oct – 18 Oct: 1,58119 Oct – 25 Oct: 1,164
Declared alternatives
  1. @neoimpulse/cap-js-mcpMCP server inside a CAP application with model and query tools
  2. cap-mcp-bridgeMCP server generating tools from a CAP or OData V4 service's metadata
  3. cap-mcp-pluginMCP server generated from a CDS model, forked from @gavdi/cap-mcp
Serve your application over MCP
  1. abap-ai/mcpMCP server SDK written in ABAPfrom ABAP
  2. abap-ai/mcp2Stateless ABAP MCP server SDK for the 2026-07-28 protocol draftfrom ABAP
  3. abap-agent-runtimeABAP-native MCP endpoint that drives opted-in abap2UI5 appsfrom ABAP
  4. API ManagementAPI proxies with security and traffic policies and Developer Hubfrom BTP/BAIP
  5. com.sap.cds:cds-adapter-mcpMCP adapter turning a CAP Java service into an MCP serverfrom CAP
  6. @gavdi/cap-mcpGenerates an MCP server from annotated CDS entities and actionsfrom CAP
  7. btp-cf-mcpMCP server for SAP BTP and Cloud Foundry acting as the logged-in userfrom BTP/BAIP
  8. MarkWuRY168/SAP_MCPMCP server publishing SAP functions as tools from config tablesfrom ABAP
  9. @neoimpulse/cap-js-mcpMCP server inside a CAP application with model and query toolsfrom CAP
  10. @odatano/core-mcpMCP server exposing the ODATANO Cardano-to-OData bridge as toolsfrom CAP
  11. @odatano/nightgate-mcpMCP server exposing the NIGHTGATE Midnight attestation layerfrom CAP
  12. @shahid.la/cds-db-nlquery-mcpMCP server answering plain-English questions against a CDS schemafrom CAP
  13. Skybuffer AI MCP serverABAP add-on serving business data and transactions as MCP toolsfrom ABAP
  14. cap-mcp-pluginMCP server generated from a CDS model, forked from @gavdi/cap-mcpfrom CAP

Details

Connected knowledge — wider context3

Source connections explain where this sits. Implementation claims remain in their exact task assessment.

Expose an application service to an AI agent · Expose an application service to an AI agent

Editorially accepted assessment · assessed . No Atlas runtime testing.

Evidence changed · needs review · evidence captured 2026-10-12, 2026-10-26

Supporting evidence changed; this accepted claim needs review.

Evidence status not tracked

Evidence observations do not cover this accepted claim; it is retained as dated history.

Related knowledge

Model Context Protocol Adapter | capire

@cap-js/mcp exposes an annotated custom service for model discovery, querying and invocation of unbound actions and functions.

Why included: Dated assessment history; supporting evidence needs review.

Evidence status not tracked

Evidence observations do not cover this accepted claim; it is retained as dated history.

CAP MCP Plugin — gavdilabs/cap-mcp-plugin README

@gavdi/cap-mcp exposes annotated entities as resources and functions/actions as tools.

Why included: Dated assessment history; supporting evidence needs review.

Evidence status not tracked

Evidence observations do not cover this accepted claim; it is retained as dated history.

SanoberRehman/cap-mcp-bridge — README

cap-mcp-bridge queries a custom application OData V4 endpoint and invokes its exposed operations.

Why included: Dated assessment history; supporting evidence needs review.

Evidence status not tracked

Evidence observations do not cover this accepted claim; it is retained as dated history.

Add MCP capabilities to a CAP service

A fifteen-minute walkthrough of turning a plain CAP service into an MCP server: annotate the service with @mcp, install @cap-js/mcp, and it is served alongside OData at /mcp/<path>. The part worth reading it for is what happens next — cds watch writes the endpoint into the local agent's own configuration file, so OpenCode or Claude Code can call the service without anyone editing JSON by hand. It is built on the tiny-sample facet, so there is nothing to prepare, and it shows the protocol traffic rather than only the result. Written while the adapter was in beta, and it says so.

Why included: CAP Node.js setup, @mcp service exposure, local client discovery and querying through the official adapter.

Examine the details of the Model Context Protocol on startup

What the MCP adapter actually does when a CAP server boots, watched rather than described — the companion to the tutorial that switches it on.

Why included: CAP Node.js startup, tool discovery and query flow; the tutorial sample contains no actions or functions.

Model Context Protocol Adapter — CAP guide

Documents @cap-js/mcp and com.sap.cds:cds-adapter-mcp, service annotations, generated describe/query/call tools and local client setup. The guide records Java doc-comment configuration, unbound-action-based data changes, incomplete XSUAA PKCE support and the adapter’s governance boundaries.

Why included: CAP Node.js and Java adapter installation, service exposure, model context, tools and documented limitations.

CAP OData V4 Service Development

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

JSON-RPC Protocol

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

MCP (Model Context Protocol) Adapter for CAP

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

Connecting with AI Coding Agents

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

CAP Annotations

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

CAP Local Development Loop

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

MCP Servers

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

CAP for Node.js

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

MCP Inspector TUI Client

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

MCP Tools and Autonomous Multi-Step Workflows

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: Native relationship in the retained Developers snapshot; no runtime claim is inferred. · SAP Developers

Why this assessment is relevant
  1. Expose an application service to an AI agent → Expose an application service to an AI agent
Relationships and evidence (36)
  • @cap-js/mcp → provides → Serve your application over MCP

    Exposes an @mcp-annotated CAP Node.js application service through generated describe, query and unbound-action/function tools. The query and call tools invoke the exposed service without direct CRUD tools; data changes require application-defined unbound actions. The describe tool returns model descriptions, and the adapter sends generic and custom server instructions to clients. Whole-service opt-in with @mcp can be narrowed through a dedicated service with selected projections and actions.

    Basis: atlas-record

    Model Context Protocol Adapter | capire · checked 2026-10-12Simply add the @mcp annotation to a service definition to expose it via MCP.

    Model Context Protocol Adapter | capire · checked 2026-10-12This tool is used to read data from the service.

    Model Context Protocol Adapter | capire · checked 2026-10-12This tool is used to call unbound actions or functions.

    Model Context Protocol Adapter | capire · checked 2026-10-12while any data changes need to be implemented via unbound actions for now.

    Model Context Protocol Adapter | capire · checked 2026-10-12The CAP MCP adapter must not be used as a gateway or proxy for SAP Application APIs.

    Model Context Protocol Adapter | capire · checked 2026-10-12The adapter is not an SAP-endorsed architecture, data service, or service-specific pathway under section 2.2.2 of the SAP API Policy and is not an endorsed mechanism for exposing, proxying, or providing agentic access to SAP Application APIs.

    Model Context Protocol Adapter | capire · checked 2026-10-12The CAP MCP adapter is intended only for exposing custom CAP application services.

    Model Context Protocol Adapter | capire · checked 2026-10-12This information is included in the output of the describe tool

    Model Context Protocol Adapter | capire · checked 2026-10-12The MCP Adapter automatically sends MCP instructions to MCP clients to help models understand how to interact with your services effectively.

    Model Context Protocol Adapter | capire · checked 2026-10-12Use the @mcp.instructions annotation on service level, entity level, or action level to specify such custom instructions.

    Model Context Protocol Adapter | capire · checked 2026-10-12Instead of annotating an existing service with @mcp and exposing all its entities and actions, simply create a dedicated service specifically for MCP.

    Model Context Protocol Adapter | capire · checked 2026-10-12Within your project root run this to add the @cap-js/mcp plugin for Node.js projects

  • @gavdi/cap-mcp → provides → Serve your application over MCP

    Generates MCP resources and operation tools from annotated CAP Node.js services, with configured entity wrappers for query/get and optional create/update. The README requires Node.js 18+, CAP 10+ and Express 5+; resource reads and direct tools use service transactions in the pinned implementation. Output omission does not establish a field-access restriction. Annotations and wrapper modes select the exposed entities and operations. Entity resources, reusable prompt templates and @mcp.hint schema descriptions supply context; enable_model_description controls the model-description tool, and instructions configures server instructions. @mcp.omit filters output only: omitted fields remain queryable and can be supplied as write inputs.

    Basis: atlas-record

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12- **Node.js**: Version 18 or higher

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12- **SAP CAP**: Version 10 or higher

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12- **Express**: Version 5 or higher

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Omitted fields remain queryable in the CAP service - only MCP responses are filtered

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Annotate your CAP services with `@mcp` annotations:

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Convert CAP functions and actions into executable MCP tools

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Expose CAP entities as tools (`query`, `get`, and optionally `create`, `update`) for LLM tool use while keeping resources intact

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Define reusable prompt templates for AI interactions

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Hints are accessible in both resource queries and tool executions

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Expose CAP entities as MCP resources with OData v4 query capabilities

    gavdilabs/cap-mcp-plugin — resources.ts at 1f3a97e1c0733d97c0cabea53d6d31767508daed · checked 2026-10-12const response = await service.tx({ user: accessRights }).run(query);

    gavdilabs/cap-mcp-plugin — tools.ts at 1f3a97e1c0733d97c0cabea53d6d31767508daed · checked 2026-10-12const response = await service.tx({ user: accessRights }).send({

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Scans your CAP service definitions for `@mcp` annotations

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12When `wrap_entities_to_actions` is enabled (globally or via `@mcp.wrap.tools: true`)

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Omitted fields are **only excluded from outputs** - they can still be provided as inputs for create/update operations

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Determines whether the MCP server should include the model description tool

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12MCP server instructions for agents

  • cap-mcp-plugin → provides → Serve your application over MCP

    Generates MCP entity resources and bound/unbound operation tools for CAP Node.js, with configured CRUD wrappers, a draft lifecycle and optional Fiori-derived MCP Apps. The README requires Node.js 18+, CAP 9+ and Express 4+. Resource/tool annotations and wrapper modes select the exposed surface; resource reads and direct operation tools call CAP service transactions in the pinned implementation. Entity resources, prompt templates and @mcp.hint schemas supply context, instructions configures server instructions, and MCP Apps require @mcp.wrap.tools with Fiori annotations. @mcp.omit filters output only, and disabling app write buttons leaves tools callable.

    Basis: atlas-record

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12- Node.js 18+

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12- `@sap/cds` 9+

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12- `express` 4+

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12`@mcp.omit` filters MCP output only.

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12no Create/Edit/Delete buttons (the write tools themselves are unaffected)

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Annotated entities become MCP resources, functions and actions become tools, and services can expose reusable prompt templates.

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12CDS operations annotated with `@mcp.tool: true` become MCP tools.

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Both **unbound** (service-level) and **bound** (entity-level) operations are supported

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12- `delete` — remove a row by key(s).

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12- `draft-activate` — publish the pending draft to the active row.

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12**Short-circuits active-row `create`, `update`, and `delete`** with a `DRAFT_REQUIRED` error

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12entities annotated with `@odata.draft.bypass` (or the whole service with `cds.env.fiori.bypass_draft: true`) continue to accept direct active-row `create`/`update`/`delete`

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Declare reusable prompt templates.

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Enrich schemas for AI agents via `@mcp.hint` on elements and parameters.

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12When an entity has `@mcp.wrap.tools` **and** Fiori UI annotations, the plugin registers two `ui://` HTML resources

    sleibach/cap-mcp-plugin — resources.js at 5359398d0662f452d31529509c67634f8eb5406d · checked 2026-10-12const response = await service.tx({ user: accessRights }).run(query);

    sleibach/cap-mcp-plugin — tools.js at 5359398d0662f452d31529509c67634f8eb5406d · checked 2026-10-12service.tx({ user: accessRights }).send({

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12modes: ['query', 'get', 'create', 'update']

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Omitted fields can still be supplied as inputs on create / update operations and remain queryable in the underlying CAP service.

    cap-mcp-plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Server-level instructions surfaced to agents

  • Model Context Protocol Adapter — CAP guide → explains → Serve your application over MCP

    CAP Node.js and Java adapter installation, service exposure, model context, tools and documented limitations.

    Basis: atlas-record

  • Model Context Protocol Adapter — CAP guide → explains → @cap-js/mcp

    Node.js installation, service annotations, querying and unbound action/function invocation.

    Basis: atlas-record

  • Add MCP capabilities to a CAP service → explains → Serve your application over MCP

    CAP Node.js setup, @mcp service exposure, local client discovery and querying through the official adapter.

    Basis: atlas-record

  • Add MCP capabilities to a CAP service → explains → @cap-js/mcp

    Canonical Atlas relevance assertion.

    Basis: atlas-record

  • Examine the details of the Model Context Protocol on startup → explains → Serve your application over MCP

    CAP Node.js startup, tool discovery and query flow; the tutorial sample contains no actions or functions.

    Basis: atlas-record

  • Examine the details of the Model Context Protocol on startup → explains → @cap-js/mcp

    Canonical Atlas relevance assertion.

    Basis: atlas-record

  • Add MCP capabilities to a CAP service → teaches → CAP OData V4 Service Development

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Add MCP capabilities to a CAP service → teaches → JSON-RPC Protocol

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Add MCP capabilities to a CAP service → teaches → MCP (Model Context Protocol) Adapter for CAP

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Add MCP capabilities to a CAP service → teaches → Connecting with AI Coding Agents

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Add MCP capabilities to a CAP service → teaches → CAP Annotations

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Add MCP capabilities to a CAP service → teaches → CAP Local Development Loop

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Add MCP capabilities to a CAP service → teaches → MCP Servers

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Examine the details of the Model Context Protocol on startup → teaches → JSON-RPC Protocol

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Examine the details of the Model Context Protocol on startup → teaches → CAP for Node.js

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Examine the details of the Model Context Protocol on startup → teaches → MCP (Model Context Protocol) Adapter for CAP

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Examine the details of the Model Context Protocol on startup → teaches → MCP Inspector TUI Client

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Examine the details of the Model Context Protocol on startup → teaches → MCP Servers

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Examine the details of the Model Context Protocol on startup → teaches → MCP Tools and Autonomous Multi-Step Workflows

    Native relationship in the retained Developers snapshot; no runtime claim is inferred.

    Basis: source-graph

    SAP Developers graph snapshot · checked 2026-10-05T00:55:43.720Z

  • Expose an application service to an AI agent → associatedWith → Serve your application over MCP

    Primary capability recorded by the accepted task.

    Basis: atlas-assessment

  • MCP (Model Context Protocol) Adapter for CAP → addressesPartOf → Expose an application service to an AI agent

    The retained source graph says the CAP tutorial teaches this adapter subject. The tutorial exposes a CAP Node.js service through @cap-js/mcp, which addresses the official-adapter part of this assessment.

    Basis: atlas-mapping

    Mapping: partial · accepted · Reviewed canonical mapping · checked 2026-10-12

    Evidence matches captured sources · evidence captured 2026-10-12

    Add MCP capabilities to a CAP service · checked 2026-10-12the implementation of MCP capabilities is provided by the MCP adapter plugin @cap-js/mcp

    Add MCP capabilities to a CAP service · checked 2026-10-12You will need a development environment for CAP Node.js.

  • MCP Servers → contextualizes → Serve your application over MCP

    The retained source graph says the CAP tutorial teaches MCP Servers. In CAP Node.js that tutorial supplies service-exposure context for Serve your application over MCP; this does not classify every tutorial under the broad source subject.

    Basis: atlas-mapping

    Mapping: about · accepted · Reviewed canonical mapping · checked 2026-10-12

    Evidence matches captured sources · evidence captured 2026-10-12

    Add MCP capabilities to a CAP service · checked 2026-10-12the implementation of MCP capabilities is provided by the MCP adapter plugin @cap-js/mcp

    Add MCP capabilities to a CAP service · checked 2026-10-12You will need a development environment for CAP Node.js.

  • Expose an application service to an AI agent → assesses → Expose an application service to an AI agent

    One shared outcome, one scoped assessment.

    Basis: atlas-assessment

  • @cap-js/mcp → previouslyContributedTo → Expose an application service to an AI agent

    Last accepted assessment (2026-10-12): @cap-js/mcp exposes an annotated custom service for model discovery, querying and invocation of unbound actions and functions.

    Basis: atlas-assessment · dated relationship; evidence needs review

    Evidence status not tracked

    Evidence observations do not cover this accepted claim; it is retained as dated history.

    Model Context Protocol Adapter | capire · checked 2026-10-12Simply add the @mcp annotation to a service definition to expose it via MCP.

    Model Context Protocol Adapter | capire · checked 2026-10-12This tool is used to read data from the service.

    Model Context Protocol Adapter | capire · checked 2026-10-12This tool is used to call unbound actions or functions.

    Model Context Protocol Adapter | capire · checked 2026-10-12there is no automatic rate limiting, no specific audit logging of agent actions, no approval workflows for sensitive operations, and no policy enforcement layer.

    Model Context Protocol Adapter | capire · checked 2026-10-12out-of-the-box support for authorization with XSUAA, with PKCE, but it is not fully implemented yet.

    Model Context Protocol Adapter | capire · checked 2026-10-12This information is included in the output of the describe tool

    Model Context Protocol Adapter | capire · checked 2026-10-12npm add @cap-js/mcp

    Model Context Protocol Adapter | capire · checked 2026-10-12For any deployment ensure you use infrastructure and practices that mitigate prompt injection risks and connect only to trusted MCP agents (e.g., Joule).

    Model Context Protocol Adapter | capire · checked 2026-10-12Tools are meant to be used by LLMs and AI agents and do not constitute a stable API.

    Model Context Protocol Adapter | capire · checked 2026-10-12The CAP MCP adapter must not be used as a gateway or proxy for SAP Application APIs.

    Model Context Protocol Adapter | capire · checked 2026-10-12Instead of annotating an existing service with @mcp and exposing all its entities and actions, simply create a dedicated service specifically for MCP.

  • @gavdi/cap-mcp → previouslyContributedTo → Expose an application service to an AI agent

    Last accepted assessment (2026-10-12): @gavdi/cap-mcp exposes annotated entities as resources and functions/actions as tools.

    Basis: atlas-assessment · dated relationship; evidence needs review

    Evidence status not tracked

    Evidence observations do not cover this accepted claim; it is retained as dated history.

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Expose CAP entities as MCP resources with OData v4 query capabilities

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Convert CAP functions and actions into executable MCP tools

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12**Node.js**: Version 18 or higher

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12**SAP CAP**: Version 10 or higher

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12**Express**: Version 5 or higher

  • cap-mcp-bridge → previouslyContributedTo → Expose an application service to an AI agent

    Last accepted assessment (2026-10-12): cap-mcp-bridge queries a custom application OData V4 endpoint and invokes its exposed operations.

    Basis: atlas-assessment · dated relationship; evidence needs review

    Evidence status not tracked

    Evidence observations do not cover this accepted claim; it is retained as dated history.

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12| `query_entity` | The workhorse: filter, select, expand, orderBy, paging, `$count` |

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12| `invoke_action` | Call an action. **Write mode only** |

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12`cap-mcp-bridge` runs **outside** the service and consumes `$metadata` over HTTP.

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12That starts an MCP server on stdio.

  • cap-mcp-plugin → previouslyContributedTo → Expose an application service to an AI agent

    Last accepted assessment (2026-10-12): cap-mcp-plugin derives MCP resources and tools from annotated CDS entities and operations.

    Basis: atlas-assessment · dated relationship; evidence needs review

    Evidence status not tracked

    Evidence observations do not cover this accepted claim; it is retained as dated history.

    CAP MCP Plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Annotated entities become MCP resources, functions and actions become tools, and services can expose reusable prompt templates.

    CAP MCP Plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12Node.js 18+

    CAP MCP Plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12`@sap/cds` 9+

    CAP MCP Plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12`express` 4+

    CAP MCP Plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12There is **no npm registry package yet**. Install straight from GitHub:

    CAP MCP Plugin — sleibach/cap-mcp-plugin README · checked 2026-10-12- Node.js 18+ - `@sap/cds` 9+ - `express` 4+

  • Expose an application service to an AI agent → reading → Model Context Protocol Adapter | capire

    Curated supporting reading for this assessment.

    Basis: atlas-assessment · dated relationship; evidence needs review

    Evidence status not tracked

    Evidence observations do not cover this accepted claim; it is retained as dated history.

    Model Context Protocol Adapter | capire · checked 2026-10-12Simply add the @mcp annotation to a service definition to expose it via MCP.

    Model Context Protocol Adapter | capire · checked 2026-10-12This tool is used to read data from the service.

    Model Context Protocol Adapter | capire · checked 2026-10-12This tool is used to call unbound actions or functions.

    Model Context Protocol Adapter | capire · checked 2026-10-12there is no automatic rate limiting, no specific audit logging of agent actions, no approval workflows for sensitive operations, and no policy enforcement layer.

    Model Context Protocol Adapter | capire · checked 2026-10-12out-of-the-box support for authorization with XSUAA, with PKCE, but it is not fully implemented yet.

    Model Context Protocol Adapter | capire · checked 2026-10-12This information is included in the output of the describe tool

    Model Context Protocol Adapter | capire · checked 2026-10-12npm add @cap-js/mcp

    Model Context Protocol Adapter | capire · checked 2026-10-12For any deployment ensure you use infrastructure and practices that mitigate prompt injection risks and connect only to trusted MCP agents (e.g., Joule).

    Model Context Protocol Adapter | capire · checked 2026-10-12Tools are meant to be used by LLMs and AI agents and do not constitute a stable API.

    Model Context Protocol Adapter | capire · checked 2026-10-12The CAP MCP adapter must not be used as a gateway or proxy for SAP Application APIs.

    Model Context Protocol Adapter | capire · checked 2026-10-12Instead of annotating an existing service with @mcp and exposing all its entities and actions, simply create a dedicated service specifically for MCP.

  • Expose an application service to an AI agent → reading → CAP MCP Plugin — gavdilabs/cap-mcp-plugin README

    Curated supporting reading for this assessment.

    Basis: atlas-assessment · dated relationship; evidence needs review

    Evidence status not tracked

    Evidence observations do not cover this accepted claim; it is retained as dated history.

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Expose CAP entities as MCP resources with OData v4 query capabilities

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12Convert CAP functions and actions into executable MCP tools

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12**Node.js**: Version 18 or higher

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12**SAP CAP**: Version 10 or higher

    CAP MCP Plugin — gavdilabs/cap-mcp-plugin README · checked 2026-10-12**Express**: Version 5 or higher

  • Expose an application service to an AI agent → reading → SanoberRehman/cap-mcp-bridge — README

    Curated supporting reading for this assessment.

    Basis: atlas-assessment · dated relationship; evidence needs review

    Evidence status not tracked

    Evidence observations do not cover this accepted claim; it is retained as dated history.

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12| `query_entity` | The workhorse: filter, select, expand, orderBy, paging, `$count` |

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12| `invoke_action` | Call an action. **Write mode only** |

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12`cap-mcp-bridge` runs **outside** the service and consumes `$metadata` over HTTP.

    SanoberRehman/cap-mcp-bridge — README · checked 2026-10-12That starts an MCP server on stdio.

  • Expose an application service to an AI agent → reading → Add MCP capabilities to a CAP service

    Curated supporting reading for this assessment.

    Basis: atlas-assessment

  • Expose an application service to an AI agent → reading → Examine the details of the Model Context Protocol on startup

    Curated supporting reading for this assessment.

    Basis: atlas-assessment

  • Expose an application service to an AI agent → reading → Model Context Protocol Adapter — CAP guide

    Curated supporting reading for this assessment.

    Basis: atlas-assessment

Shared resource identities

sap-developers:t:cap-add-mcp-capabilities → content:sap-tutorial-add-mcp-capabilities-to-a-cap-service

Same resource across graphs; this does not establish implementation compatibility.

Evidence matches captured sources · evidence captured 2026-10-12

sap-developers:t:cap-examine-mcp-startup → content:sap-tutorial-cap-examine-mcp-startup

Same resource across graphs; this does not establish implementation compatibility.

Evidence matches captured sources · evidence captured 2026-10-12

Gaps, source snapshot and retrieval limits
  • The four contributions are separate alternatives; no combined design is asserted or executed by the Atlas.
  • Other providers on this capability page remain unassessed for the complete service-exposure outcome.
  • Transport, authentication, tenancy and production behavior have not been tested by the Atlas.
  • CAP Java and BTP have separate proposed assessments; draft lifecycle, prompts, resources and interactive UI have outcome-specific assessments.
  • Evidence observations do not cover this accepted claim; it is retained as dated history.
  • Supporting evidence changed; this accepted claim needs review.
  • Retrieval uses at most four typed steps within a bounded source index. Source relationships do not establish compatibility.

Developers snapshot checked 2026-10-05 · 33 indexed records from a 9,023-node source snapshot. This is a bounded retrieval view; absence is not evidence that no solution exists. Source relationships and proximity do not establish runtime compatibility.

Mapping version: connected-tasks-2026-10-06-v4+mcp-records-b256b58cfb844590. Task and mapping evidence remain separate from implementation evidence.

Access an external system through an application MCP service · CAP Node.js application bridge for custom external APIs outside SAP Application APIs

Editorially accepted assessment · assessed . No Atlas runtime testing.

Evidence changed · needs review · evidence captured 2026-10-12, 2026-10-15, 2026-10-26

Supporting evidence changed; this accepted claim needs review.

Evidence status not tracked

Evidence observations do not cover this accepted claim; it is retained as dated history.

Related knowledge

CAP Framework (Cloud Application Programming Model)

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: The CAP framework subject is broader than the Node.js runtime. This is a route to context, not package identity or compatibility. · SAP Developers

Why this assessment is relevant
  1. Access an external system through an application MCP service → CAP Node.js application bridge for custom external APIs outside SAP Application APIs
Relationships and evidence (17)
Gaps, source snapshot and retrieval limits
  • The application integration and MCP contributions are assessed separately; no captured source shows these complete generic bridge paths working against a chosen external system.
  • The selected target API, client and backend permissions, tenant mapping and remote error behavior need a project-specific assessment.
  • A compatible component does not establish an endorsed architecture or permission to expose an SAP Application API.
  • Evidence observations do not cover this accepted claim; it is retained as dated history.
  • Supporting evidence changed; this accepted claim needs review.
  • Retrieval uses at most four typed steps within a bounded source index. Source relationships do not establish compatibility.

Developers snapshot checked 2026-10-05 · 33 indexed records from a 9,023-node source snapshot. This is a bounded retrieval view; absence is not evidence that no solution exists. Source relationships and proximity do not establish runtime compatibility.

Mapping version: connected-tasks-2026-10-06-v4+mcp-records-b256b58cfb844590. Task and mapping evidence remain separate from implementation evidence.

Access an external system through an application MCP service · CAP Node.js application bridge for SAP Application APIs

Editorially accepted assessment · assessed . No Atlas runtime testing.

Evidence changed · needs review · evidence captured 2026-10-12, 2026-10-15, 2026-10-26

Supporting evidence changed; this accepted claim needs review.

Evidence status not tracked

Evidence observations do not cover this accepted claim; it is retained as dated history.

Related knowledge

CAP Framework (Cloud Application Programming Model)

Source subject or learning resource; applicability is established separately by the scoped assessment.

Why included: The CAP framework subject is broader than the Node.js runtime. This is a route to context, not package identity or compatibility. · SAP Developers

Why this assessment is relevant
  1. Access an external system through an application MCP service → CAP Node.js application bridge for SAP Application APIs
Relationships and evidence (17)
Gaps, source snapshot and retrieval limits
  • The application integration and MCP contributions are assessed separately; no captured source shows these complete generic bridge paths working against a chosen external system.
  • The selected target API, client and backend permissions, tenant mapping and remote error behavior need a project-specific assessment.
  • A compatible component does not establish an endorsed architecture or permission to expose an SAP Application API.
  • The official CAP MCP adapter is explicitly unsupported for this target scope. The community MCP implementations remain unknown for the complete SAP Application API bridge; their general service exposure does not establish that result.
  • Evidence observations do not cover this accepted claim; it is retained as dated history.
  • Supporting evidence changed; this accepted claim needs review.
  • Retrieval uses at most four typed steps within a bounded source index. Source relationships do not establish compatibility.

Developers snapshot checked 2026-10-05 · 33 indexed records from a 9,023-node source snapshot. This is a bounded retrieval view; absence is not evidence that no solution exists. Source relationships and proximity do not establish runtime compatibility.

Mapping version: connected-tasks-2026-10-06-v4+mcp-records-b256b58cfb844590. Task and mapping evidence remain separate from implementation evidence.

Sources5
npm registrydiscovered herechecked
The discovery passdiscovered herechecked
npm registry, @cap-js/mcpversion, releases, installschecked
github.com/git+https://github.com/cap-js/mcp.gittree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
declared for>=8
latestv1.5.0
first release
releases and cadence10, ~5d median
discovered vianpm registry, The discovery pass
first seen in the atlas
ecosystem and domaincap, ai-and-agents
Contributors12
History in the atlas12
  1. CDS application-service contract selected with @mcp; Read queries and unbound actions/functions; changes require application-defined unbound actions; Model descriptions through describe tools; generic/custom MCP instructions; Generated query and call tools invoke the exposed CAP service; no direct CRUD tools; @mcp opts in a whole service; dedicated service projections/actions narrow its exposed contract
  2. Exposes an @mcp-annotated CAP [Node.js](external:nodejs) application service through generated describe, query and unbound-action/function tools. Data changes require application-defined unbound actions. The adapter must not be used as a gateway or proxy for SAP Application APIs, including when the application wraps those APIs.
  3. CAP service contract
  4. Model descriptions via tools; Server instructions
  5. CAP service calls
  6. Service selection
  7. Exposes an @mcp-annotated CAP [Node.js](external:nodejs) application service through generated describe, query and unbound-action/function tools. Data changes require application-defined unbound actions. The adapter must not be used as a gateway or proxy for SAP Application APIs, including when the application wraps those APIs. The describe tool returns model descriptions, and the adapter sends generic and custom server instructions to clients. Whole-service opt-in with @mcp can be narrowed through a dedicated service with selected projections and actions. The query and call tools invoke that CAP service, without direct CRUD tools.
  8. SAP prohibits gateway/proxy use for SAP Application APIs; the Atlas separately excludes CAP wrappers around those APIs from its assessed scope. Data changes require application-defined unbound actions, and the adapter supplies no rate limiting, agent-action audit logging, approval workflows or policy enforcement. In beta, with nine releases in the six weeks after the first, so pin it.
  9. Exposes an @mcp-annotated CAP [Node.js](external:nodejs) application service through generated describe, query and unbound-action/function tools. The query and call tools invoke the exposed service without direct CRUD tools; data changes require application-defined unbound actions. The describe tool returns model descriptions, and the adapter sends generic and custom server instructions to clients. Whole-service opt-in with @mcp can be narrowed through a dedicated service with selected projections and actions.
  10. SAP prohibits gateway/proxy use for SAP Application APIs; Atlas decision ADR-0066 treats CAP wrappers around those APIs as covered by that prohibition. Data changes require application-defined unbound actions, and the adapter supplies no rate limiting, agent-action audit logging, approval workflows or policy enforcement. In beta, with nine releases in the six weeks after the first, so pin it.
  11. SAP prohibits gateway/proxy use for SAP Application APIs; the Atlas applies that prohibition to CAP wrappers around those APIs. Data changes require application-defined unbound actions, and the adapter supplies no rate limiting, agent-action audit logging, approval workflows or policy enforcement. In beta, with nine releases in the six weeks after the first, so pin it.
  12. First seen.
For your agent