There are two supported types of user-provided tools: HTTP Tool This tool type is identical in its essence to the widespread “Function tool”. The user is responsible for passing the function’s name, description and the parameters’ descriptions. In addition, the user needs to provide an endpoint which AI21 Maestro will call with the relevant parameters. Find more details on how AI21 Maestro interacts with the endpoint here. MCP Tool Tools are hosted on a remote server that implements the Model Context Protocol (MCP). AI21 Maestro connects to this server to fetch the available tools and invokes them directly when needed. This model can optionally include approval steps before execution.
Find more details about the MCP tool here.
Limitations
Due to AI21 Maestro’s multi-path execution and planning architecture, it may explore more than one way to accomplish a task, , which can result in multiple calls to the same tool.Because of this behavior:
Action / Write tools are strongly discouraged.
If such tools are invoked in more than one path, it can lead to unintended duplication of actions, inconsistent states, or conflicting side-effects.
If such tools are invoked in more than one path, it can lead to unintended duplication of actions, inconsistent states, or conflicting side-effects.
Retrieval / Read tools are recommended instead.
They are safer under multi-path exploration because they avoid the risks associated with side effects and state change: they provide information without altering external systems or resources.
They are safer under multi-path exploration because they avoid the risks associated with side effects and state change: they provide information without altering external systems or resources.
Key Benefits
- Enhanced Context: AI21 Maestro can retrieve data directly from your systems in order to better answer your queries.
- Real-time data: AI21 Maestro can access your system directly without needing to index the data in advance.
- Support for Existing Infrastructure: You can reuse your existing tools and services instead of transforming internal knowledge into ingestible documents for file search.
Example: Tool Definition
Here’s a simplified Python snippet of a tool definition for accessing JIRA issue data:- Tool name
- Tool description
- Parameter names
- Parameter types
- Parameter descriptions
Example: Tool definition in JSON
Practical Considerations
- Keep tool descriptions complete and accurate.
- Limit the number of tools exposed per use case to improve selection accuracy.
- Ensure tool outputs are structured in a machine-readable format (e.g., JSON) and consistently shaped.
MCP vs. HTTP: Choosing the Right Tool
MCP | HTTP | |
---|---|---|
**Multiple related tools ** (e.g., Jira, HubSpot) | Yes | No |
Providing tool definitions | The MCP provides them via tool discovery | The user provides the description |
The user provides the description | No | Yes |