embabel-agent icon indicating copy to clipboard operation
embabel-agent copied to clipboard

Creating new tool groups from (external) MCP server (based on Spring AI 1.1.0 branch)

Open dvag-joerg-winter opened this issue 3 months ago • 1 comments

Hi, trying to follow instructions here: https://github.com/embabel/embabel-agent/blob/main/embabel-agent-docs/src/main/asciidoc/reference/tools/page.adoc

Using branch spring-ai-1.1.0-M3 in repo embabel-agent-examples and declaring my MCP server like this (in the embabel Agent app)

Image

..and creating a ToolGroup like this:

Image

the tools exposed (verified and recognized by other clients like MCP Inspector and my own MCP Client Spring Host Application) are not detected by embabel:

Image

dvag-joerg-winter avatar Nov 10 '25 16:11 dvag-joerg-winter

Meanwhile I managed to create a bean that provides my MCP tools, and the Agent uses my new ToolGroup correctly, nice.

But I could only make this work, when the remote MCP server has protocol stateless Using protocol streamable makes tools invisible; is this intended or not yet implemented?

@Configuration
class MyAppToolGroupsConfiguration(
    private val mcpSyncClients: List<McpSyncClient>,
) {

    // TODO? only with protocol stateless
    @Bean
    fun myAppMcpToolsGroup(): ToolGroup {
        return McpToolGroup(
            description = ToolGroupDescription(
                description = "MCP Tools for MyApp",
                role = "myapp",
            ),
            name = "myapp",
            provider = "sandbox-server",
            permissions = emptySet(),
            clients = mcpSyncClients,
            filter = { toolCallback ->
                true
            }
        )
    }
}

dvag-joerg-winter avatar Nov 11 '25 16:11 dvag-joerg-winter

Streamable HTTP is not yet supported in the framework. We're planning to add support for Streamable HTTP soon. Stay tuned.

alexheifetz avatar Dec 16 '25 06:12 alexheifetz