A Model Context Protocol (MCP) server that provides structured access to the Terraform IBM Modules (TIM) ecosystem. TIM is a curated collection of IBM Cloud Terraform modules designed to follow best practices.
- Overview
- About TIM-MCP
- Install TIM-MCP
- Using TIM-MCP
- Troubleshooting
- Configuration
- Additional Resources
- Contributing
The TIM-MCP server acts as a bridge between AI models and the Terraform IBM Modules ecosystem, enabling intelligent discovery and utilization of IBM Cloud infrastructure resources.
- Module Search: Find relevant modules in the Terraform Registry with quality-based ranking
- Module Details: Get structured information about inputs, outputs, and dependencies
- Repository Exploration: Navigate examples, submodules, and implementation patterns
- Content Retrieval: Access documentation, example code, and other repository files
- White Paper Resource: Access the IBM Cloud Terraform Best Practices white paper
- AI-Assisted Workflows: Tools designed to support infrastructure code generation
TIM-MCP connects AI assistants to curated Terraform IBM Modules so generated infrastructure is more accurate, aligned to IBM Cloud best practices, and grounded in real module interfaces.
To get started quickly, read about TIM-MCP.
For installation, version pinning, and usage workflows, follow the instructions provided in TIM-MCP tutorial.
Once configured, your AI assistant can help you build IBM Cloud infrastructure from simple to complex deployments. Ask for help with scenarios like:
- "I am new to IBM Cloud. Help me create a simple and cheap OpenShift cluster and access the console"
- "I want to create a simple basic virtual server on IBM Cloud and SSH to it"
- "Design a VPC + OpenShift: Create a complete container platform with networking, including multi-zone VPC, subnets, OpenShift/ROKS cluster, and load balancers"
- "Design a Secure Landing Zone: Implement enterprise-grade security with network isolation, encryption key management, private endpoints, and security groups"
- "Design a Multi-Zone HA Database: Design resilient database infrastructure across 3+ availability zones with automated failover, backup strategies, and disaster recovery"
- "Design a Quick POC Setup: Rapidly deploy a minimal viable environment with compute instances, basic networking, and essential services for testing"
- "Design a FS-Validated Architecture: Deploy compliant infrastructure meeting Financial Services requirements with HPCS encryption, audit logging, and regulatory controls"
- "Design a Hub-Spoke Network: Create an enterprise network architecture with centralized connectivity, network segmentation, and secure VPC interconnection"
If you face any issue, use the troubleshooting guide to diagnose and resolve common errors.
For most users running TIM-MCP locally, you only need these environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
GITHUB_TOKEN |
Recommended | None | GitHub PAT for API rate limits (5000 req/hr vs 60 req/hr) |
TIM_LOG_LEVEL |
No | INFO | Logging level (DEBUG, INFO, WARNING, ERROR) |
These settings are for advanced users deploying TIM-MCP in production or HTTP mode:
| Variable | Default | Description |
|---|---|---|
TIM_CACHE_FRESH_TTL |
3600 | Fresh cache TTL in seconds |
TIM_CACHE_EVICT_TTL |
86400 | Eviction TTL in seconds (stale entries persist until this) |
TIM_CACHE_MAXSIZE |
1000 | Maximum cache entries (LRU eviction when exceeded) |
TIM_GLOBAL_RATE_LIMIT |
None | Global rate limit: max requests per minute across all clients (unset = unlimited) |
TIM_PER_IP_RATE_LIMIT |
None | Per-IP rate limit: max requests per minute per client IP in HTTP mode (unset = unlimited) |
TIM_RATE_LIMIT_WINDOW |
60 | Rate limit time window in seconds |
TIM_REQUEST_TIMEOUT |
30 | External API timeout in seconds |
TIM_ALLOWED_NAMESPACES |
terraform-ibm-modules | Allowed module namespaces (comma-separated) |
- TIM-MCP Repository: https://github.com/terraform-ibm-modules/tim-mcp
- Model Context Protocol Docs: https://modelcontextprotocol.io
- GitHub API Rate Limit Docs: https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api
- Terraform Registry (IBM Modules): https://registry.terraform.io/namespaces/terraform-ibm-modules
If you're interested in contributing to TIM-MCP or modifying the server itself, please see the Development Guide for detailed instructions on development setup, transport modes, and advanced configuration options.
You can report issues and request features for this module in GitHub issues in the module repo. See Report an issue or request a feature.