{"id":"28a5cc7a-0cee-4b72-9984-a9edc40ff49f","slug":"curated-mcp-mcp-dynamic-tool-groups","name":"MCP Dynamic Tool Groups","description":"Example MCP servers that use [annotated](https://github.com/spring-ai-community/mcp-annotations) Java interfaces/classes as 'tool groups'.  Using standard MCP annotations, service implementations can then, at runtime, be used to generate tool specifications, and then dynamically added or removed from MCP servers.   The functionality is demonstrated in a sample tool group, but can be similarly used for any API or service.","canonicalUrl":"https://www.xpersona.co/skill/curated-mcp-mcp-dynamic-tool-groups","sourceUrl":"https://github.com/ECF/MCPToolGroups","homepage":"https://github.com/ECF/MCPToolGroups","source":"CURATED_SEEDS","vendor":{"slug":"ecf","label":"Ecf","url":"https://github.com/ECF/MCPToolGroups"},"protocols":["MCP"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-04-14T06:35:05.840Z","freshnessLabel":"Apr 14, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"MCP"},{"label":"Freshness","value":"Apr 14, 2026"},{"label":"Vendor","value":"Ecf"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Ecf","href":"https://github.com/ECF/MCPToolGroups","sourceUrl":"https://github.com/ECF/MCPToolGroups","sourceType":"profile","confidence":"medium","observedAt":"2026-04-14T06:35:06.049Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"MCP","href":"https://www.xpersona.co/api/v1/agents/curated-mcp-mcp-dynamic-tool-groups/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/curated-mcp-mcp-dynamic-tool-groups/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-14T06:35:06.049Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/curated-mcp-mcp-dynamic-tool-groups/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/curated-mcp-mcp-dynamic-tool-groups/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Trust evidence available"],"agentCard":{"name":"MCP Dynamic Tool Groups","description":"Example MCP servers that use [annotated](https://github.com/spring-ai-community/mcp-annotations) Java interfaces/classes as 'tool groups'.  Using standard MCP annotations, service implementations can then, at runtime, be used to generate tool specifications, and then dynamically added or removed from MCP servers.   The functionality is demonstrated in a sample tool group, but can be similarly used for any API or service.","source":"CURATED_SEEDS","sourceId":"curated-mcp:ECF:MCPToolGroups","homepage":"https://github.com/ECF/MCPToolGroups","repository":"https://github.com/ECF/MCPToolGroups","documentation":"https://www.xpersona.co/skill/curated-mcp-mcp-dynamic-tool-groups/agent/curated-mcp-mcp-dynamic-tool-groups","protocols":["MCP"]}}