{"ref":"artifact:cap-java-cds-adapter-mcp","page":"/artifacts/cap-java-cds-adapter-mcp","json":"/artifacts/cap-java-cds-adapter-mcp.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"cap-java-cds-adapter-mcp","name":"com.sap.cds:cds-adapter-mcp","artifact_type":"package","ecosystem":"cap","domain":"protocols-and-apis","origin_ring":"sap-official","description":{"one_line":"The MCP protocol adapter for CAP Java, serving an @mcp-annotated Application Service as an MCP server with three generated tools, describe, query and call, and data changes only through unbound actions.","short":"MCP adapter turning a CAP Java service into an MCP server","what_it_solves":"Turns an @mcp-annotated Application Service into an MCP server, so an agent calls it through three generic tools generated from the model: describe, query and call. Its version comes from [com.sap.cds:cds-services-bom](artifact:cap-java-cds-services-bom); the module is added to srv/pom.xml with runtime scope, the CAP Java route to the same adapter capire documents for Node.js as [@cap-js/mcp](artifact:cap-js-mcp). It stops at reading and at unbound actions: a data change has to be modelled as an unbound action, since there is no direct create, update or delete over MCP. During mvn cds:watch it also autowires the endpoint into a local agent's configuration, adding Basic credentials for the mock user privileged, credentials that mean nothing once the mocked auth strategy is out of the picture.","when_not_to_use":"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."},"links":{"homepage":"https://central.sonatype.com/artifact/com.sap.cds/cds-adapter-mcp","docs":"https://cap.cloud.sap/docs/guides/ai/cap-mcp"},"identity":{"license":"SAP DEVELOPER LICENSE AGREEMENT for CAP"},"source_available":false,"compat":{"runtimes":["java"]},"flavors":[{"key":"java","source":{"url":"https://repo1.maven.org/maven2/com/sap/cds/cds-adapter-mcp/5.1.1/cds-adapter-mcp-5.1.1.pom","title":"com.sap.cds:cds-adapter-mcp — Maven POM","checked":"2026-09-19","quote":"MCP adapter for CDS Services Java"}}],"drafted_with_ai":true,"provides":[{"capability":"capability:mcp-servers","what_it_does":"Exposes an @mcp-annotated CAP Java 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. Java doc comments require configuration in the application and MTX sidecar.","sources":[{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter — capire","checked":"2026-09-19","quote":"the plugin automatically creates an MCP server per CAP service, each serving three generic tools"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter — capire","checked":"2026-09-19","quote":"the cds-adapter-mcp dependency to your srv/pom.xml for CAP Java projects"},{"url":"https://repo1.maven.org/maven2/com/sap/cds/cds-adapter-mcp/5.1.1/cds-adapter-mcp-5.1.1.pom","title":"com.sap.cds:cds-adapter-mcp — Maven POM","checked":"2026-09-19","quote":"MCP adapter for CDS Services Java"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Simply add the @mcp annotation to a service definition to expose it via MCP.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to read data from the service.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to call unbound actions or functions.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"while any data changes need to be implemented via unbound actions for now.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"The CAP MCP adapter must not be used as a gateway or proxy for SAP Application APIs.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"The 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.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This information is included in the output of the describe tool","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"The MCP Adapter automatically sends MCP instructions to MCP clients to help models understand how to interact with your services effectively.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"You must enable doc comments in the Java application and in the MTX sidecar.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Use the @mcp.instructions annotation on service level, entity level, or action level to specify such custom instructions.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Instead of annotating an existing service with @mcp and exposing all its entities and actions, simply create a dedicated service specifically for MCP.","checked":"2026-10-12"}],"facets":[{"key":"mcp_exposure_source","value":["CAP service contract"],"source":{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Simply add the @mcp annotation to a service definition to expose it via MCP.","checked":"2026-10-12"},"applies_to":{"ecosystems":["cap"],"flavors":["java"]},"sources":[{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Simply add the @mcp annotation to a service definition to expose it via MCP.","checked":"2026-10-12"}]},{"key":"mcp_operations","value":"Read queries and unbound actions/functions; changes require application-defined unbound actions","source":{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to read data from the service.","checked":"2026-10-12"},"sources":[{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to read data from the service.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to call unbound actions or functions.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"while any data changes need to be implemented via unbound actions for now.","checked":"2026-10-12"}],"applies_to":{"ecosystems":["cap"],"flavors":["java"]}},{"key":"mcp_context","value":["Model descriptions via tools","Server instructions"],"source":{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This information is included in the output of the describe tool","checked":"2026-10-12"},"sources":[{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This information is included in the output of the describe tool","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"The MCP Adapter automatically sends MCP instructions to MCP clients to help models understand how to interact with your services effectively.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"You must enable doc comments in the Java application and in the MTX sidecar.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Use the @mcp.instructions annotation on service level, entity level, or action level to specify such custom instructions.","checked":"2026-10-12"}],"applies_to":{"ecosystems":["cap"],"flavors":["java"]}},{"key":"mcp_execution_path","value":["CAP service calls"],"source":{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to read data from the service.","checked":"2026-10-12"},"sources":[{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to read data from the service.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"This tool is used to call unbound actions or functions.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"while any data changes need to be implemented via unbound actions for now.","checked":"2026-10-12"}],"applies_to":{"ecosystems":["cap"],"flavors":["java"]}},{"key":"mcp_exposure_control","value":["Service selection"],"source":{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Simply add the @mcp annotation to a service definition to expose it via MCP.","checked":"2026-10-12"},"sources":[{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Simply add the @mcp annotation to a service definition to expose it via MCP.","checked":"2026-10-12"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Instead of annotating an existing service with @mcp and exposing all its entities and actions, simply create a dedicated service specifically for MCP.","checked":"2026-10-12"}],"applies_to":{"ecosystems":["cap"],"flavors":["java"]}}]}],"history":[{"date":"2026-09-19","field":"provides.what_it_does","from":null,"to":"Turns an @mcp-annotated Application Service into an MCP server for CAP Java, generating the describe, query and call tools from the service's entities, actions and functions.","reason":"New CAP Java protocol adapter discovered through capire and its Maven Central POM. Facts describe the pinned capire commit 8b8b5810 and the 5.1.1 release; not verified deployment compatibility."},{"date":"2026-10-12","field":"provides[mcp-servers].facets","from":"CDS service annotations in a Java application; Queries and unbound actions/functions; record changes through actions; Model doc comments through describe; enable Java doc-comment configuration","to":"CDS application-service contract selected with @mcp; Read queries and unbound actions/functions; changes require application-defined unbound actions; Describe output and generic/custom MCP instructions; Java doc comments require configuration in the application and MTX sidecar; 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","reason":"Generated tools invoke service queries and unbound operations; service-contract selection and custom instructions are documented, and the SAP Application API gateway/proxy restriction remains explicit."},{"date":"2026-10-12","field":"provides[mcp-servers].what_it_does","from":"Turns an @mcp-annotated Application Service into an MCP server for CAP Java, generating the describe, query and call tools from the service's entities, actions and functions.","to":"Exposes an @mcp-annotated CAP Java 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.","reason":"Generated tools invoke service queries and unbound operations; service-contract selection and custom instructions are documented, and the SAP Application API gateway/proxy restriction remains explicit."},{"date":"2026-10-12","field":"provides.mcp-servers.facets.mcp_exposure_source.value","from":"CDS application-service contract selected with @mcp","to":"CAP service contract","reason":"Converts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained."},{"date":"2026-10-12","field":"provides.mcp-servers.facets.mcp_context.value","from":"Describe output and generic/custom MCP instructions; Java doc comments require configuration in the application and MTX sidecar","to":"Model descriptions via tools; Server instructions","reason":"Converts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained."},{"date":"2026-10-12","field":"provides.mcp-servers.facets.mcp_execution_path.value","from":"Generated query and call tools invoke the exposed CAP service; no direct CRUD tools","to":"CAP service calls","reason":"Converts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained."},{"date":"2026-10-12","field":"provides.mcp-servers.facets.mcp_exposure_control.value","from":"@mcp opts in a whole service; dedicated service projections/actions narrow its exposed contract","to":"Service selection","reason":"Converts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained."},{"date":"2026-10-12","field":"description.when_not_to_use","from":null,"to":"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.","reason":"Places the published SAP gateway/proxy restriction in selection guidance and labels the CAP-wrapper exclusion as the Atlas assessment boundary accepted in ADR-0066; it is not presented as a separate publisher statement."},{"date":"2026-10-12","field":"provides[mcp-servers].what_it_does","from":"Exposes an @mcp-annotated CAP Java 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. Java doc comments require configuration in the application and MTX sidecar. 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.","to":"Exposes an @mcp-annotated CAP Java 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. Java doc comments require configuration in the application and MTX sidecar.","reason":"Resolves the requested review findings while preserving the structured comparison values, runtime scopes and implementation restrictions."}],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-19"}},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"unknown","evidence":"no contributor data"},{"label":"Repository","tier":"unknown","evidence":"no repository data"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"no release dates"},{"label":"Maintainer's CI","tier":"unknown","evidence":"no repository data"}],"practice":[{"label":"Tests","tier":"unknown","evidence":"not crawled"},{"label":"Docs","tier":"unknown","evidence":"docs link declared, tree not read"},{"label":"Changelog","tier":"unknown","evidence":"not crawled"}],"reach":[{"value":null,"unit":"installs/week"},{"value":null,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name"},"edges":{"maintainers":[],"contributors":[],"explained_by":[{"ref":"content:cap-mcp-adapter-guide","name":"Model Context Protocol Adapter — CAP guide","json":"/content/cap-mcp-adapter-guide.json"}],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}