awslabs.openapi-mcp-server 0.2.0__tar.gz → 0.2.4__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.
Files changed (125) hide show
  1. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/Dockerfile +1 -2
  2. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/PKG-INFO +39 -1
  3. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/README.md +38 -0
  4. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/__init__.py +1 -1
  5. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/pyproject.toml +1 -1
  6. awslabs_openapi_mcp_server-0.2.4/uv-requirements.txt +24 -0
  7. awslabs_openapi_mcp_server-0.2.0/Dockerlite +0 -73
  8. awslabs_openapi_mcp_server-0.2.0/uv-requirements.txt +0 -26
  9. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/.coveragerc +0 -0
  10. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/.dockerignore +0 -0
  11. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/.gitignore +0 -0
  12. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/.python-version +0 -0
  13. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/AUTHENTICATION.md +0 -0
  14. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/AWS_BEST_PRACTICES.md +0 -0
  15. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/CHANGELOG.md +0 -0
  16. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/DEPLOYMENT.md +0 -0
  17. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/LICENSE +0 -0
  18. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/NOTICE +0 -0
  19. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/OBSERVABILITY.md +0 -0
  20. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/__init__.py +0 -0
  21. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/api/__init__.py +0 -0
  22. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/api/config.py +0 -0
  23. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/__init__.py +0 -0
  24. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/api_key_auth.py +0 -0
  25. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/auth_cache.py +0 -0
  26. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/auth_errors.py +0 -0
  27. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/auth_factory.py +0 -0
  28. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/auth_protocol.py +0 -0
  29. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/auth_provider.py +0 -0
  30. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/base_auth.py +0 -0
  31. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/basic_auth.py +0 -0
  32. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/bearer_auth.py +0 -0
  33. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/cognito_auth.py +0 -0
  34. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/auth/register.py +0 -0
  35. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/patch/__init__.py +0 -0
  36. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/prompts/__init__.py +0 -0
  37. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/prompts/generators/__init__.py +0 -0
  38. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/prompts/generators/operation_prompts.py +0 -0
  39. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/prompts/generators/workflow_prompts.py +0 -0
  40. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/prompts/models.py +0 -0
  41. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/prompts/prompt_manager.py +0 -0
  42. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/server.py +0 -0
  43. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/__init__.py +0 -0
  44. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/cache_provider.py +0 -0
  45. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/config.py +0 -0
  46. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/error_handler.py +0 -0
  47. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/http_client.py +0 -0
  48. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/metrics_provider.py +0 -0
  49. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/openapi.py +0 -0
  50. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/awslabs/openapi_mcp_server/utils/openapi_validator.py +0 -0
  51. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/docker-healthcheck.sh +0 -0
  52. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/pyrightconfig.json +0 -0
  53. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/README.md +0 -0
  54. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/api/test_config.py +0 -0
  55. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_api_key_auth.py +0 -0
  56. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_cache.py +0 -0
  57. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_errors.py +0 -0
  58. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_factory.py +0 -0
  59. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_factory_caching.py +0 -0
  60. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_factory_coverage.py +0 -0
  61. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_protocol.py +0 -0
  62. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_protocol_additional.py +0 -0
  63. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_protocol_boost.py +0 -0
  64. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_protocol_coverage.py +0 -0
  65. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_protocol_extended.py +0 -0
  66. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_protocol_improved.py +0 -0
  67. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_auth_provider_additional.py +0 -0
  68. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_base_auth.py +0 -0
  69. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_base_auth_coverage.py +0 -0
  70. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_basic_auth.py +0 -0
  71. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_bearer_auth.py +0 -0
  72. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_cognito_auth.py +0 -0
  73. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_cognito_auth_additional_coverage.py +0 -0
  74. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_cognito_auth_boost_coverage.py +0 -0
  75. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_cognito_auth_client_credentials.py +0 -0
  76. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_cognito_auth_coverage_boost.py +0 -0
  77. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_cognito_auth_exceptions.py +0 -0
  78. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_register.py +0 -0
  79. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/auth/test_register_coverage.py +0 -0
  80. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/standalone/test_operation_prompt.py +0 -0
  81. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/standalone/test_prompt_arguments.py +0 -0
  82. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/standalone/test_secure_operation_prompt.py +0 -0
  83. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_mcp_prompt_manager.py +0 -0
  84. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_mcp_prompt_manager_integration.py +0 -0
  85. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_models_dict_method.py +0 -0
  86. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_operation_prompts_extended.py +0 -0
  87. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_prompt_manager_additional.py +0 -0
  88. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_prompt_manager_comprehensive.py +0 -0
  89. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_prompt_manager_coverage.py +0 -0
  90. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/prompts/test_prompt_registration.py +0 -0
  91. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_api_name.py +0 -0
  92. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_cache_coverage_89.py +0 -0
  93. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_client.py +0 -0
  94. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_coverage_boost.py +0 -0
  95. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_init.py +0 -0
  96. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_main.py +0 -0
  97. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_main_extended.py +0 -0
  98. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_openapi_coverage_89.py +0 -0
  99. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server.py +0 -0
  100. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_auth_errors.py +0 -0
  101. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_coverage_boost.py +0 -0
  102. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_coverage_boost_2.py +0 -0
  103. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_exception_handling.py +0 -0
  104. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_extended.py +0 -0
  105. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_httpx_version.py +0 -0
  106. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_part1.py +0 -0
  107. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_route_logging.py +0 -0
  108. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/test_server_signal_handlers.py +0 -0
  109. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_cache_provider.py +0 -0
  110. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_error_handler.py +0 -0
  111. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_error_handler_boost.py +0 -0
  112. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_error_handler_extended.py +0 -0
  113. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_error_handler_fix.py +0 -0
  114. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_http_client.py +0 -0
  115. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_http_client_comprehensive.py +0 -0
  116. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_http_client_extended.py +0 -0
  117. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_http_client_extended2.py +0 -0
  118. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_http_client_import_error.py +0 -0
  119. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_metrics_provider.py +0 -0
  120. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_metrics_provider_decorators.py +0 -0
  121. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_metrics_provider_extended2.py +0 -0
  122. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_metrics_provider_prometheus.py +0 -0
  123. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_openapi.py +0 -0
  124. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/tests/utils/test_openapi_validator.py +0 -0
  125. {awslabs_openapi_mcp_server-0.2.0 → awslabs_openapi_mcp_server-0.2.4}/uv.lock +0 -0
