Skip to content

Commit 88bc835

Browse files
authored
docs: add MCP inspector and remove list of tools from readme (#10)
* docs: add rational on readme * docs: add MCP inspector and remove list of tools from readme
1 parent 3d9ee84 commit 88bc835

File tree

1 file changed

+4
-98
lines changed

1 file changed

+4
-98
lines changed

README.md

Lines changed: 4 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
66
[![Experimental](https://img.shields.io/badge/status-experimental-orange.svg)](#)
77

8-
A [Model Context Protocol (MCP) server](https://modelcontextprotocol.io/docs/getting-started/intro) 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.
8+
A [Model Context Protocol (MCP) server](https://modelcontextprotocol.io/docs/getting-started/intro) that provides structured access to the [Terraform IBM Modules (TIM)](https://github.com/terraform-ibm-modules) ecosystem. TIM is a curated collection of IBM Cloud Terraform modules designed to follow best practices. See the [Overview](#overview) for further details on rational.
99

1010
This server acts as a bridge, enabling AI models and other tools to intelligently discover and utilize the extensive documentation, examples, and implementation patterns bundled with the [TIM modules](https://github.com/terraform-ibm-modules). It is designed to support AI-assisted coding workflows for creating IBM Cloud infrastructure.
1111

12-
**About TIM:** [Terraform IBM Modules (TIM)](https://github.com/terraform-ibm-modules) is a collection of curated IBM Cloud Terraform modules available on the [Terraform Registry](https://registry.terraform.io/namespaces/terraform-ibm-modules). Full documentation is available at https://github.com/terraform-ibm-modules/documentation.
13-
1412
## Quick Start
1513

1614
Get started with TIM-MCP in Claude Desktop in under 2 minutes:
@@ -100,6 +98,9 @@ uv run pytest
10098

10199
# Run the server locally (STDIO mode - default)
102100
uv run tim-mcp
101+
102+
# Launch the MCP inspector
103+
npx @modelcontextprotocol/inspector uv run tim-mcp
103104
```
104105

105106
**Requirements:**
@@ -331,101 +332,6 @@ After configuration, restart Claude Desktop completely. You should see a hammer
331332

332333
Test the connection by asking Claude: "What IBM Cloud Terraform modules are available for VPC?"
333334

334-
## Available MCP Tools
335-
336-
Once configured, TIM-MCP provides these tools to Claude for comprehensive Terraform module discovery and implementation:
337-
338-
### 1. `search_modules`
339-
**Search Terraform Registry for IBM Cloud modules with intelligent result optimization.**
340-
341-
**Purpose:** Find relevant modules based on search terms, with results optimized by download count for better quality.
342-
343-
**Inputs:**
344-
- `query` (string, required): Specific search term (e.g., "vpc", "kubernetes", "security")
345-
- `limit` (integer, optional): Maximum results to return (default: 10, range: 1-100)
346-
347-
**Output:** JSON formatted search results including:
348-
- Module identifiers and basic metadata
349-
- Download counts and verification status
350-
- Descriptions and source repository URLs
351-
- Publication dates and version information
352-
353-
**Usage Examples:**
354-
- Quick reference: `limit=3` for "I need a VPC module"
355-
- Exploring options: `limit=5-15` (default=5) for comparing alternatives
356-
- Comprehensive research: `limit=20+` for thorough analysis
357-
358-
### 2. `get_module_details`
359-
**Retrieve structured module metadata from Terraform Registry - lightweight module interface overview.**
360-
361-
**Purpose:** Get comprehensive module interface information including inputs, outputs, and dependencies without fetching source code.
362-
363-
**Inputs:**
364-
- `module_id` (string, required): Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm")
365-
- `version` (string, optional): Specific version or "latest" (default: "latest")
366-
367-
**Output:** Markdown formatted module details including:
368-
- Module description and documentation
369-
- Required and optional input variables with types, descriptions, and defaults
370-
- Available outputs with types and descriptions
371-
- Provider requirements and version constraints
372-
- Module dependencies and available versions
373-
374-
**When to Use:** First step after finding a module to understand its interface - often sufficient to answer user questions without fetching implementation files.
375-
376-
### 3. `list_content`
377-
**Discover available paths in a module repository with README summaries.**
378-
379-
**Purpose:** Explore repository structure to understand available examples, submodules, and solutions before fetching specific content.
380-
381-
**Inputs:**
382-
- `module_id` (string, required): Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm")
383-
- `version` (string, optional): Git tag/branch to scan (default: "latest")
384-
385-
**Output:** Markdown formatted content listing organized by category:
386-
- **Root Module:** Main terraform files, inputs/outputs definitions
387-
- **Examples:** Deployable examples showing module usage (ideal starting point)
388-
- **Submodules:** Reusable components within the module
389-
- **Solutions:** Complete architecture patterns for complex scenarios
390-
391-
**Usage Tips:** Use before `get_content` to select the most relevant path for your needs.
392-
393-
### 4. `get_content`
394-
**Retrieve source code, examples, and documentation from GitHub repositories with targeted content filtering.**
395-
396-
**Purpose:** Fetch actual implementation files, examples, and documentation with precise filtering to avoid large responses.
397-
398-
**Inputs:**
399-
- `module_id` (string, required): Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm")
400-
- `path` (string, optional): Specific path - "" (root), "examples/basic", "modules/vpc", etc.
401-
- `include_files` (list[string], optional): Glob patterns for files to include
402-
- `exclude_files` (list[string], optional): Glob patterns for files to exclude
403-
- `version` (string, optional): Git tag/branch to fetch from (default: "latest")
404-
405-
**Output:** Markdown formatted content with file contents, organized by:
406-
- File paths and content with appropriate syntax highlighting
407-
- File sizes for reference
408-
- README files are included if they match the patterns (like any other file)
409-
410-
**Common Glob Patterns:**
411-
- Input variables only: `include_files=["variables.tf"]`
412-
- Basic example: `path="examples/basic", include_files=["*.tf"]`
413-
- Complete module: `include_files=["*.tf"]`
414-
- Documentation: `include_files=["*.md"]`
415-
- README only: `include_files=["README.md"]`
416-
- Everything: `include_files=["*"]` (or omit entirely)
417-
418-
## Tool Workflow
419-
420-
The tools are designed to work together in an efficient workflow:
421-
422-
1. **`search_modules`** → Find relevant modules
423-
2. **`get_module_details`** → Understand module interface (often sufficient)
424-
3. **`list_content`** → Explore repository structure if needed
425-
4. **`get_content`** → Fetch specific implementation details
426-
427-
This progressive approach minimizes API calls and provides context-aware information at each step.
428-
429335
## Troubleshooting
430336

431337
**Server not starting:**

0 commit comments

Comments
 (0)