{"ref":"content:cap-in-the-age-of-ai-3-from-mcp-to-a2a","page":"/content/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","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"cap-in-the-age-of-ai-3-from-mcp-to-a2a","content_type":"video","url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A","published_on":"source:youtube","published":"2026-08-21","part_of":"content:cap-in-the-age-of-ai","position":3,"authors":["actor:dj-adams","actor:akatuoro","actor:stefanrudi"],"summary":"The episode that finishes [@cap-js/mcp](artifact:cap-js-mcp) with authorisation and then crosses to agents. `@requires` and `@restrict` are the same annotations CAP already has, and the plugin reads them to filter the tool list and the describe output per user and per request, so a model is not told about entities the caller cannot reach — where the OData metadata of the same service lists every exposed entity regardless. The second half annotates a service with `@agent` from [@cap-js/agents](artifact:cap-js-agents), which serves it over A2A with an agent card and a chat preview, runs first against a mocked response and then against [SAP AI Core](artifact:btp-ai-core) bound with `cds bind` and a hybrid profile, and reuses the MCP adapter's tools rather than defining new ones.","short":"@cap-js/mcp authorisation and the move from MCP to A2A","explains":["artifact:cap-js-mcp","artifact:cap-js-agents","artifact:btp-ai-core","capability:mcp-servers","capability:agent-tooling","capability:llm-integration"],"sources":[{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the requires annotation","checked":"2026-10-18","quote":"we have the requires annotation which allows you to actually limit the access for the entire service itself"},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the restrict annotation","checked":"2026-10-18","quote":"this works of course not just for requires but we also have this uh restrict annotation"},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the plugin filters the tool list","checked":"2026-10-18","quote":"So this filtering is done by the by the plugin, right?"},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — per request and per user","checked":"2026-10-18","quote":"because we actually yeah per request we per request and per user we actually um generate these list tool again"},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — what OData metadata shows","checked":"2026-10-18","quote":"in the metadata you will get all entities that that are exposed over your service. they don't really care if you have access on it or not."},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — authorisation rests on CAP's own handlers","checked":"2026-10-18","quote":"because we just rely again on the existing cup um logic, right? We don't pre-invent anything."},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the agent annotation","checked":"2026-10-18","quote":"with this plugin what we can now do is we can annotated with add agent"},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the A2A protocol and the agent card","checked":"2026-10-18","quote":"And what's new is now that we also have an A2A protocol."},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the chat preview","checked":"2026-10-18","quote":"this is simply a small UI, right? that is now connected to our A2A uh endpoint."},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the mocked response","checked":"2026-10-18","quote":"So this is right just mock lm mocked response no lm was invoked."},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — binding the SAP AI Core instance","checked":"2026-10-18","quote":"is we can do CDS bind too right and I mean travel AI is if we check right the name of my service instance"},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — running with the hybrid profile","checked":"2026-10-18","quote":"And now when I um run CS watch then I can specify the hybrid profile."},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the llm kinds","checked":"2026-10-18","quote":"what we have configured for hybrid mode and then also for production as default is AI core right"},{"url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","title":"CAP in the age of AI #3 - from MCP to A2A — the agents plugin reuses the MCP tools","checked":"2026-10-18","quote":"the agents plugin is actually using the exact same tools right it's actually in cross dependency to MCP"}],"provenance":{"discovered_via":[{"source":"source:youtube"}],"first_seen":"2026-10-18"},"drafted_with_ai":true},"readings":{"liveness":[{"label":"Checked against the source","tier":"unknown","evidence":"nobody has checked it"},{"label":"Source reachable","tier":"unknown","evidence":"not crawled"},{"label":"Age","tier":"good","evidence":"published 2 months ago"}],"compatibility":[{"label":"Version","tier":"unknown","evidence":"no version declared"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2026-08-21"},{"label":"Findings","tier":"good","evidence":"none flagged"}],"reach":[{"value":null,"unit":"views"},{"value":null,"unit":"comments"},{"value":null,"unit":"likes"}]},"signals":null,"series":{"head":{"id":"cap-in-the-age-of-ai","title":"CAP in the age of AI","content_type":"series"},"container":true,"of":7,"at":3,"parts":[{"position":1,"title":"CAP in the age of AI #1 - the MCP adapter","url":"https://www.youtube.com/watch?v=VPJhkR9pHVM","published":"2026-08-07","state":"indexed","id":"cap-in-the-age-of-ai-1-the-mcp-adapter"},{"position":2,"title":"CAP in the age of AI #2 - more on the MCP adapter","url":"https://www.youtube.com/watch?v=5RBFxl5IqKs","published":"2026-08-14","state":"indexed","id":"cap-in-the-age-of-ai-2-more-on-the-mcp-adapter"},{"position":3,"title":"CAP in the age of AI #3 - from MCP to A2A","url":"https://www.youtube.com/watch?v=Nu_bEVFM7DM","published":"2026-08-21","state":"indexed","id":"cap-in-the-age-of-ai-3-from-mcp-to-a2a"},{"position":4,"title":"CAP in the age of AI #4 - more on agents","url":"https://www.youtube.com/watch?v=2nWIwzoNw-M","published":"2026-09-11","state":"indexed","id":"cap-in-the-age-of-ai-4-more-on-agents"},{"position":5,"title":"CAP in the age of AI #5 - agents wrap-up","url":"https://www.youtube.com/watch?v=cMqSxjtN1hs","published":"2026-10-02","state":"indexed","id":"cap-in-the-age-of-ai-5-agents-wrap-up"},{"position":6,"title":"CAP in the age of AI #6 - vector embeddings","url":"https://www.youtube.com/watch?v=tdtRgPy4B40","published":"2026-10-09","state":"indexed","id":"cap-in-the-age-of-ai-6-vector-embeddings"},{"position":7,"title":"CAP in the age of AI #7 - vector embeddings wrap-up","url":"https://www.youtube.com/watch?v=JGXE952l4JM","published":"2026-10-16","state":"indexed","id":"cap-in-the-age-of-ai-7-vector-embeddings-wrap-up"}]},"edges":{"authors":[{"ref":"actor:dj-adams","name":"DJ Adams","json":"/actors/dj-adams.json"},{"ref":"actor:akatuoro","name":"Johannes Vogt","json":"/actors/akatuoro.json"},{"ref":"actor:stefanrudi","name":"Stefan Rudi","json":"/actors/stefanrudi.json"}]}}