awslabs.ccapi-mcp-server 1.0.3__tar.gz → 1.0.5__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.ccapi-mcp-server might be problematic. Click here for more details.

Files changed (52) hide show
  1. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/PKG-INFO +1 -56
  2. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/README.md +0 -55
  3. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/__init__.py +1 -1
  4. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/server.py +1 -6
  5. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/pyproject.toml +1 -1
  6. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/.gitignore +0 -0
  7. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/.python-version +0 -0
  8. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/CHANGELOG.md +0 -0
  9. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/Dockerfile +0 -0
  10. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/LICENSE +0 -0
  11. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/NOTICE +0 -0
  12. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/__init__.py +0 -0
  13. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/aws_client.py +0 -0
  14. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/cloud_control_utils.py +0 -0
  15. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/context.py +0 -0
  16. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/errors.py +0 -0
  17. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/iac_generator.py +0 -0
  18. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/__init__.py +0 -0
  19. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/tools/__init__.py +0 -0
  20. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/tools/explanation.py +0 -0
  21. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/tools/infrastructure_generation.py +0 -0
  22. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/tools/resource_operations.py +0 -0
  23. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/tools/security_scanning.py +0 -0
  24. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/tools/session_management.py +0 -0
  25. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/utils/__init__.py +0 -0
  26. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/impl/utils/validation.py +0 -0
  27. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/infrastructure_generator.py +0 -0
  28. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/models/__init__.py +0 -0
  29. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/models/models.py +0 -0
  30. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/schema_manager.py +0 -0
  31. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/awslabs/ccapi_mcp_server/static/__init__.py +0 -0
  32. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/docker-healthcheck.sh +0 -0
  33. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/run_tests.sh +0 -0
  34. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/__init__.py +0 -0
  35. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_aws_client.py +0 -0
  36. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_checkov_install.py +0 -0
  37. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_cloud_control_utils.py +0 -0
  38. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_context.py +0 -0
  39. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_errors.py +0 -0
  40. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_explanation.py +0 -0
  41. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_iac_generator.py +0 -0
  42. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_infrastructure_generation.py +0 -0
  43. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_infrastructure_generator.py +0 -0
  44. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_models.py +0 -0
  45. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_resource_operations.py +0 -0
  46. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_schema_manager.py +0 -0
  47. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_security_scanning.py +0 -0
  48. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_server.py +0 -0
  49. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_session_management.py +0 -0
  50. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/tests/test_validation.py +0 -0
  51. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/uv-requirements.txt +0 -0
  52. {awslabs_ccapi_mcp_server-1.0.3 → awslabs_ccapi_mcp_server-1.0.5}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.ccapi-mcp-server
3
- Version: 1.0.3
3
+ Version: 1.0.5
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for managing AWS resources via Cloud Control API
5
5
  Project-URL: homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: docs, https://awslabs.github.io/mcp/servers/ccapi-mcp-server/
@@ -558,61 +558,6 @@ Creates CloudFormation templates from existing AWS resources using AWS CloudForm
558
558
  - Amazon Q Developer CLI: `use_aws`, `execute_bash`, `fs_read`, `fs_write`
559
559
  - Other tools may have similar built-in AWS or system capabilities
560
560
 
