Documentation Index
Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
Use this file to discover all available pages before exploring further.
Atoti Intelligence SDK
This is part of the Atoti Intelligence SDK offer.What are custom tools?
Custom tools are user-defined functions that extend the MCP server’s capabilities. They appear alongside built-in Atoti tools and can be called by LLM clients. Custom tools are useful for extending the MCP server to support workflows beyond those provided by the default Atoti toolset.Why add custom tools?
Adding custom tools provides several benefits:- Extend MCP server functionality for specific use cases
- Expose domain-specific operations to LLM clients
- Integrate business logic with AI interactions
- Create specialized data analysis capabilities
How custom tools work
Custom tools follow this process:- Create a service class with methods annotated with
@Tool - Use
@ToolParamto describe parameters for the LLM - Create a
ToolCallbackProviderbean that references the service - The tools are automatically exposed through the MCP server
Prerequisites
Before adding custom tools, ensure the following requirements are met:- Atoti MCP server is set up
- Spring Framework knowledge for creating beans and services
- Understanding of Spring AI tool annotations
Implementation example
The following example shows how to add a custom greeting tool. Add the following code to the main application class or a configuration class:Key components
The implementation includes the following components:- @Service: Marks the class as a Spring service
- @Tool: Marks a method as an MCP tool with name and description
- @ToolParam: Describes parameters to help the LLM understand usage
- ToolCallbackProvider bean: Registers the tool with the MCP server
- MethodToolCallbackProvider: Wraps the service methods as tools
Tool method requirements
Tool methods must follow these requirements:- Return a value (non-void)
- Use simple parameter types (String, int, boolean, or simple objects)
- Provide clear descriptions for the LLM
- Handle errors appropriately
Best practices
Follow these practices when creating custom tools:- Use descriptive names that indicate the tool’s purpose
- Write clear descriptions for both tools and parameters
- Keep tool logic focused and simple
- Return structured data when appropriate
- Log tool invocations for debugging
- Handle edge cases and errors gracefully
Verify custom tools
After implementing custom tools, verify they are available:- Start the Atoti application
- Connect to the MCP server with Claude or Postman
- Check that the custom tool appears in the tool list
- Test the tool by calling it with appropriate parameters
Troubleshooting
If custom tools do not appear, check the following:- The service class has the
@Serviceannotation - Methods have the
@Toolannotation - The
ToolCallbackProviderbean is properly configured - The application starts without errors
- The MCP server is properly initialized
Related reading
After adding custom tools, consider:- Connect with Postman to test the tools without an LLM
- Connect with Claude to test the tools with an LLM