Connects Claude to IBM watsonx.ai foundation models including Granite, Llama, and Mistral for text generation, chat, and embeddings. Exposes four tools: watsonx_generate for text completion, watsonx_chat for conversations, watsonx_embeddings for generating vectors, and watsonx_list_models to see what's available. Requires an IBM Cloud API key and either a deployment space ID or project ID. Useful when you need IBM's enterprise models for batch inference, want specialized Granite capabilities, or need to generate embeddings for RAG pipelines while keeping Claude as your primary reasoning agent. Includes command line tools for document analysis, semantic search, and batch processing across large document sets.
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