{"ref":"artifact:cap-js-mcp","page":"/artifacts/cap-js-mcp","json":"/artifacts/cap-js-mcp.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"cap-js-mcp","name":"@cap-js/mcp","artifact_type":"cds-plugin","ecosystem":"cap","domain":"ai-and-agents","origin_ring":"sap-official","description":{"one_line":"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.","short":"Exposes CAP services as MCP servers for AI agents","what_it_solves":"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.","when_not_to_use":"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."},"links":{"npm":"https://www.npmjs.com/package/@cap-js/mcp","repo":"https://github.com/cap-js/mcp"},"provides":[{"capability":"capability:mcp-servers","what_it_does":"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.","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":"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":"The CAP MCP adapter is intended only for exposing custom CAP application services.","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":"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"},{"url":"https://cap.cloud.sap/docs/guides/ai/cap-mcp","title":"Model Context Protocol Adapter | capire","quote":"Within your project root run this to add the @cap-js/mcp plugin for Node.js projects","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":["node"]},"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":"The CAP MCP adapter is intended only for exposing custom CAP application services.","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":["node"]}},{"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":"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":["node"]}},{"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":["node"]}},{"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":["node"]}}]}],"normative_relations":[{"instrument":"instrument:sap-api-policy-v4-2026a","relation":"governed-by","sections":["1.1","1.2","2.2.2"],"applies_when":"A CAP service or its data is exposed to an AI agent through the MCP endpoint.","note":"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.","scope":{"kind":"provides","ref":"capability:mcp-servers"},"sources":[{"url":"https://github.com/cap-js/mcp","title":"@cap-js/mcp — README","checked":"2026-09-16","quote":"The SAP API Policy remains applicable even when exposing data via MCP."}]}],"provenance":{"discovered_via":[{"source":"source:npm"},{"source":"source:discover"}],"first_seen":"2026-08-30"},"compat":{"runtimes":["node"],"cds_range":">=8"},"agent":{"source":{"url":"https://cap.cloud.sap/docs/guides/protocols/mcp","title":"Model Context Protocol Adapter — capire","checked":"2026-09-07","quote":"The adapter enables CAP services to be turned into an MCP server, allowing AI agents and LLM-powered tools to interact with the service without additional implementation work."},"install":"npm add @cap-js/mcp","config_snippet":"// srv/cat-service.cds\n// Serve the same service over MCP as well as OData\nannotate CatalogService with @odata @rest;\nannotate CatalogService with @mcp;\n\n// Or choose the path it is served under:\nannotate CatalogService with @mcp:'books';","minimal_example":"// A service shaped for agents rather than reusing the OData one:\n// srv/books-service.cds\nusing { AdminService } from './admin-service';\n\n@mcp service BooksService {\n  /** The books this shop sells. */\n  entity Books as projection on AdminService.Books {\n    ID, title, stock, price,\n    author,\n    genre.name as genre,\n  }\n}\n\n// Doc comments are not decoration here: the adapter reads them\n// and hands them to the agent through the describe tool.","pitfalls":["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."]},"maintainers":["actor:cap-js"],"contributors":["actor:akatuoro","actor:danjoa","actor:dellagustin-sap","actor:henrybrink","actor:johannes-vogel","actor:maxieckert-sap","actor:mike-zaschka","actor:schiwekm","actor:sirsimon04","actor:sjvans","actor:stefanrudi","actor:swaldmann"],"drafted_with_ai":true,"history":[{"date":"2026-10-12","field":"provides[mcp-servers].facets","from":"CDS service annotations; Queries and unbound actions/functions; record changes through actions; Model descriptions through describe tools; generic and custom MCP instructions sent to clients","to":"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","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":"Exposes a CAP service annotated @mcp over the Model Context Protocol, with tools generated from the model, so agents reach it without additional implementation.","to":"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.","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":"Model descriptions through describe tools; generic/custom MCP instructions","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":"provides[mcp-servers].what_it_does","from":"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.","to":"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.","reason":"Backfills the previously unrecorded staged expansion: describe-tool context, generic/custom server instructions, dedicated service projections/actions, and service execution without direct CRUD tools. These facts were already in the staged paragraph and cited CAP documentation; this history repair does not introduce additional implementation claims."},{"date":"2026-10-12","field":"description.when_not_to_use","from":"Not as a gateway or proxy in front of SAP application APIs — capire says so in as many words. It reads data and calls unbound actions; there is no direct create, update or delete, so anything that changes data has to be modelled as an unbound action. And it carries no governance of its own: no rate limiting, no audit trail of what an agent did, no approval step before a sensitive call, no policy layer. In beta, with nine releases in the six weeks after the first, so pin it.","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. In beta, with nine releases in the six weeks after the first, so pin it.","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 [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.","to":"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.","reason":"Moves the gateway/proxy selection restriction to description.when_not_to_use and retains the service-execution, operation and context facts on the contribution. Structured values and runtime scopes remain unchanged; the implementation restriction remains on the artifact under accepted ADR-0066."},{"date":"2026-10-12","field":"description.when_not_to_use","from":"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.","to":"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.","reason":"Independent review found that a separately introduced Atlas scope exclusion misstates ADR-0066. The decision records the wrapper case as covered by SAP’s gateway/proxy prohibition; the wording now identifies that decision without attributing an explicit wrapper sentence to SAP’s guide."},{"date":"2026-10-12","field":"description.when_not_to_use","from":"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.","to":"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.","reason":"The maintainer explicitly approved this public wording after independent review. Keeps the accepted ADR-0066 application of the SAP gateway/proxy prohibition in history, removes the internal decision identifier from reader-facing prose, and preserves all implementation restrictions."}],"changed_in":[{"version":"1.4.2","date":"2026-08-13","what_changed":"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.","invalidates":"Configuration that sets `toon_format` to switch the output format.","source":{"url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-142---2026-08-13","title":"cap-js/mcp changelog, 1.4.2","checked":"2026-10-19","quote":"Removed the `toon_format` flag, toon is now always the output format"}}]},"effective_normative_relations":[{"instrument":"instrument:sap-api-policy-v4-2026a","relation":"governed-by","sections":["1.1","1.2","2.2.2"],"applies_when":"A CAP service or its data is exposed to an AI agent through the MCP endpoint.","note":"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.","scope":{"kind":"provides","ref":"capability:mcp-servers"},"sources":[{"url":"https://github.com/cap-js/mcp","title":"@cap-js/mcp — README","checked":"2026-09-16","quote":"The SAP API Policy remains applicable even when exposing data via MCP."}]},{"instrument":"instrument:sap-developer-license-3-2-cap","relation":"use-constrained-by","sections":["1","2","3"],"applies_when":"A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.","note":"This is inherited applicability, not a licence verdict about the artifact itself. Review the agreement for the actual materials and use; an explicit artifact relationship to another revision takes precedence.","scope":{"kind":"artifact"},"sources":[{"url":"https://cap.cloud.sap/resources/license/developer-license-3_2_CAP.txt","title":"SAP Developer License Agreement 3.2 CAP","checked":"2026-09-16","quote":"documentation, plug-ins, templates, scripts and sample code, libraries, software development kits"}],"inherited_from":"cap-plugins-and-applications","relevant_capabilities":["agent-systems-access","async-processing","data-import-export","database-connectors","deployment","destinations","llm-integration","mcp-servers","plugin-authoring","replication","retrieval-augmented-generation","rfc-connectivity"]}],"readings":{"liveness":[{"label":"Maintenance","tier":"good","evidence":"1 month since release"},{"label":"Continuity","tier":"good","evidence":"16 contributors, 3 publishers, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":">=8 — includes cds 10 and 9"},{"label":"Survived majors","tier":"unknown","evidence":"first released after @sap/cds 10 shipped"},{"label":"Maintainer's CI","tier":"good","evidence":"Lint green, 2026-10-22"}],"practice":[{"label":"Tests","tier":"good","evidence":"79 test files, npm test"},{"label":"Docs","tier":"fair","evidence":"README 4 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":2192,"unit":"installs/week"},{"value":21,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"1.5.0","majors":{"1":{"version":"1.1.0","date":"2026-07-03"},"0.0":{"version":"0.0.0","date":"2026-07-03"}},"license":"Apache-2.0","first_release":"2026-07-03","last_release":"2026-09-17","releases":10,"cadence_days":5,"maintainers":3,"repository":"git+https://github.com/cap-js/mcp.git","peer_cds":">=8","test_script":true,"types":false,"downloads_weekly":2192,"stars":21,"forks":6,"open_issues":11,"archived":false,"pushed_at":"2026-10-23","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","contributors":16,"tree_truncated":false,"test_files":79,"workflows":6,"other_ci":false,"readme_bytes":3857,"docs_files":0,"changelog":true,"license_file":true,"dts_files":0,"ci_status":"success","ci_run_at":"2026-10-22","ci_workflow":"Lint","ci_event":"push","readme_path":"README.md","readme_sha":"5b80a81f762bbff08b14618de8eb85418c828710","months_since_release":1,"dormant":false,"repository_directory":null,"dependencies":4,"node_engine":null,"downloads_monthly":10166,"created_at":"2026-06-17T09:43:53Z","open_prs":6,"first_commit":"2026-01-20","last_commit":"2026-10-22","commits":247,"repo_read":"2026-10-26"},"release_notes":{"license":"Apache-2.0","quotable":true,"source":{"kind":"npm","path":"CHANGELOG.md","version":"1.5.0","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md"},"format":"keep-a-changelog","releases":[{"version":"1.5.0","date":"2026-09-17","date_source":"registry","heading":"Version 1.5.0 - tbd","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-150---tbd","sections":[{"kind":"change","heading":"Changed","items":1},{"kind":"fix","heading":"Fixed","items":9}],"hash":"8365d91cd5d29b15"},{"version":"1.4.3","date":"2026-08-14","date_source":"heading","heading":"Version 1.4.3 - 2026-08-14","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-143---2026-08-14","sections":[{"kind":"fix","heading":"Fixed","items":1}],"hash":"b07ac35027781d82"},{"version":"1.4.2","date":"2026-08-13","date_source":"heading","heading":"Version 1.4.2 - 2026-08-13","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-142---2026-08-13","sections":[{"kind":"fix","heading":"Fixed","items":3},{"kind":"removal","heading":"Removed","items":1}],"hash":"70f5bc21b648255f","cited_by":[{"version":"1.4.2","date":"2026-08-13"}]},{"version":"1.4.1","date":"2026-08-07","date_source":"heading","heading":"Version 1.4.1 - 2026-08-07","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-141---2026-08-07","sections":[{"kind":"change","heading":"Changed","items":2}],"hash":"a2baf8012df02b7c"},{"version":"1.4.0","date":"2026-08-03","date_source":"heading","heading":"Version 1.4.0 - 2026-08-03","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-140---2026-08-03","sections":[{"kind":"change","heading":"Changed","items":2},{"kind":"fix","heading":"Fixed","items":1}],"hash":"acdf697c718df9c0"},{"version":"1.3.0","date":"2026-07-31","date_source":"heading","heading":"Version 1.3.0 - 2026-07-31","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-130---2026-07-31","sections":[{"kind":"change","heading":"Changed","items":3}],"hash":"67d4c7ef701d139c"},{"version":"1.2.0","date":"2026-07-21","date_source":"heading","heading":"Version 1.2.0 - 2026-07-21","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-120---2026-07-21","sections":[{"kind":"feature","heading":"Added","items":1}],"hash":"b74a3b8fce7e6a9f"},{"version":"1.1.1","date":"2026-07-08","date_source":"heading","heading":"Version 1.1.1 - 2026-07-08","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-111---2026-07-08","sections":[{"kind":"fix","heading":"Fixed","items":2}],"hash":"33cfed930d4abe50"},{"version":"1.1.0","date":"2026-06-16","date_source":"heading","heading":"Version 1.1.0 - 2026-06-16","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-110---2026-06-16","sections":[{"kind":"feature","heading":"Added","items":2}],"hash":"9539a204454b057a"},{"version":"1.0.4","date":"2026-06-15","date_source":"heading","heading":"Version 1.0.4 - 2026-06-15","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-104---2026-06-15","sections":[{"kind":"feature","heading":"Added","items":1},{"kind":"fix","heading":"Fixed","items":2}],"hash":"584279281fc8d931"},{"version":"1.0.3","date":"2026-06-11","date_source":"heading","heading":"Version 1.0.3 - 2026-06-11","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-103---2026-06-11","sections":[{"kind":"removal","heading":"Removed","items":1}],"hash":"e73ec40269263edb"},{"version":"1.0.2","date":"2026-06-10","date_source":"heading","heading":"Version 1.0.2 - 2026-06-10","url":"https://github.com/cap-js/mcp/blob/main/CHANGELOG.md#version-102---2026-06-10","sections":[{"kind":"feature","heading":"Added","items":14},{"kind":"change","heading":"Changed","items":4}],"hash":"21854f5a3ce756fd"}],"versions":[{"version":"1.5.0","date":"2026-09-17"},{"version":"1.4.3","date":"2026-08-14"},{"version":"1.4.2","date":"2026-08-13"},{"version":"1.4.1","date":"2026-08-07"},{"version":"1.4.0","date":"2026-08-03"},{"version":"1.3.0","date":"2026-07-31"},{"version":"1.2.0","date":"2026-07-21"},{"version":"1.1.1","date":"2026-07-08"},{"version":"1.1.0","date":"2026-07-03"},{"version":"0.0.0","date":"2026-07-03","deprecated":"This release was purely technical and should not be used"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:cap-js","name":"SAP Cloud Application Programming Model","json":"/actors/cap-js.json"}],"contributors":[{"ref":"actor:danjoa","name":"Daniel Hutzel","json":"/actors/danjoa.json"},{"ref":"actor:dellagustin-sap","name":"Guilherme Dellagustin","json":"/actors/dellagustin-sap.json"},{"ref":"actor:henrybrink","name":"Henry Brink","json":"/actors/henrybrink.json"},{"ref":"actor:johannes-vogel","name":"Johannes Vogel","json":"/actors/johannes-vogel.json"},{"ref":"actor:akatuoro","name":"Johannes Vogt","json":"/actors/akatuoro.json"},{"ref":"actor:schiwekm","name":"Marten Schiwek","json":"/actors/schiwekm.json"},{"ref":"actor:maxieckert-sap","name":"Maximilian Eckert","json":"/actors/maxieckert-sap.json"},{"ref":"actor:mike-zaschka","name":"Mike Zaschka","json":"/actors/mike-zaschka.json"},{"ref":"actor:sirsimon04","name":"Simon Engel","json":"/actors/sirsimon04.json"},{"ref":"actor:sjvans","name":"sjvans","json":"/actors/sjvans.json"},{"ref":"actor:stefanrudi","name":"Stefan Rudi","json":"/actors/stefanrudi.json"},{"ref":"actor:swaldmann","name":"Steffen Waldmann","json":"/actors/swaldmann.json"}],"explained_by":[{"ref":"content:cap-in-the-age-of-ai-7-vector-embeddings-wrap-up","name":"CAP in the age of AI #7 - vector embeddings wrap-up","json":"/content/cap-in-the-age-of-ai-7-vector-embeddings-wrap-up.json"},{"ref":"content:devtoberfest-2026-cap-mcp-ui5-webmcp","name":"SAP Meets the Agentic Web: CAP MCP - UI5 WebMCP","json":"/content/devtoberfest-2026-cap-mcp-ui5-webmcp.json"},{"ref":"content:devtoberfest-2026-cap-the-road-ahead","name":"CAP: The Road Ahead - Simplicity in an AI Era","json":"/content/devtoberfest-2026-cap-the-road-ahead.json"},{"ref":"content:from-sap-sales-and-service-cloud-v2-apis-to-ai-building-an-mcp-server-with-cap-n","name":"From SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.js","json":"/content/from-sap-sales-and-service-cloud-v2-apis-to-ai-building-an-mcp-server-with-cap-n.json"},{"ref":"content:cap-in-the-age-of-ai-3-from-mcp-to-a2a","name":"CAP in the age of AI #3 - from MCP to A2A","json":"/content/cap-in-the-age-of-ai-3-from-mcp-to-a2a.json"},{"ref":"content:mcp-servers-are-the-new-z-tables","name":"MCP Servers are the New Z-Tables","json":"/content/mcp-servers-are-the-new-z-tables.json"},{"ref":"content:cap-in-the-age-of-ai-2-more-on-the-mcp-adapter","name":"CAP in the age of AI #2 - more on the MCP adapter","json":"/content/cap-in-the-age-of-ai-2-more-on-the-mcp-adapter.json"},{"ref":"content:sap-tutorial-add-mcp-capabilities-to-a-cap-service","name":"Add MCP capabilities to a CAP service","json":"/content/sap-tutorial-add-mcp-capabilities-to-a-cap-service.json"},{"ref":"content:cap-in-the-age-of-ai-1-the-mcp-adapter","name":"CAP in the age of AI #1 - the MCP adapter","json":"/content/cap-in-the-age-of-ai-1-the-mcp-adapter.json"},{"ref":"content:cap-in-the-age-of-ai","name":"CAP in the age of AI","json":"/content/cap-in-the-age-of-ai.json"},{"ref":"content:expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js-2","name":"Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.js","json":"/content/expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js-2.json"},{"ref":"content:the-easiest-way-to-expose-a-cap-nodejs-project-as-an-mcp-server","name":"The Easiest Way to Expose a CAP Node.js Project as an MCP Server","json":"/content/the-easiest-way-to-expose-a-cap-nodejs-project-as-an-mcp-server.json"},{"ref":"content:cap-mcp-adapter-guide","name":"Model Context Protocol Adapter — CAP guide","json":"/content/cap-mcp-adapter-guide.json"},{"ref":"content:cap-node-js-expert-session-6-the-mcp-adapter","name":"CAP Node.js Expert Session #6 - The MCP Adapter","json":"/content/cap-node-js-expert-session-6-the-mcp-adapter.json"},{"ref":"content:sap-tutorial-cap-examine-mcp-startup","name":"Examine the details of the Model Context Protocol on startup","json":"/content/sap-tutorial-cap-examine-mcp-startup.json"}],"alternative_to_this":[{"ref":"artifact:neoimpulse-cap-js-mcp","name":"@neoimpulse/cap-js-mcp","json":"/artifacts/neoimpulse-cap-js-mcp.json"},{"ref":"artifact:sanoberrehman-cap-mcp-bridge","name":"cap-mcp-bridge","json":"/artifacts/sanoberrehman-cap-mcp-bridge.json"},{"ref":"artifact:sleibach-cap-mcp-plugin","name":"cap-mcp-plugin","json":"/artifacts/sleibach-cap-mcp-plugin.json"}],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}