The Model Context Protocol (MCP) is getting more accepted and integrated into various AI applications. watsonx Orchestrate ADK (Agent Development Kit) supports utilizing Watsonx Orchestrate functionality over an MCP server.
Extract from release notes of the watsonx Orchestrate ADK documentation:
watsonx Orchestrate MCP ServerAccess the watsonx Orchestrate documentation and all commands available via the ADK CLI through MCP. Empower your coding IDE of choice (including Bob) with the knowledge it needs to write watsonx Orchestrate Agents, Connections, and Tools. Then, conversationally interact with your watsonx Orchestrate instance to list, import or even export agents and tools from your IDE.
1. Why I Wanted to Try This
Since version 1.13.0, the watsonx Orchestrate ADK (Agent Development Kit) supports utilizing watsonx Orchestrate over an MCP server. I wanted to see live which tools are out-of-the-box provided in the new MCP server.
The result: a small but complete end-to-end setup to get the tools list from the watsonx Orchestrate Development Edition for local development.
The image below shows a simplified architecture diagram of the dependencies:

2. Running the example
Step 1: Set up the virtual Python environment
Start a new terminal in folder watsonx-orchestrate-mcp-adk and insert the following commands.
- Create a folder called
watsonx-orchestrate-mcp-adk. - Create a new virtual Python environment
- Load the virtual environment
md watsonx-orchestrate-mcp-adk
cd /watsonx-orchestrate-mcp-adk
python3.12 -m venv .venv
source ./.venv/bin/activate
python3 -m pip install --upgrade pip
Step 2: Install the watsonx Orchestrate Development Edition and the watsonx Orchestrate MCP server libraries
python3 -m pip install ibm-watsonx-orchestrate --upgrade
orchestrate --version
python3 -m pip install ibm-watsonx-orchestrate-mcp-server
Step 3: Generate the environment file for the ADK
This step is essential because the MCP server and the watsonx Orchestrate Developer Edition need different environment settings — and putting them together in one .env file simplifies experimentation.
touch .env
Here we ensure we have both settings for watsonx Orchestrate MCP server and watsonx Orchestrate Development Edition in the environment file.
- watsonx Orchestrate Development Edition
Configuration for local usage and watsonx.ai.
To get the relevant information for the local configuration with IBM Cloud and watsonx.ai, please visit the blog post Getting Started with Local AI Agents in the watsonx Orchestrate Development Edition or the IBM watsonx Orchestrate ADK documentation.
- watsonx Orchestrate MCP server
For details vist the watsonx Orchestrate MCP Server Documentation in the IBM watsonx Orchestrate ADK documentation.
The code below shows the content the environment file should contain.
######################################################################
############### watsonx Orchestrate Development Edition settings #####
# Developer
export WO_DEVELOPER_EDITION_SOURCE=myibm
# IBM ENTITLEMENT
export WO_ENTITLEMENT_KEY=<YOUR_ENTITLEMENT_KEY>
# IBM API KEY
export WATSONX_APIKEY=<YOUR_WATSONX_API_KEY>
export WATSONX_SPACE_ID=<YOUR_SPACE_ID>
# Optional configuration
#export WATSONX_REGION=us-south
#export WATSONX_URL=https://${WATSONX_REGION}.ml.cloud.ibm.com
######################################################################
############### watsonx Orchestrate MCP server settings ##############
# watsonx Orchestrate MCP server settings
export WXO_MCP_HOST=127.0.0.1
export WXO_MCP_PORT=8080
export WXO_MCP_TRANSPORT=http
export WXO_MCP_WORKING_DIRECTORY=$(pwd)
Step 4: Start the watsonx Orchestrate Developer Edition
You may need to reset the server configuration.
orchestrate server reset
Start the server with the local environment configuration, Langfuse for agent observation.
orchestrate env activate local
orchestrate server start --env-file .env --with-langfuse
orchestrate --version
Step 5: Start Lite Chat
orchestrate chat start
Step 6: Load the environment variable configuration before before we start the watsonx Orchestrate MCP server
source ./.env
echo "Configuration:"
echo "HOST:${WXO_MCP_HOST}\nPORT:\n${WXO_MCP_PORT}\nTRANPORT:${WXO_MCP_TRANSPORT}\nDIRECTORY:${WXO_MCP_WORKING_DIRECTORY}"
Step 7: Starting the watsonx Orchestrate MCP server
This is where the fun part starts ;-).
ibm-watsonx-orchestrate-mcp-server
Output:
╭──────────────────────────────────────────────────────────────────────────────╮
│ │
│ ▄▀▀ ▄▀█ █▀▀ ▀█▀ █▀▄▀█ █▀▀ █▀█ │
│ █▀ █▀█ ▄▄█ █ █ ▀ █ █▄▄ █▀▀ │
│ │
│ FastMCP 2.13.0.2 │
│ │
│ │
│ 🖥 Server name: ibm-watsonx-orchestrate-mcp-server │
│ │
│ 📦 Transport: HTTP │
│ 🔗 Server URL: http://127.0.0.1:8080/mcp │
│ │
│ 📚 Docs: https://gofastmcp.com │
│ 🚀 Hosting: https://fastmcp.cloud │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[11/12/25 19:25:19] [[INFO]] Starting MCP server server.py:2050
'ibm-watsonx-orchestrate-mcp-server' with
transport 'http' on
http://127.0.0.1:8080/mcp
[[INFO]]: Started server process [47933]
[[INFO]]: Waiting for application startup.
[[INFO]]: Application startup complete.
[[INFO]]: Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
Step 8: Connect to the MCP server with MCP inspector
Open a new terminal.
8.1 Install and start the MCP Inspector
export DANGEROUSLY_OMIT_AUTH=true
npx @modelcontextprotocol/inspector
Step 8.2: Open the MCP inspector in the browser
open http://localhost:6274
Step 8.3: Use the MCP inspector
- Connect
- Transport Type: stdio
- Url:
http://127.0.0.1:8080/mcp

The output below shows the invocation of “List Agents” and we can see a single default agent is listed.

3. Summary
Working with watsonx Orchestrate MCP server together with watsonx Orchestrate Development Edition felt smooth and easy to set up. With the new watsonX Orchestrate MCP server, we can provide watsonX Orchestrate functionality in our own applications, enabling users to build their own agents or tools using interfaces other than the watsonX Orchestrate UIs, or to manage agents with the watsonx Orchestrate functionalities.
I hope this was useful to you and let’s see what’s next?
Greetings,
Thomas
#ai, #agents, #MCP, #watsonxOrchestrate, #AIIntegration, #AIAgents, #IBMDeveloper

Leave a comment