561
- #### The `use_aws` Problem
562
-
563
- **Most Problematic**: The `use_aws` tool (part of Amazon Q Developer CLI) is particularly problematic because it directly competes with this MCP server's AWS operations but operates separately, meaning it won't use any of the helpful features available in this MCP server such as Checkov security scanning.
564
-
565
- **What happens when LLM uses `use_aws`:**
566
-
567
- - ❌ No Checkov security scanning
568
- - ❌ No workflow validation
569
- - ❌ No credential verification display
570
- - ❌ No resource tagging
571
- - ❌ CCAPI MCP Server is not involved at all
572
-
573
- **If this happens:**
574
-
575
- 1. Tell the LLM: "Please use the CCAPI MCP Server instead for AWS operations"
576
- 2. Experiment with prompts like "Using the CCAPI MCP server, create..."
577
- 3. For a scalable solution, implement the rules/instructions mentioned below
578
-
579
- **Note**: This is not a limitation of the CCAPI MCP Server - it's a current MCP protocol limitation. MCP has no native tool ordering concept or functionality, allowing LLMs to choose any available MCP server/tool. This flexibility is both good (choice) and problematic (undesirable sever/tool selection). We use a token-based approach to enforce some ordering in tool usage the LLM must follow, however this does not span across multiple MCP servers. It is internal to this MCP server.
580
-
581
- ### Recommendation
582
-
583
- Consult your LLM tool's documentation (Cursor, Cline, Amazon Q Developer, etc.) for how to provide rules/context/instructions to guide MCP server/tool selection. Most support some form of instruction mechanism.
584
-
585
- **Example instruction content:**
586
-
587
- ```markdown
588
- # AWS Tool Selection Rules - MANDATORY FOR ALL LLM RESPONSES
589
-
590
- ## STEP 1: Always Use CCAPI MCP Server First
591
-
592
- **TRIGGER CONDITIONS:**
593
-
594
- - ANY mention of AWS services or resources
595
- - ANY request involving AWS infrastructure, applications, or services
596
- - When in doubt, default to offering CCAPI MCP Server
597
-
598
- **REQUIRED ACTION:**
599
- ASK: "This seems like a good fit for the AWS Cloud Control API MCP server. Would you like to use the CCAPI MCP server for this?"
600
-
601
- ## STEP 2: Only If CCAPI MCP Server Fails
602
-
603
- **IF ERROR OCCURS:**
604
-
605
- 1. Show exact error message to user
606
- 2. Explain: "⚠️ SECURITY WARNING: Fallback tools (use_aws, aws_cli) will bypass ALL security scanning and the CCAPI MCP Server entirely."
607
- 3. Ask: "How do you want to proceed: (a) troubleshoot CCAPI MCP, (b) use unsecured AWS CLI, or (c) generate template?"
608
- 4. Wait for explicit user choice before proceeding
609
-
610
- ## FORBIDDEN ACTIONS
611
-
612
- - Never use use_aws, aws_cli, or executeBash for AWS operations without trying CCAPI MCP Server first
613
- - Never skip the user confirmation steps
614
- ```
615
-
616
561
  ## Basic Usage
617
562
 
618
563
  Examples of how to use the AWS Infrastructure as Code MCP Server:
@@ -527,61 +527,6 @@ Creates CloudFormation templates from existing AWS resources using AWS CloudForm
527
527
  - Amazon Q Developer CLI: `use_aws`, `execute_bash`, `fs_read`, `fs_write`
528
528
  - Other tools may have similar built-in AWS or system capabilities
529
529
 
