- MCP toolkits: Group MCP server tools (Python or Node.js) for local or remote execution
- Python toolkits: Group Python tools to run together in a single process for better performance
Choosing between toolkits and standalone tools:Toolkits offer performance benefits but require specific considerations. For help deciding between standalone Python tools, Python toolkits, local MCP toolkits, remote MCP toolkits, and OpenAPI tools, see Choosing a tool type.
MCP toolkits
Use MCP toolkits to integrate tools built with the Model Context Protocol (MCP). MCP toolkits support both local and remote execution: Local MCP toolkits:- Run inside the watsonx Orchestrate runtime using stdio transport
- Support Python and Node.js implementations
- Can be imported from npm, PyPI, or local filesystem
- Behave like standalone Python tools with process-per-invocation model
- Suitable for tools that need MCP protocol features or Node.js runtime
- Connect to external MCP servers via HTTP (SSE or streamable HTTP)
- Run on your infrastructure or third-party services
- Support multiple authentication methods
- Add network latency but enable centralized tool management
Python toolkits
Use Python toolkits to bundle multiple related Python tools that run together in a single Python process. This approach eliminates process startup overhead and provides better performance for frequently called tools. Key characteristics:- Tools share the same Python process and dependencies
- No process overhead after initial startup (saves 100-300ms per call)
- Requires all tools to be thread-safe and reentrant
- In live premium environments, each toolkit gets dedicated resources (2 vCPUs, 2 GB memory)
- Supports up to 10 concurrent requests per toolkit
- You have multiple related Python tools
- Tools are called frequently (>10 times per minute)
- All tools are thread-safe
- You want to minimize execution overhead
- Tools use non-thread-safe operations
- Tools are called infrequently
- You need process isolation between calls
Tool naming convention
When you import a toolkit, watsonx Orchestrate exposes each tool within it individually using the naming format:toolkit_name:tool_name format.
Next steps
- Choosing a tool type - Decision guide for selecting the right tool type
- Importing Python toolkits - How to create and import Python toolkits
- Importing local MCP toolkits - How to import local MCP servers
- Importing remote MCP toolkits - How to connect to remote MCP servers
- Migrating to Python toolkits - Step-by-step migration guide
- Managing toolkits - How to update and remove toolkits

