awslabs.terraform-mcp-server 0.0.12__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of awslabs.terraform-mcp-server might be problematic. Click here for more details.

Files changed (54) hide show
  1. awslabs_terraform_mcp_server-1.0.0/CHANGELOG.md +19 -0
  2. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/Dockerfile +2 -2
  3. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/PKG-INFO +1 -1
  4. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/server.py +1 -13
  5. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/pyproject.toml +1 -1
  6. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_server.py +2 -51
  7. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/uv.lock +1388 -1388
  8. awslabs_terraform_mcp_server-0.0.12/CHANGELOG.md +0 -12
  9. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/.gitignore +0 -0
  10. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/.pre-commit-config.yaml +0 -0
  11. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/.python-version +0 -0
  12. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/README.md +0 -0
  13. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/__init__.py +0 -0
  14. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/__init__.py +0 -0
  15. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/resources/__init__.py +0 -0
  16. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/resources/terraform_aws_provider_resources_listing.py +0 -0
  17. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/resources/terraform_awscc_provider_resources_listing.py +0 -0
  18. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/__init__.py +0 -0
  19. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/execute_terraform_command.py +0 -0
  20. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/execute_terragrunt_command.py +0 -0
  21. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/run_checkov_scan.py +0 -0
  22. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/search_aws_provider_docs.py +0 -0
  23. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/search_awscc_provider_docs.py +0 -0
  24. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/search_specific_aws_ia_modules.py +0 -0
  25. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/search_user_provided_module.py +0 -0
  26. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/impl/tools/utils.py +0 -0
  27. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/models/__init__.py +0 -0
  28. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/models/models.py +0 -0
  29. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/scripts/generate_aws_provider_resources.py +0 -0
  30. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/scripts/generate_awscc_provider_resources.py +0 -0
  31. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/scripts/scrape_aws_terraform_best_practices.py +0 -0
  32. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/static/AWSCC_PROVIDER_RESOURCES.md +0 -0
  33. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/static/AWS_PROVIDER_RESOURCES.md +0 -0
  34. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/static/AWS_TERRAFORM_BEST_PRACTICES.md +0 -0
  35. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/static/MCP_INSTRUCTIONS.md +0 -0
  36. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/static/TERRAFORM_WORKFLOW_GUIDE.md +0 -0
  37. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/awslabs/terraform_mcp_server/static/__init__.py +0 -0
  38. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/docker-healthcheck.sh +0 -0
  39. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/run_tests.sh +0 -0
  40. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/.gitignore +0 -0
  41. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/README.md +0 -0
  42. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/__init__.py +0 -0
  43. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/conftest.py +0 -0
  44. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_command_impl.py +0 -0
  45. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_execute_terraform_command.py +0 -0
  46. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_execute_terragrunt_command.py +0 -0
  47. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_models.py +0 -0
  48. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_parameter_annotations.py +0 -0
  49. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_resources.py +0 -0
  50. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_run_checkov_scan.py +0 -0
  51. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_search_user_provided_module.py +0 -0
  52. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_tool_implementations.py +0 -0
  53. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_utils.py +0 -0
  54. {awslabs_terraform_mcp_server-0.0.12 → awslabs_terraform_mcp_server-1.0.0}/tests/test_utils_additional.py +0 -0
