Back to catalog
MCP Dynamic Tool Groups MCP Server
An example MCP server that uses annotated Java interfaces/classes as 'tool groups' for dynamic generation of tool specifications and adding/removing them from MCP servers at runtime.
Get this MCP server
An example MCP server that uses annotated Java interfaces/classes as 'tool groups' for dynamic generation of tool specifications and adding/removing them from MCP servers at runtime.
Available Tools
| Tool | Description |
|---|---|
add |
Computes the sum of two double-precision input arguments a and b |
multiply |
Returns the product of two given double-precision arguments named a and b |
asyncAdd |
Asynchronously returns the sum of two double-precision input arguments a and b |
asyncMultiply |
Asynchronously returns the product of two given double-precision arguments named a and b |
Features
- Dynamic management of tool groups using Java annotations
- Adding and removing tool specifications at runtime
- Support for both synchronous and asynchronous tool methods
- Automatic generation of MCP metadata from interface annotations
- OSGi component-based architecture
- Tool grouping functionality for better organization
Notes
This implementation is based on a proposed enhancement to the MCP specification to support ToolGroups. The functionality uses the mcp-java-sdk and mcp-annotations projects and can be adapted for other languages using decorators, annotations, and abstract classes.
