My notes about the watsonx Orchestrate Agent Development Kit (ADK) and Model Context Protocol

May 15, 2026·
Dr. Giulia Solinas
Dr. Giulia Solinas
· 3 min read
Photo by Lukas Kizur on Unsplash

Elevate Your AI Engineering: Mastering watsonx Orchestrate Tooling and APIs

In Parts 1 and 2, I covered the architectural foundations and best practices for building production-ready agents. Now it’s time to get hands-on with the tooling and APIs that power your watsonx Orchestrate implementations.

For AI engineers looking to extend the capabilities of their agents, this installment provides the foundational knowledge necessary to integrate custom tools and manage the environment using powerful command-line tools and direct API calls. It is also


The Agent Developer Kit (ADK): The Command Center

The ADK is the essential CLI for managing your watsonx Orchestrate environments and assets. Mastering a few key commands allows you to seamlessly switch between environments (for example, ), as well as manage the tools your agents use.

Essential Commands

  • orchestrate env list & orchestrate env activate: Essential for listing all configured environments and activating a specific one (e.g., a local development instance or a SaaS tenant).

  • orchestrate agents import -f [agent_name].yaml to import the agent into the environment.

  • orchestrate tools import & orchestrate tools list: The standardized way to register new tools into your environment and verify their successful import.

  • orchestrate connections remove: Used to safely unregister external service connections from your active tenant.

  • orchestrate knowledge-bases status: Provides vital diagnostic information on the content and state of your retrieval-augmented generation (RAG) knowledge bases.

These commands form the backbone of your day-to-day workflow. Whether you’re deploying to production or debugging in development, the ADK is your interface to the platform.


Standardizing Tools with the Model Context Protocol (MCP)

To enable agents to use external applications, watsonx Orchestrate utilizes the Model Context Protocol (MCP), which relies on an MCP server as a standardized intermediary.

Why MCP Matters

The core benefit of MCP is providing a standardized interface for watsonx Orchestrate, allowing various external services to be integrated with consistent simplicity. Instead of building custom integrations for every service, MCP gives you a uniform approach.

Here you can find an insightful reading if you want to compare this approach with Anthropics’s guidelines to build tools for agents. I believe learnings from one platform can be applied to other contexts, too.

Security Considerations

MCP servers typically require environment variables at startup to initialize correctly with necessary authentication keys (API keys) and endpoints. However, there’s a critical security consideration: without proper sandboxing, running an MCP server poses a severe security risk of arbitrary code execution. This risk must be mitigated before deploying to production.


API Essentials for Conversational Flows

When building custom user interfaces or services, direct interaction with the watsonx Orchestrate API is required. Two identifiers are paramount for managing conversation state:

The Critical API Parameters

  • agent_id: Must be included in the API request to direct the conversation to the specific agent instance that is configured with the right skills and tools.

  • thread_id: Used to maintain and reference the context of a specific conversation. Including this ID in subsequent calls ensures the agent has access to the full conversation history for coherent, multi-turn dialogue.

These two identifiers are the keys to building seamless, context-aware conversational experiences in your custom applications.


Key Takeaways

  • Master the ADK—it’s your command center for environment management, tool registration, and diagnostics.
  • Embrace MCP for standardized integrations, but never neglect security—sandbox your MCP servers.
  • Understand the API fundamentalsagent_id and thread_id are essential for building custom conversational interfaces.

With these tooling and API skills in your toolkit, we’re equipped to move beyond conceptual design into full implementation. The foundation is set; the execution begins.