Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y watsonx-mcp-server
MCP client config
{
"mcpServers": {
"watsonx": {
"command": "npx",
"args": [
"-y",
"watsonx-mcp-server"
]
}
}
}MCP server for IBM watsonx.ai integration with Claude Code. Enables Claude to delegate tasks to IBM's foundation models (Granite, Llama, Mistral, etc.).
| Tool | Description |
|---|---|
watsonx_generate | Generate text using watsonx.ai models |
watsonx_chat | Chat with watsonx.ai models |
watsonx_embeddings | Generate text embeddings |
watsonx_list_models | List available models |
cd ~/watsonx-mcp-server
npm install
Set these environment variables:
WATSONX_API_KEY=your-ibm-cloud-api-key
WATSONX_URL=https://us-south.ml.cloud.ibm.com
WATSONX_SPACE_ID=your-deployment-space-id # Recommended: deployment space
WATSONX_PROJECT_ID=your-project-id # Alternative: project ID
Note: Either WATSONX_SPACE_ID or WATSONX_PROJECT_ID is required for text generation, embeddings, and chat. Deployment spaces are recommended as they have Watson Machine Learning (WML) pre-configured.
The MCP server is already configured in ~/.claude.json:
{
"mcpServers": {
"watsonx": {
"type": "stdio",
"command": "node",
"args": ["/Users/matthewkarsten/watsonx-mcp-server/index.js"],
"env": {
"WATSONX_API_KEY": "your-api-key",
"WATSONX_URL": "https://us-south.ml.cloud.ibm.com",
"WATSONX_SPACE_ID": "your-deployment-space-id"
}
}
}
}
Once configured, Claude can use watsonx.ai tools:
User: Use watsonx to generate a haiku about coding
Claude: [Uses watsonx_generate tool]
Result: Code flows like water
Bugs arise, then disappear
Programs come alive
Some notable models available:
ibm/granite-3-3-8b-instruct - IBM Granite 3.3 8B (recommended)ibm/granite-13b-chat-v2 - IBM Granite chat modelibm/granite-3-8b-instruct - Granite 3 instruct modelmeta-llama/llama-3-70b-instruct - Meta's Llama 3 70Bmistralai/mistral-large - Mistral AI large modelibm/slate-125m-english-rtrvr-v2 - Embedding modelUse watsonx_list_models to see all available models.
Claude Code (Opus 4.5)
│
└──▶ watsonx MCP Server
│
└──▶ IBM watsonx.ai API
│
├── Granite Models
├── Llama Models
├── Mistral Models
└── Embedding Models
This enables a two-agent architecture where:
Claude can delegate tasks to watsonx.ai when:
This MCP server uses:
Create your own watsonx.ai project and deployment space in IBM Cloud.
This watsonx MCP server works alongside the IBM Z MCP server:
Claude Code (Opus 4.5)
│
├──▶ watsonx MCP Server
│ └── Text generation, embeddings, chat
│
└──▶ ibmz MCP Server
└── Key Protect HSM, z/OS Connect
Demo scripts in the ibmz-mcp-server:
demo-full-stack.js - Full 5-service pipelinedemo-rag.js - RAG with watsonx embeddings + GraniteThe document analyzer (document-analyzer.js) provides powerful tools for analyzing your external drive data using watsonx.ai:
# View document catalog (9,168 documents)
node document-analyzer.js catalog
# Summarize a document
node document-analyzer.js summarize 1002519.txt
# Analyze document type, topics, entities
node document-analyzer.js analyze 1002519.txt
# Ask questions about a document
node document-analyzer.js question 1002519.txt 'What AWS credentials are needed?'
# Generate embeddings for documents
node document-analyzer.js embed
# Semantic search across documents
node document-analyzer.js search 'IBM Cloud infrastructure'
Run the full demo:
./demo-external-drive.sh
The embedding-index.js tool provides semantic search and RAG (Retrieval Augmented Generation):
# Build an embedding index (50 documents)
node embedding-index.js build 50
# Semantic search
node embedding-index.js search 'cloud infrastructure'
# RAG query - retrieves relevant docs and generates answer
node embedding-index.js rag 'How do I set up AWS for Satellite?'
# Show index statistics
node embedding-index.js stats
The batch-processor.js tool processes multiple documents at once:
# Classify documents into categories
node batch-processor.js classify 20
# Extract topics from documents
node batch-processor.js topics 15
# Generate one-line summaries
node batch-processor.js summarize 10
# Full analysis (classify + topics + summary)
node batch-processor.js full 10
Categories: technical, business, creative, personal, code, legal, marketing, educational, other
index.js - MCP server implementationdocument-analyzer.js - Document analysis CLI toolembedding-index.js - Embedding index and RAG toolbatch-processor.js - Batch document processordemo-external-drive.sh - Demo scriptpackage.json - DependenciesREADME.md - This fileMatthew Karsten
MIT