@@ -45,8 +45,7 @@ RUN apk update && \
45
45
  musl-dev \
46
46
  libffi-dev \
47
47
  openssl-dev \
48
- cargo && \
49
- pip install --no-cache-dir uv
48
+ cargo
50
49
 
51
50
  # Install the project's dependencies using the lockfile and settings
52
51
  RUN --mount=type=cache,target=/root/.cache/uv \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.openapi-mcp-server
3
- Version: 0.2.0
3
+ Version: 0.2.4
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for OpenAPI
5
5
  Project-URL: Homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: Documentation, https://awslabs.github.io/mcp/servers/openapi-mcp-server/
@@ -86,6 +86,10 @@ This project is a server that dynamically creates Model Context Protocol (MCP) t
86
86
 
87
87
  ## Installation
88
88
 
89
+ | Cursor | VS Code |
90
+ |:------:|:-------:|
91
+ | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.openapi-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMub3BlbmFwaS1tY3Atc2VydmVyQGxhdGVzdCIsImVudiI6eyJBUElfTkFNRSI6InlvdXItYXBpLW5hbWUiLCJBUElfQkFTRV9VUkwiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsIkFQSV9TUEVDX1VSTCI6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL29wZW5hcGkuanNvbiIsIkxPR19MRVZFTCI6IkVSUk9SIiwiRU5BQkxFX1BST01FVEhFVVMiOiJmYWxzZSIsIkVOQUJMRV9PUEVSQVRJT05fUFJPTVBUUyI6InRydWUiLCJVVklDT1JOX1RJTUVPVVRfR1JBQ0VGVUxfU0hVVERPV04iOiI1LjAiLCJVVklDT1JOX0dSQUNFRlVMX1NIVVRET1dOIjoidHJ1ZSJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=OpenAPI%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.openapi-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22API_NAME%22%3A%22your-api-name%22%2C%22API_BASE_URL%22%3A%22https%3A%2F%2Fapi.example.com%22%2C%22API_SPEC_URL%22%3A%22https%3A%2F%2Fapi.example.com%2Fopenapi.json%22%2C%22LOG_LEVEL%22%3A%22ERROR%22%2C%22ENABLE_PROMETHEUS%22%3A%22false%22%2C%22ENABLE_OPERATION_PROMPTS%22%3A%22true%22%2C%22UVICORN_TIMEOUT_GRACEFUL_SHUTDOWN%22%3A%225.0%22%2C%22UVICORN_GRACEFUL_SHUTDOWN%22%3A%22true%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
92
+
89
93
  ### From PyPI
