@@ -225,7 +225,7 @@ async def search_modules(
225225
226226
227227@mcp .tool ()
228- async def get_module_details (module_id : str , version : str = "latest" ) -> str :
228+ async def get_module_details (module_id : str ) -> str :
229229 """
230230 Get structured module metadata from Terraform Registry - for understanding module interface when writing NEW terraform.
231231
@@ -247,8 +247,7 @@ async def get_module_details(module_id: str, version: str = "latest") -> str:
247247 - Module dependencies
248248
249249 Args:
250- module_id: Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm")
251- version: Specific version or "latest" (default: "latest")
250+ module_id: Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm" or "terraform-ibm-modules/vpc/ibm/1.2.3")
252251
253252 Returns:
254253 Plain text with markdown formatted module details including inputs, outputs, and description
@@ -257,7 +256,7 @@ async def get_module_details(module_id: str, version: str = "latest") -> str:
257256
258257 try :
259258 # Validate request
260- request = ModuleDetailsRequest (module_id = module_id , version = version )
259+ request = ModuleDetailsRequest (module_id = module_id )
261260
262261 # Import here to avoid circular imports
263262 from .tools .details import get_module_details_impl
@@ -282,7 +281,7 @@ async def get_module_details(module_id: str, version: str = "latest") -> str:
282281 log_tool_execution (
283282 logger ,
284283 "get_module_details" ,
285- {"module_id" : module_id , "version" : version },
284+ {"module_id" : module_id },
286285 duration_ms ,
287286 success = False ,
288287 error = "validation_error" ,
@@ -294,7 +293,7 @@ async def get_module_details(module_id: str, version: str = "latest") -> str:
294293 log_tool_execution (
295294 logger ,
296295 "get_module_details" ,
297- {"module_id" : module_id , "version" : version },
296+ {"module_id" : module_id },
298297 duration_ms ,
299298 success = False ,
300299 )
@@ -305,7 +304,7 @@ async def get_module_details(module_id: str, version: str = "latest") -> str:
305304 log_tool_execution (
306305 logger ,
307306 "get_module_details" ,
308- {"module_id" : module_id , "version" : version },
307+ {"module_id" : module_id },
309308 duration_ms ,
310309 success = False ,
311310 error = str (e ),
@@ -315,7 +314,7 @@ async def get_module_details(module_id: str, version: str = "latest") -> str:
315314
316315
317316@mcp .tool ()
318- async def list_content (module_id : str , version : str = "latest" ) -> str :
317+ async def list_content (module_id : str ) -> str :
319318 """
320319 Discover available examples and repository structure - FIRST step in examples workflow.
321320
@@ -341,8 +340,7 @@ async def list_content(module_id: str, version: str = "latest") -> str:
341340 - Use descriptions to select the single most relevant example
342341
343342 Args:
344- module_id: Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm")
345- version: Git tag/branch to scan (default: "latest")
343+ module_id: Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm" or "terraform-ibm-modules/vpc/ibm/1.2.3")
346344
347345 Returns:
348346 Plain text with markdown formatted content listing organized by category
@@ -351,7 +349,7 @@ async def list_content(module_id: str, version: str = "latest") -> str:
351349
352350 try :
353351 # Validate request
354- request = ListContentRequest (module_id = module_id , version = version )
352+ request = ListContentRequest (module_id = module_id )
355353
356354 # Import here to avoid circular imports
357355 from .tools .list_content import list_content_impl
@@ -376,7 +374,7 @@ async def list_content(module_id: str, version: str = "latest") -> str:
376374 log_tool_execution (
377375 logger ,
378376 "list_content" ,
379- {"module_id" : module_id , "version" : version },
377+ {"module_id" : module_id },
380378 duration_ms ,
381379 success = False ,
382380 error = "validation_error" ,
@@ -388,7 +386,7 @@ async def list_content(module_id: str, version: str = "latest") -> str:
388386 log_tool_execution (
389387 logger ,
390388 "list_content" ,
391- {"module_id" : module_id , "version" : version },
389+ {"module_id" : module_id },
392390 duration_ms ,
393391 success = False ,
394392 )
@@ -399,7 +397,7 @@ async def list_content(module_id: str, version: str = "latest") -> str:
399397 log_tool_execution (
400398 logger ,
401399 "list_content" ,
402- {"module_id" : module_id , "version" : version },
400+ {"module_id" : module_id },
403401 duration_ms ,
404402 success = False ,
405403 error = str (e ),
@@ -414,7 +412,6 @@ async def get_content(
414412 path : str = "" ,
415413 include_files : str | list [str ] | None = None ,
416414 exclude_files : str | list [str ] | None = None ,
417- version : str = "latest" ,
418415) -> str :
419416 """
420417 Retrieve source code, examples, solutions from GitHub repositories with glob pattern filtering.
@@ -426,11 +423,10 @@ async def get_content(
426423 - Examples: path="examples/basic", include_files=["*.tf"]
427424
428425 Args:
429- module_id: Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm")
426+ module_id: Full module identifier (e.g., "terraform-ibm-modules/vpc/ibm" or "terraform-ibm-modules/vpc/ibm/1.2.3" )
430427 path: Specific path: "" (root), "examples/basic", "modules/vpc"
431428 include_files: Glob patterns for files to include (e.g., ["*.tf"], ["*.md"])
432429 exclude_files: Glob patterns for files to exclude (e.g., ["*test*"])
433- version: Git tag/branch to fetch from (default: "latest")
434430
435431 Returns:
436432 Plain text with markdown formatted content
@@ -452,7 +448,6 @@ async def get_content(
452448 path = path ,
453449 include_files = sanitized_include_files ,
454450 exclude_files = sanitized_exclude_files ,
455- version = version ,
456451 )
457452
458453 # Import here to avoid circular imports
@@ -483,7 +478,6 @@ async def get_content(
483478 "path" : path ,
484479 "include_files" : include_files ,
485480 "exclude_files" : exclude_files ,
486- "version" : version ,
487481 },
488482 duration_ms ,
489483 success = False ,
@@ -501,7 +495,6 @@ async def get_content(
501495 "path" : path ,
502496 "include_files" : include_files ,
503497 "exclude_files" : exclude_files ,
504- "version" : version ,
505498 },
506499 duration_ms ,
507500 success = False ,
@@ -518,7 +511,6 @@ async def get_content(
518511 "path" : path ,
519512 "include_files" : include_files ,
520513 "exclude_files" : exclude_files ,
521- "version" : version ,
522514 },
523515 duration_ms ,
524516 success = False ,
0 commit comments