@@ -0,0 +1,19 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.0.0] - 2025-05-26
9
+
10
+ ### Removed
11
+
12
+ - **BREAKING CHANGE:** Server Sent Events (SSE) support has been removed in accordance with the Model Context Protocol specification's [backwards compatibility guidelines](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#backwards-compatibility)
13
+ - This change prepares for future support of [Streamable HTTP](https://modelcontextprotocol.io/specification/draft/basic/transports#streamable-http) transport
14
+
15
+ ## Unreleased
16
+
17
+ ### Added
18
+
19
+ - Initial project setup
@@ -10,7 +10,7 @@
10
10
  # and limitations under the License.
11
11
 
12
12
  #FROM public.ecr.aws/sam/build-python3.10:1.137.1-20250411084548
13
- FROM public.ecr.aws/sam/build-python3.10@sha256:a40f492a0cd8d76557f8a187fc00e49e8864b3cea683e74718ce317790c1ce61 AS uv
13
+ FROM public.ecr.aws/sam/build-python3.10@sha256:e78695db10ca8cb129e59e30f7dc9789b0dbd0181dba195d68419c72bac51ac1 AS uv
14
14
 
15
15
  # Install the project into `/app`
16
16
  WORKDIR /app
@@ -44,7 +44,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
44
44
  # Make the directory just in case it doesn't exist
45
45
  RUN mkdir -p /root/.local
46
46
 
47
- FROM public.ecr.aws/sam/build-python3.10@sha256:a40f492a0cd8d76557f8a187fc00e49e8864b3cea683e74718ce317790c1ce61
47
+ FROM public.ecr.aws/sam/build-python3.10@sha256:e78695db10ca8cb129e59e30f7dc9789b0dbd0181dba195d68419c72bac51ac1
48
48
 
49
49
  # Place executables in the environment at the front of the path and include other binaries
50
50
  ENV PATH="/app/.venv/bin:$PATH:/usr/sbin"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.terraform-mcp-server
3
- Version: 0.0.12
3
+ Version: 1.0.0
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for terraform
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: beautifulsoup4>=4.12.0
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  """terraform MCP server implementation."""
3
3
 
4
- import argparse
5
4
  from awslabs.terraform_mcp_server.impl.resources import (
6
5
  terraform_aws_provider_assets_listing_impl,
7
6
  terraform_awscc_provider_resources_listing_impl,
@@ -420,18 +419,7 @@ async def terraform_aws_best_practices() -> str:
420
419
 
421
420
  def main():
422
421
  """Run the MCP server with CLI argument support."""
423
- parser = argparse.ArgumentParser(description='A Model Context Protocol (MCP) server')
424
- parser.add_argument('--sse', action='store_true', help='Use SSE transport')
425
- parser.add_argument('--port', type=int, default=8888, help='Port to run the server on')
426
-
427
- args = parser.parse_args()
428
-
429
- # Run server with appropriate transport
430
- if args.sse:
431
- mcp.settings.port = args.port
432
- mcp.run(transport='sse')
433
- else:
434
- mcp.run()
422
+ mcp.run()
435
423
 
436
424
 
437
425
  if __name__ == '__main__':
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "awslabs.terraform-mcp-server"
3
- version = "0.0.12"
3
+ version = "1.0.0"
4
4
  description = "An AWS Labs Model Context Protocol (MCP) server for terraform"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -32,7 +32,7 @@ from awslabs.terraform_mcp_server.server import (
32
32
  terraform_aws_provider_resources_listing,
33
33
  terraform_awscc_provider_resources_listing,
34
34
  )
35
- from unittest.mock import MagicMock, patch
35
+ from unittest.mock import patch
36
36
 
37
37
 
38
38
  class TestMCPServer:
@@ -568,62 +568,13 @@ class TestResources:
568
568
  class TestMain:
569
569
  """Tests for the main function."""
570
570
 
571
- @patch('awslabs.terraform_mcp_server.server.argparse.ArgumentParser')
572
571
  @patch('awslabs.terraform_mcp_server.server.mcp')
573
- def test_main_default(self, mock_mcp, mock_argument_parser):
572
+ def test_main_default(self, mock_mcp):
574
573
  """Test the main function with default arguments."""
575
574
  # Set up the mock
576
- mock_parser = MagicMock()
577
- mock_args = MagicMock()
578
- mock_args.sse = False
579
- mock_parser.parse_args.return_value = mock_args
580
- mock_argument_parser.return_value = mock_parser
581
575
 
582
576
  # Call the function
583
577
  main()
584
578
 
585
- # Check that the parser was set up correctly
586
- mock_argument_parser.assert_called_once_with(
587
- description='A Model Context Protocol (MCP) server'
588
- )
589
- mock_parser.add_argument.assert_any_call(
590
- '--sse', action='store_true', help='Use SSE transport'
591
- )
592
- mock_parser.add_argument.assert_any_call(
593
- '--port', type=int, default=8888, help='Port to run the server on'
594
- )
595
-
596
579
  # Check that mcp.run was called with the correct arguments
597
580
  mock_mcp.run.assert_called_once_with()
598
-
599
- @patch('awslabs.terraform_mcp_server.server.argparse.ArgumentParser')
600
- @patch('awslabs.terraform_mcp_server.server.mcp')
601
- def test_main_with_sse(self, mock_mcp, mock_argument_parser):
602
- """Test the main function with SSE transport."""
603
- # Set up the mock
604
- mock_parser = MagicMock()
605
- mock_args = MagicMock()
606
- mock_args.sse = True
607
- mock_args.port = 9999
608
- mock_parser.parse_args.return_value = mock_args
609
- mock_argument_parser.return_value = mock_parser
610
-
611
- # Call the function
612
- main()
613
-
614
- # Check that the parser was set up correctly
615
- mock_argument_parser.assert_called_once_with(
616
- description='A Model Context Protocol (MCP) server'
617
- )
618
- mock_parser.add_argument.assert_any_call(
619
- '--sse', action='store_true', help='Use SSE transport'
620
- )
621
- mock_parser.add_argument.assert_any_call(
622
- '--port', type=int, default=8888, help='Port to run the server on'
623
- )
624
-
625
- # Check that mcp.settings.port was set correctly
626
- assert mock_mcp.settings.port == 9999
627
-
628
- # Check that mcp.run was called with the correct arguments
629
- mock_mcp.run.assert_called_once_with(transport='sse')