IBM Cloud MCP Server
Comprehensive MCP server for managing all IBM Cloud services, offering 180+ tools across 16 domains to enable AI assistants to fully manage IBM Cloud infrastructure.
README
IBM Cloud MCP Server
A comprehensive Model Context Protocol (MCP) server for managing all IBM Cloud services. Provides 180+ tools across 16 service domains, enabling AI assistants to fully manage your IBM Cloud infrastructure.
⨠Features
| Domain | Tools | Services |
|---|---|---|
| IAM & Identity | 18 | API keys, users, service IDs, access groups, policies |
| VPC Infrastructure | 35 | VPCs, VSIs, subnets, security groups, floating IPs, load balancers, VPN, SSH keys |
| Kubernetes | 14 | Clusters, worker pools, add-ons, versions |
| Cloud Object Storage | 12 | Buckets, objects, CORS, lifecycle |
| Code Engine | 16 | Projects, apps, jobs, builds, secrets |
| Databases | 10 | PostgreSQL, Redis, MongoDB, MySQL, backups, scaling |
| Watson AI | 8 | watsonx.ai models, text generation, deployments |
| Networking | 12 | DNS Services, Transit Gateway, Direct Link |
| Security | 12 | Secrets Manager, Key Protect |
| Resource Management | 10 | Resource instances, groups, keys |
| Billing & Usage | 5 | Account usage, resource costs |
| Schematics | 8 | Terraform workspaces, plan, apply |
| Container Registry | 6 | Namespaces, images |
| Cloud Foundry | 6 | Apps, services, routes |
| Global Catalog | 3 | Service search, plans |
| Observability | 5 | Logging, monitoring, Activity Tracker |
š Quick Start
Prerequisites
- Node.js 18 or higher
- IBM Cloud API Key (Create one here)
Installation
# Clone and install
git clone <repository-url>
cd IBM_cloud_MCP_SERVER
npm install
npm run build
Configuration
Set your IBM Cloud API key as an environment variable:
# Required
export IBM_CLOUD_API_KEY="your-api-key"
# Optional (defaults shown)
export IBM_CLOUD_REGION="us-south"
export IBM_CLOUD_ALLOW_WRITE="false"
export IBM_CLOUD_ACCOUNT_ID=""
Usage with Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"ibm-cloud": {
"command": "node",
"args": ["<path-to>/IBM_cloud_MCP_SERVER/dist/index.js"],
"env": {
"IBM_CLOUD_API_KEY": "your-api-key",
"IBM_CLOUD_REGION": "us-south",
"IBM_CLOUD_ALLOW_WRITE": "true"
}
}
}
}
Usage with Cursor
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"ibm-cloud": {
"command": "node",
"args": ["<path-to>/IBM_cloud_MCP_SERVER/dist/index.js"],
"env": {
"IBM_CLOUD_API_KEY": "your-api-key",
"IBM_CLOUD_REGION": "us-south",
"IBM_CLOUD_ALLOW_WRITE": "true"
}
}
}
}
š³ Usage with Docker
You can also run the server inside a Docker container. This is useful if you don't want to install Node.js on your host machine.
Build the Image
docker build -t ibm-cloud-mcp-server .
Configuration for Claude Desktop
Update your claude_desktop_config.json to use Docker:
{
"mcpServers": {
"ibm-cloud": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "IBM_CLOUD_API_KEY",
"-e", "IBM_CLOUD_REGION=us-south",
"-e", "IBM_CLOUD_ALLOW_WRITE=true",
"ibm-cloud-mcp-server"
],
"env": {
"IBM_CLOUD_API_KEY": "your-api-key"
}
}
}
}
Note: The -i flag is required for interactive mode (stdio).
š Safety
By default, write operations are disabled. The server operates in read-only mode.
To enable write operations (create, update, delete):
export IBM_CLOUD_ALLOW_WRITE="true"
šļø Architecture
src/
āāā index.ts # Entry point (stdio transport)
āāā server.ts # McpServer setup & tool registration
āāā config.ts # Environment config & API endpoints
āāā auth/
ā āāā iam-auth.ts # IAM token management (auto-refresh)
āāā lib/
ā āāā api-client.ts # HTTP client with retry logic
ā āāā errors.ts # Error types & parsing
ā āāā utils.ts # Shared utilities
āāā tools/
āāā iam/ # IAM & Identity
āāā vpc/ # VPC Infrastructure
āāā kubernetes/ # Kubernetes / OpenShift
āāā cos/ # Cloud Object Storage
āāā code-engine/ # Code Engine
āāā databases/ # Databases (PostgreSQL, Redis, etc.)
āāā watson/ # Watson AI / watsonx.ai
āāā networking/ # DNS, Transit Gateway, Direct Link
āāā security/ # Secrets Manager, Key Protect
āāā resource-management/ # Resource instances & groups
āāā billing/ # Billing & usage reports
āāā schematics/ # Schematics (Terraform)
āāā container-registry/ # Container Registry
āāā cloud-foundry/ # Cloud Foundry
āāā catalog/ # Global Catalog
āāā observability/ # Logging, Monitoring, Activity Tracker
š Tool Reference
IAM & Identity
iam_get_token_info- Get current token/account infoiam_list_api_keys/iam_get_api_key/iam_create_api_key/iam_delete_api_keyiam_list_users/iam_invite_user/iam_remove_useriam_list_service_ids/iam_get_service_id/iam_create_service_id/iam_delete_service_idiam_list_access_groups/iam_create_access_group/iam_delete_access_group/iam_add_member_to_groupiam_list_policies/iam_create_policy/iam_delete_policy
VPC Infrastructure
vpc_list_vpcs/vpc_get_vpc/vpc_create_vpc/vpc_delete_vpcvpc_list_subnets/vpc_create_subnet/vpc_delete_subnetvpc_list_instances/vpc_get_instance/vpc_create_instance/vpc_delete_instancevpc_start_instance/vpc_stop_instance/vpc_reboot_instancevpc_list_instance_profiles/vpc_list_imagesvpc_list_volumes/vpc_create_volume/vpc_delete_volumevpc_list_security_groups/vpc_create_security_group/vpc_delete_security_group/vpc_add_sg_rulevpc_list_floating_ips/vpc_reserve_floating_ip/vpc_release_floating_ipvpc_list_public_gateways/vpc_create_public_gatewayvpc_list_network_acls/vpc_create_network_aclvpc_list_ssh_keys/vpc_create_ssh_key/vpc_delete_ssh_keyvpc_list_load_balancers/vpc_create_load_balancervpc_list_vpn_gateways/vpc_create_vpn_gateway
Kubernetes
ks_list_clusters/ks_get_cluster/ks_create_cluster/ks_delete_clusterks_list_worker_pools/ks_create_worker_pool/ks_resize_worker_pool/ks_delete_worker_poolks_list_workers/ks_get_cluster_config/ks_get_cluster_versionsks_list_addons/ks_enable_addon/ks_disable_addon
Cloud Object Storage
cos_list_buckets/cos_create_bucket/cos_delete_bucket/cos_get_bucket_configcos_list_objects/cos_get_object/cos_put_object/cos_delete_objectcos_copy_object/cos_get_object_metadatacos_set_bucket_cors/cos_set_bucket_lifecycle
Code Engine
ce_list_projects/ce_get_project/ce_create_project/ce_delete_projectce_list_apps/ce_create_app/ce_update_app/ce_delete_appce_list_jobs/ce_create_job/ce_run_job/ce_delete_jobce_list_builds/ce_create_buildce_list_secrets/ce_create_secret
And 80+ more tools across Databases, Watson AI, Networking, Security, Billing, Schematics, and more...
š License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.