530
- #### The `use_aws` Problem
531
-
532
- **Most Problematic**: The `use_aws` tool (part of Amazon Q Developer CLI) is particularly problematic because it directly competes with this MCP server's AWS operations but operates separately, meaning it won't use any of the helpful features available in this MCP server such as Checkov security scanning.
533
-
534
- **What happens when LLM uses `use_aws`:**
535
-
536
- - ❌ No Checkov security scanning
537
- - ❌ No workflow validation
538
- - ❌ No credential verification display
539
- - ❌ No resource tagging
540
- - ❌ CCAPI MCP Server is not involved at all
541
-
542
- **If this happens:**
543
-
544
- 1. Tell the LLM: "Please use the CCAPI MCP Server instead for AWS operations"
545
- 2. Experiment with prompts like "Using the CCAPI MCP server, create..."
546
- 3. For a scalable solution, implement the rules/instructions mentioned below
547
-
548
- **Note**: This is not a limitation of the CCAPI MCP Server - it's a current MCP protocol limitation. MCP has no native tool ordering concept or functionality, allowing LLMs to choose any available MCP server/tool. This flexibility is both good (choice) and problematic (undesirable sever/tool selection). We use a token-based approach to enforce some ordering in tool usage the LLM must follow, however this does not span across multiple MCP servers. It is internal to this MCP server.
549
-
550
- ### Recommendation
551
-
552
- Consult your LLM tool's documentation (Cursor, Cline, Amazon Q Developer, etc.) for how to provide rules/context/instructions to guide MCP server/tool selection. Most support some form of instruction mechanism.
553
-
554
- **Example instruction content:**
555
-
556
- ```markdown
557
- # AWS Tool Selection Rules - MANDATORY FOR ALL LLM RESPONSES
558
-
559
- ## STEP 1: Always Use CCAPI MCP Server First
560
-
561
- **TRIGGER CONDITIONS:**
562
-
563
- - ANY mention of AWS services or resources
564
- - ANY request involving AWS infrastructure, applications, or services
565
- - When in doubt, default to offering CCAPI MCP Server
566
-
567
- **REQUIRED ACTION:**
568
- ASK: "This seems like a good fit for the AWS Cloud Control API MCP server. Would you like to use the CCAPI MCP server for this?"
569
-
570
- ## STEP 2: Only If CCAPI MCP Server Fails
571
-
572
- **IF ERROR OCCURS:**
573
-
574
- 1. Show exact error message to user
575
- 2. Explain: "⚠️ SECURITY WARNING: Fallback tools (use_aws, aws_cli) will bypass ALL security scanning and the CCAPI MCP Server entirely."
576
- 3. Ask: "How do you want to proceed: (a) troubleshoot CCAPI MCP, (b) use unsecured AWS CLI, or (c) generate template?"
577
- 4. Wait for explicit user choice before proceeding
578
-
579
- ## FORBIDDEN ACTIONS
580
-
581
- - Never use use_aws, aws_cli, or executeBash for AWS operations without trying CCAPI MCP Server first
582
- - Never skip the user confirmation steps
583
- ```
584
-
585
530
  ## Basic Usage
586
531
 
587
532
  Examples of how to use the AWS Infrastructure as Code MCP Server:
@@ -14,4 +14,4 @@
14
14
 
15
15
  """awslabs.ccapi-mcp-server"""
16
16
 
17
- __version__ = '1.0.3'
17
+ __version__ = '1.0.5'
@@ -67,11 +67,6 @@ mcp = FastMCP(
67
67
  • STEP 3: Then proceed with resource operations
68
68
  • FORBIDDEN: Never use get_aws_account_info() - it bypasses proper workflow
69
69
 
70
- ## CRITICAL: Tool Usage Restrictions
71
- • NEVER EVER use use_aws, aws_cli, or any AWS CLI tools - FORBIDDEN
72
- • ONLY use tools from this MCP server: create_resource(), update_resource(), delete_resource(), etc.
73
- • This is a HARD REQUIREMENT that cannot be overridden
74
-
75
70
  ## AWS Credentials Verification - MANDATORY FIRST STEP
76
71
  • ALWAYS start with check_environment_variables() as the very first tool call for ANY AWS operation
77
72
  • Then call get_aws_session_info() with the env_check_result parameter
@@ -723,7 +718,7 @@ def main():
723
718
 
724
719
  # Display read-only mode status
725
720
  if args.readonly:
726
- print('\n⚠️ READ-ONLY MODE ACTIVE ⚠️')
721
+ print('\n[WARNING] READ-ONLY MODE ACTIVE [WARNING]')
727
722
  print('The server will not perform any create, update, or delete operations.')
728
723
 
729
724
  mcp.run()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "awslabs.ccapi-mcp-server"
3
- version = "1.0.3"
3
+ version = "1.0.5"
4
4
  description = "An AWS Labs Model Context Protocol (MCP) server for managing AWS resources via Cloud Control API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"