90
94
 
91
95
  ```bash
@@ -145,6 +149,40 @@ Here are some ways you can work with MCP across AWS (e.g. for Amazon Q Developer
145
149
  }
146
150
  ```
147
151
 
152
+ ### Windows Installation
153
+
154
+ For Windows users, the MCP server configuration format is slightly different:
155
+
156
+ ```json
157
+ {
158
+ "mcpServers": {
159
+ "awslabs.openapi-mcp-server": {
160
+ "disabled": false,
161
+ "timeout": 60,
162
+ "type": "stdio",
163
+ "command": "uv",
164
+ "args": [
165
+ "tool",
166
+ "run",
167
+ "--from",
168
+ "awslabs.openapi-mcp-server@latest",
169
+ "awslabs.openapi-mcp-server.exe"
170
+ ],
171
+ "env": {
172
+ "API_NAME": "your-api-name",
173
+ "API_BASE_URL": "https://api.example.com",
174
+ "API_SPEC_URL": "https://api.example.com/openapi.json",
175
+ "LOG_LEVEL": "ERROR",
176
+ "ENABLE_PROMETHEUS": "false",
177
+ "ENABLE_OPERATION_PROMPTS": "true",
178
+ "UVICORN_TIMEOUT_GRACEFUL_SHUTDOWN": "5.0",
179
+ "UVICORN_GRACEFUL_SHUTDOWN": "true"
180
+ },
181
+ }
182
+ }
183
+ }
184
+ ```
185
+
148
186
  ## Usage
149
187
 
150
188
  ### Basic Usage
@@ -27,6 +27,10 @@ This project is a server that dynamically creates Model Context Protocol (MCP) t
27
27
 
28
28
  ## Installation
29
29
 
30
+ | Cursor | VS Code |
31
+ |:------:|:-------:|
32
+ | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.openapi-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMub3BlbmFwaS1tY3Atc2VydmVyQGxhdGVzdCIsImVudiI6eyJBUElfTkFNRSI6InlvdXItYXBpLW5hbWUiLCJBUElfQkFTRV9VUkwiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsIkFQSV9TUEVDX1VSTCI6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL29wZW5hcGkuanNvbiIsIkxPR19MRVZFTCI6IkVSUk9SIiwiRU5BQkxFX1BST01FVEhFVVMiOiJmYWxzZSIsIkVOQUJMRV9PUEVSQVRJT05fUFJPTVBUUyI6InRydWUiLCJVVklDT1JOX1RJTUVPVVRfR1JBQ0VGVUxfU0hVVERPV04iOiI1LjAiLCJVVklDT1JOX0dSQUNFRlVMX1NIVVRET1dOIjoidHJ1ZSJ9LCJkaXNhYmxlZCI6ZmFsc2UsImF1dG9BcHByb3ZlIjpbXX0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=OpenAPI%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.openapi-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22API_NAME%22%3A%22your-api-name%22%2C%22API_BASE_URL%22%3A%22https%3A%2F%2Fapi.example.com%22%2C%22API_SPEC_URL%22%3A%22https%3A%2F%2Fapi.example.com%2Fopenapi.json%22%2C%22LOG_LEVEL%22%3A%22ERROR%22%2C%22ENABLE_PROMETHEUS%22%3A%22false%22%2C%22ENABLE_OPERATION_PROMPTS%22%3A%22true%22%2C%22UVICORN_TIMEOUT_GRACEFUL_SHUTDOWN%22%3A%225.0%22%2C%22UVICORN_GRACEFUL_SHUTDOWN%22%3A%22true%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
33
+
30
34
  ### From PyPI
