{"ref":"content:sap-tutorial-add-mcp-capabilities-to-a-cap-service","page":"/content/sap-tutorial-add-mcp-capabilities-to-a-cap-service","json":"/content/sap-tutorial-add-mcp-capabilities-to-a-cap-service.json","generated":"2026-10-30","drafted_with_ai":true,"entity":{"id":"sap-tutorial-add-mcp-capabilities-to-a-cap-service","title":"Add MCP capabilities to a CAP service","url":"https://developers.sap.com/tutorials/cap-add-mcp-capabilities","content_type":"tutorial","explains":[{"ref":"capability:mcp-servers","what_it_covers":"CAP Node.js setup, @mcp service exposure, local client discovery and querying through the official adapter.","applies_to":{"ecosystems":["cap"],"flavors":["node"]}},"artifact:cap-js-mcp"],"summary":"A fifteen-minute walkthrough of turning a plain CAP service into an MCP server: annotate the service with `@mcp`, install [@cap-js/mcp](artifact: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](https://cap.cloud.sap/docs/tools/cds-cli#cds-add), 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.","short":"Turning a CAP service into an MCP server with @cap-js/mcp","authors":["actor:dj-adams"],"published":"2026-08-13","against":[{"ref":"artifact:cap-js-mcp","version":"1.x"}],"sources":[{"url":"https://developers.sap.com/tutorials/cap-add-mcp-capabilities","title":"Add MCP capabilities to a CAP service — SAP Developer Center","checked":"2026-09-07","quote":"At the time of writing, the MCP adapter in CAP is in beta status."},{"url":"https://developers.sap.com/developer-advocates/dj-adams/","title":"DJ Adams — SAP developer advocate profile","checked":"2026-09-07"}],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-07"},"drafted_with_ai":true,"published_on":"source:sap-developers"},"readings":{"liveness":[{"label":"Checked against the source","tier":"unknown","evidence":"nobody has checked it"},{"label":"Source reachable","tier":"good","evidence":"up as of 2026-09-07"},{"label":"Age","tier":"good","evidence":"published 2 months ago"}],"compatibility":[{"label":"Version","tier":"good","evidence":"@cap-js/mcp 1.x"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2026-08-13"},{"label":"Findings","tier":"good","evidence":"none flagged"}],"reach":[{"value":null,"unit":"views"},{"value":null,"unit":"comments"},{"value":null,"unit":"likes"}]},"signals":{"crawled_at":"2026-09-07","reachable":true},"series":null,"edges":{"authors":[{"ref":"actor:dj-adams","name":"DJ Adams","json":"/actors/dj-adams.json"}]}}