core icon indicating copy to clipboard operation
core copied to clipboard

feat: mcp bundle tool integration

Open soyuka opened this issue 2 months ago • 0 comments

Q A
Branch? main
Tickets na
License MIT
Doc PR needed

Rework of https://github.com/api-platform/core/pull/7458

Now with a simpler approach, this gives the ability to add McpTool (upcoming McpResource) to any API Platform environment giving access to:

  • automatic input JSON Schema's (waiting for https://github.com/modelcontextprotocol/php-sdk/pull/153 for output schema compatiblity)
  • automatic structured content
  • reuses the Symfony serializer under the hood (with all the capabilities of API Platform including optional iris using item_uri_template)
  • allows to return a custom CallToolResult (from the php-sdk itself for images, sound etc.)
  • ability to reuse Symfony validation constraints as usual
  • works with doctrine entities if needed (calls the provider and the processor on demand)
  • integrates with the symfony security features

TODO:

  • [ ] test with #[McpTool] attribute
  • [ ] test using an entity
  • [ ] test custom CallToolResult content
  • [ ] test validation
  • [ ] test #[McpResource]

Because MCP uses JSON-RPC under the hood with some particular response objects (from php-sdk) we can not change returned headers yet (we'll work on an extension point).

soyuka avatar Dec 09 '25 10:12 soyuka