31
35
 
32
36
  ```bash
@@ -86,6 +90,40 @@ Here are some ways you can work with MCP across AWS (e.g. for Amazon Q Developer
86
90
  }
87
91
  ```
88
92
 
93
+ ### Windows Installation
94
+
95
+ For Windows users, the MCP server configuration format is slightly different:
96
+
97
+ ```json
98
+ {
99
+ "mcpServers": {
100
+ "awslabs.openapi-mcp-server": {
101
+ "disabled": false,
102
+ "timeout": 60,
103
+ "type": "stdio",
104
+ "command": "uv",
105
+ "args": [
106
+ "tool",
107
+ "run",
108
+ "--from",
109
+ "awslabs.openapi-mcp-server@latest",
110
+ "awslabs.openapi-mcp-server.exe"
111
+ ],
112
+ "env": {
113
+ "API_NAME": "your-api-name",
114
+ "API_BASE_URL": "https://api.example.com",
115
+ "API_SPEC_URL": "https://api.example.com/openapi.json",
116
+ "LOG_LEVEL": "ERROR",
117
+ "ENABLE_PROMETHEUS": "false",
118
+ "ENABLE_OPERATION_PROMPTS": "true",
119
+ "UVICORN_TIMEOUT_GRACEFUL_SHUTDOWN": "5.0",
120
+ "UVICORN_GRACEFUL_SHUTDOWN": "true"
121
+ },
122
+ }
123
+ }
124
+ }
125
+ ```
126
+
89
127
  ## Usage
90
128
 
91
129
  ### Basic Usage
@@ -15,7 +15,7 @@
15
15
  OpenAPI MCP Server - A server that dynamically creates MCP tools and resources from OpenAPI specifications.
16
16
  """
17
17
 
18
- __version__ = '0.2.0'
18
+ __version__ = '0.2.4'
19
19
 
20
20
 
21
21
  import inspect
@@ -7,7 +7,7 @@ allow-direct-references = true
7
7
 
8
8
  [project]
9
9
  name = "awslabs.openapi-mcp-server"
10
- version = "0.2.0"
10
+ version = "0.2.4"
11
11
  description = "An AWS Labs Model Context Protocol (MCP) server for OpenAPI"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -0,0 +1,24 @@
1
+ # This file was autogenerated by uv via the following command:
2
+ # echo "uv==0.8.10" > uv-requirements.in
3
+ # uv pip compile --generate-hashes --output-file=uv-requirements.txt --strip-extras --python=3.10 uv-requirements.in
4
+ uv==0.8.10 \
5
+ --hash=sha256:31e4fc37ee94b94c032384a0957ad32ba7dce4ce6c04b4880fd3e31e25e51a82 \
6
+ --hash=sha256:36a5ce708d52388c37043e7335f9eb3fea5a19a56166a2cc6adb365179a1cd77 \
7
+ --hash=sha256:38286d230daad82388469c8dc7a1d2f5dc279c11178319c886d1a88d7938e513 \
8
+ --hash=sha256:3e190cee3bb2b4f574a419eef87ae8e33f713e9cd6f856b83277ece70ad9ca9b \
9
+ --hash=sha256:3fdf89fc40af9902141c39ed943bcfca15664623363335eb032a44f22001e2b4 \
10
+ --hash=sha256:4cc190d403a89e46d13cec83b6f8e8d7d07aaf1e5a996eac9a3f0c2a8cd92537 \
11
+ --hash=sha256:57b71dc79eff25a5419d3fe4a563d3b9397f55d789f685ef27f43f033b31f482 \
12
+ --hash=sha256:86fe044c2be43977566a0d184a487edd7aace2febb757fd95927684b629ef50b \
13
+ --hash=sha256:88df34c32555064fae459cce665757619fd1af7deb2dc393352b15d909d2d131 \
14
+ --hash=sha256:9ad21eeaa4156a1bf5ed85903f80db06e2c02badd3a587ba98d3171517960555 \
15
+ --hash=sha256:a5495b5a6e3111c03cf5e4dbdd598bc8fd1da887e3920d58cd5a2d4c8bc9a473 \
16
+ --hash=sha256:ab072cd3bf2f9dc264659a1ff48ad91a910ac4830bcfe965e2d3f89c86646f46 \
17
+ --hash=sha256:af8a5526b0e331775a264fa0dbccfd53c183cb974f269a208af136d7561f9eb2 \
18
+ --hash=sha256:b00637c63d5dfc9f879281c5c91db2bb909ab1f9ab275dab015e7fb6cac6be5b \
19
+ --hash=sha256:b3ff3c451fcd23ea78356d8c18e802d0e423cbe655273601e3ec039a51b33286 \
20
+ --hash=sha256:c4a493cd4b15b3aef11523531aff96a77a586666a63e842fa437966b7b7ee62d \
21
+ --hash=sha256:defc50bb319be2d58be74a680710cd4b7697e88d5f79974eacd354df95f0b6b0 \
22
+ --hash=sha256:e0a02bcec766eb0862b7082ab746b204add7d9fcaa62322502d159b5a7ccc54a \
23
+ --hash=sha256:eb79a46d8099f563ef58237bf4e9009f876a40145e757ea883a92b24b724d01e
24
+ # via -r uv-requirements.in
@@ -1,73 +0,0 @@
1
- # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- # Stage 1: Build dependencies
16
- FROM public.ecr.aws/docker/library/python:3.13.5-alpine3.21 AS builder
17
-
18
- ENV PYTHONDONTWRITEBYTECODE=1 \
19
- PYTHONUNBUFFERED=1 \
20
- PIP_NO_CACHE_DIR=1 \
21
- PIP_DISABLE_PIP_VERSION_CHECK=1
22
-
23
- # Install build dependencies using virtual package for easy cleanup
24
- RUN apk update && \
25
- apk add --no-cache --virtual .build-deps \
26
- build-base \
27
- gcc \
28
- musl-dev \
29
- libffi-dev \
30
- openssl-dev \
31
- cargo
32
-
33
- WORKDIR /app
34
-
35
- # Copy and install in single layer for better caching
36
- COPY pyproject.toml uv.lock README.md LICENSE NOTICE ./
37
- COPY awslabs ./awslabs
38
- RUN pip install --no-cache-dir --target /opt/venv . && \
39
- # Remove unnecessary files to reduce image size
40
- find /opt/venv -name '*.pyc' -delete && \
41
- find /opt/venv -name '__pycache__' -delete
42
-
43
- # Stage 2: Runtime image
44
- FROM public.ecr.aws/docker/library/python:3.13.5-alpine3.21
45
-
46
- ENV PYTHONDONTWRITEBYTECODE=1 \
47
- PYTHONUNBUFFERED=1 \
48
- PYTHONPATH=/opt/venv \
49
- PATH="/opt/venv/bin:$PATH" \
50
- PYTHONWARNINGS="ignore"
51
-
52
- # Install runtime dependencies and create user in single layer
53
- RUN apk update && \
54
- apk add --no-cache ca-certificates && \
55
- update-ca-certificates && \
56
- addgroup -S app && \
57
- adduser -S app -G app -h /app
58
-
59
- # Copy application files
60
- COPY --from=builder --chown=app:app /opt/venv /opt/venv
61
- COPY --from=builder --chown=app:app /app/awslabs /app/awslabs
62
- COPY --chown=app:app ./docker-healthcheck.sh /usr/local/bin/docker-healthcheck.sh
63
- RUN chmod +x /usr/local/bin/docker-healthcheck.sh
64
-
65
- USER app
66
- WORKDIR /app
67
-
68
- # Optimize healthcheck intervals for better performance
69
- HEALTHCHECK --interval=60s --timeout=10s --start-period=10s --retries=3 \
70
- CMD ["docker-healthcheck.sh"]
71
-
72
- # Use exec form for better signal handling
73
- ENTRYPOINT ["python", "-m", "awslabs.openapi_mcp_server.server"]
@@ -1,26 +0,0 @@
1
- #
2
- # This file is autogenerated by pip-compile with Python 3.10
3
- # by the following command:
4
- #
5
- # pip-compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements-0.7.13.in
6
- #
7
- uv==0.7.13 \
8
- --hash=sha256:05f3c03c4ea55d294f3da725b6c2c2ff544754c18552da7594def4ec3889dcfb \
9
- --hash=sha256:1afdbfcabc3425b383141ba42d413841c0a48b9ee0f4da65459313275e3cea84 \
10
- --hash=sha256:33837aca7bdf02d47554d5d44f9e71756ee17c97073b07b4afead25309855bc7 \
11
- --hash=sha256:4efa555b217e15767f0691a51d435f7bb2b0bf473fdfd59f173aeda8a93b8d17 \
12
- --hash=sha256:4f828174e15a557d3bc0f809de76135c3b66bcbf524657f8ced9d22fc978b89c \
13
- --hash=sha256:527a12d0c2f4d15f72b275b6f4561ae92af76dd59b4624796fddd45867f13c33 \
14
- --hash=sha256:5786a29e286f2cc3cbda13a357fd9a4dd5bf1d7448a9d3d842b26b4f784a3a86 \
15
- --hash=sha256:59915aec9fd2b845708a76ddc6c0639cfc99b6e2811854ea2425ee7552aff0e9 \
16
- --hash=sha256:721b058064150fc1c6d88e277af093d1b4f8bb7a59546fe9969d9ff7dbe3f6fd \
17
- --hash=sha256:866cad0d04a7de1aaa3c5cbef203f9d3feef9655972dcccc3283d60122db743b \
18
- --hash=sha256:88fcf2bfbb53309531a850af50d2ea75874099b19d4159625d0b4f88c53494b9 \
19
- --hash=sha256:8c0c29a2089ff9011d6c3abccd272f3ee6d0e166dae9e5232099fd83d26104d9 \
20
- --hash=sha256:9c457a84cfbe2019ba301e14edd3e1c950472abd0b87fc77622ab3fc475ba012 \
21
- --hash=sha256:9d2952a1e74c7027347c74cee1cb2be09121a5290db38498b8b17ff585f73748 \
22
- --hash=sha256:a51006c7574e819308d92a3452b22d5bd45ef8593a4983b5856aa7cb8220885f \
23
- --hash=sha256:b1af81e57d098b21b28f42ec756f0e26dce2341d59ba4e4f11759bc3ca2c0a99 \
24
- --hash=sha256:e077dcac19e564cae8b4223b7807c2f617a59938f8142ca77fc6348ae9c6d0aa \
25
- --hash=sha256:f28e70baadfebe71dcc2d9505059b988d75e903fc62258b102eb87dc4b6994a3
26
- # via -r uv-requirements-0.7.13.in (contents of `uv==0.7.13`)