awslabs.openapi-mcp-server 0.2.8__tar.gz → 0.2.10__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 (123) hide show
  1. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/AUTHENTICATION.md +1 -1
  2. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/Dockerfile +2 -2
  3. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/PKG-INFO +17 -16
  4. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/README.md +15 -14
  5. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/__init__.py +1 -0
  6. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/__init__.py +1 -1
  7. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/prompts/generators/operation_prompts.py +7 -7
  8. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/server.py +4 -9
  9. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/pyproject.toml +2 -2
  10. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_mcp_prompt_manager.py +3 -3
  11. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_mcp_prompt_manager_integration.py +3 -3
  12. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_route_logging.py +3 -3
  13. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/uv.lock +289 -26
  14. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/.coveragerc +0 -0
  15. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/.dockerignore +0 -0
  16. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/.gitignore +0 -0
  17. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/.python-version +0 -0
  18. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/AWS_BEST_PRACTICES.md +0 -0
  19. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/CHANGELOG.md +0 -0
  20. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/DEPLOYMENT.md +0 -0
  21. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/LICENSE +0 -0
  22. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/NOTICE +0 -0
  23. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/OBSERVABILITY.md +0 -0
  24. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/api/__init__.py +0 -0
  25. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/api/config.py +0 -0
  26. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/__init__.py +0 -0
  27. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/api_key_auth.py +0 -0
  28. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/auth_cache.py +0 -0
  29. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/auth_errors.py +0 -0
  30. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/auth_factory.py +0 -0
  31. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/auth_protocol.py +0 -0
  32. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/auth_provider.py +0 -0
  33. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/base_auth.py +0 -0
  34. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/basic_auth.py +0 -0
  35. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/bearer_auth.py +0 -0
  36. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/cognito_auth.py +0 -0
  37. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/auth/register.py +0 -0
  38. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/patch/__init__.py +0 -0
  39. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/prompts/__init__.py +0 -0
  40. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/prompts/generators/__init__.py +0 -0
  41. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/prompts/generators/workflow_prompts.py +0 -0
  42. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/prompts/models.py +0 -0
  43. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/prompts/prompt_manager.py +0 -0
  44. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/__init__.py +0 -0
  45. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/cache_provider.py +0 -0
  46. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/config.py +0 -0
  47. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/error_handler.py +0 -0
  48. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/http_client.py +0 -0
  49. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/metrics_provider.py +0 -0
  50. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/openapi.py +0 -0
  51. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/awslabs/openapi_mcp_server/utils/openapi_validator.py +0 -0
  52. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/docker-healthcheck.sh +0 -0
  53. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/pyrightconfig.json +0 -0
  54. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/README.md +0 -0
  55. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/api/test_config.py +0 -0
  56. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_api_key_auth.py +0 -0
  57. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_cache.py +0 -0
  58. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_errors.py +0 -0
  59. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_factory.py +0 -0
  60. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_factory_caching.py +0 -0
  61. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_factory_coverage.py +0 -0
  62. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_protocol.py +0 -0
  63. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_protocol_additional.py +0 -0
  64. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_protocol_boost.py +0 -0
  65. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_protocol_coverage.py +0 -0
  66. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_protocol_extended.py +0 -0
  67. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_protocol_improved.py +0 -0
  68. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_auth_provider_additional.py +0 -0
  69. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_base_auth.py +0 -0
  70. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_base_auth_coverage.py +0 -0
  71. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_basic_auth.py +0 -0
  72. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_bearer_auth.py +0 -0
  73. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_cognito_auth.py +0 -0
  74. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_cognito_auth_additional_coverage.py +0 -0
  75. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_cognito_auth_boost_coverage.py +0 -0
  76. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_cognito_auth_client_credentials.py +0 -0
  77. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_cognito_auth_coverage_boost.py +0 -0
  78. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_cognito_auth_exceptions.py +0 -0
  79. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_register.py +0 -0
  80. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/auth/test_register_coverage.py +0 -0
  81. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/standalone/test_operation_prompt.py +0 -0
  82. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/standalone/test_prompt_arguments.py +0 -0
  83. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/standalone/test_secure_operation_prompt.py +0 -0
  84. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_models_dict_method.py +0 -0
  85. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_operation_prompts_extended.py +0 -0
  86. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_prompt_manager_additional.py +0 -0
  87. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_prompt_manager_comprehensive.py +0 -0
  88. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_prompt_manager_coverage.py +0 -0
  89. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/prompts/test_prompt_registration.py +0 -0
  90. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_api_name.py +0 -0
  91. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_cache_coverage_89.py +0 -0
  92. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_client.py +0 -0
  93. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_coverage_boost.py +0 -0
  94. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_init.py +0 -0
  95. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_main.py +0 -0
  96. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_main_extended.py +0 -0
  97. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_openapi_coverage_89.py +0 -0
  98. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server.py +0 -0
  99. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_auth_errors.py +0 -0
  100. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_coverage_boost.py +0 -0
  101. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_coverage_boost_2.py +0 -0
  102. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_exception_handling.py +0 -0
  103. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_extended.py +0 -0
  104. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_httpx_version.py +0 -0
  105. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_part1.py +0 -0
  106. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/test_server_signal_handlers.py +0 -0
  107. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_cache_provider.py +0 -0
  108. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_error_handler.py +0 -0
  109. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_error_handler_boost.py +0 -0
  110. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_error_handler_extended.py +0 -0
  111. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_error_handler_fix.py +0 -0
  112. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_http_client.py +0 -0
  113. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_http_client_comprehensive.py +0 -0
  114. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_http_client_extended.py +0 -0
  115. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_http_client_extended2.py +0 -0
  116. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_http_client_import_error.py +0 -0
  117. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_metrics_provider.py +0 -0
  118. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_metrics_provider_decorators.py +0 -0
  119. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_metrics_provider_extended2.py +0 -0
  120. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_metrics_provider_prometheus.py +0 -0
  121. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_openapi.py +0 -0
  122. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/tests/utils/test_openapi_validator.py +0 -0
  123. {awslabs_openapi_mcp_server-0.2.8 → awslabs_openapi_mcp_server-0.2.10}/uv-requirements.txt +0 -0
@@ -251,7 +251,7 @@ To verify your authentication configuration is working correctly:
251
251
  2. Check the logs for successful authentication messages
252
252
 
253
253
  3. Make a simple request through your LLM tool to verify API connectivity:
254
- - For Amazon Q CLI: "Can you list the available endpoints in my API?"
254
+ - For Kiro: "Can you list the available endpoints in my API?"
255
255
  - For Cline: "Make a simple request to my API to verify authentication is working"
256
256
 
257
257
  If you encounter authentication errors, see the Troubleshooting section below.
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # dependabot should continue to update this to the latest hash.
16
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b AS uv
16
+ FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:e7e041128ffc3e3600509f508e44d34ab08ff432bdb62ec508d01dfc5ca459f7 AS uv
17
17
 
18
18
  # Install the project into `/app`
19
19
  WORKDIR /app
@@ -61,7 +61,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
61
61
  # Make the directory just in case it doesn't exist
62
62
  RUN mkdir -p /root/.local
63
63
 
64
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b
64
+ FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:e7e041128ffc3e3600509f508e44d34ab08ff432bdb62ec508d01dfc5ca459f7
65
65
 
66
66
  # Place executables in the environment at the front of the path and include other binaries
67
67
  ENV PATH="/app/.venv/bin:$PATH" \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.openapi-mcp-server
3
- Version: 0.2.8
3
+ Version: 0.2.10
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/
@@ -24,7 +24,7 @@ Requires-Python: >=3.10
24
24
  Requires-Dist: bcrypt>=4.3.0
25
25
  Requires-Dist: boto3>=1.39.3
26
26
  Requires-Dist: cachetools>=6.1.0
27
- Requires-Dist: fastmcp>=2.13.0
27
+ Requires-Dist: fastmcp>=2.14.0
28
28
  Requires-Dist: httpx>=0.28.1
29
29
  Requires-Dist: loguru>=0.7.3
30
30
  Requires-Dist: openapi-spec-validator>=0.7.2
@@ -86,9 +86,9 @@ 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) |
89
+ | Kiro | Cursor | VS Code |
90
+ |:----:|:------:|:-------:|
91
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.openapi-mcp-server&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//api.example.com%22%2C%22API_SPEC_URL%22%3A%22https%3A//api.example.com/openapi.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%7D) | [![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
92
 
93
93
  ### From PyPI
94
94
 
@@ -124,7 +124,7 @@ pip install -e .
124
124
 
125
125
  ### Using MCP Configuration
126
126
 
127
- Here are some ways you can work with MCP across AWS (e.g. for Amazon Q Developer CLI MCP, `~/.aws/amazonq/mcp.json`):
127
+ Example configuration for Kiro (`~/.kiro/settings/mcp.json`):
128
128
 
129
129
  ```json
130
130
  {
@@ -397,17 +397,18 @@ The server includes built-in monitoring capabilities:
397
397
  - Prometheus metrics (disabled by default)
398
398
  - Detailed logging of API calls and tool usage
399
399
  - Performance tracking for API operations
400
- ## Testing with Amazon Q
401
400
 
402
- To test the OpenAPI MCP Server with Amazon Q, you need to configure Amazon Q to use your MCP server. Here's how:
401
+ ## Testing with Kiro
403
402
 
404
- 1. **Configure Amazon Q MCP Integration**
403
+ To test the OpenAPI MCP Server with Kiro, you need to configure Kiro to use your MCP server. Here's how:
404
+
405
+ 1. **Configure Kiro MCP Integration**
405
406
 
406
407
  Create or edit the MCP configuration file:
407
408
 
408
409
  ```bash
409
- mkdir -p ~/.aws/amazonq
410
- nano ~/.aws/amazonq/mcp.json
410
+ mkdir -p ~/.kiro/settings
411
+ nano ~/.kiro/settings/mcp.json
411
412
  ```
412
413
 
413
414
  Add the following configuration:
@@ -437,20 +438,20 @@ To test the OpenAPI MCP Server with Amazon Q, you need to configure Amazon Q to
437
438
  }
438
439
  ```
439
440
 
440
- 2. **Start Amazon Q CLI**
441
+ 2. **Start Kiro CLI**
441
442
 
442
- Launch the Amazon Q CLI:
443
+ Launch the Kiro CLI:
443
444
 
444
445
  ```bash
445
- q chat
446
+ kiro-cli chat
446
447
  ```
447
448
 
448
449
  3. **Test the Operation Prompts**
449
450
 
450
- Once connected, you can test the operation prompts by asking Amazon Q to help you with specific API operations:
451
+ Once connected, you can test the operation prompts by asking Kiro to help you with specific API operations:
451
452
 
452
453
  ```
453
454
  I need to find a pet by ID using the Petstore API
454
455
  ```
455
456
 
456
- Amazon Q should respond with guidance using the natural language prompt.
457
+ Kiro should respond with guidance using the natural language prompt.
@@ -27,9 +27,9 @@ 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) |
30
+ | Kiro | Cursor | VS Code |
31
+ |:----:|:------:|:-------:|
32
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.openapi-mcp-server&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//api.example.com%22%2C%22API_SPEC_URL%22%3A%22https%3A//api.example.com/openapi.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%7D) | [![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
33
 
34
34
  ### From PyPI
35
35
 
@@ -65,7 +65,7 @@ pip install -e .
65
65
 
66
66
  ### Using MCP Configuration
67
67
 
68
- Here are some ways you can work with MCP across AWS (e.g. for Amazon Q Developer CLI MCP, `~/.aws/amazonq/mcp.json`):
68
+ Example configuration for Kiro (`~/.kiro/settings/mcp.json`):
69
69
 
70
70
  ```json
71
71
  {
@@ -338,17 +338,18 @@ The server includes built-in monitoring capabilities:
338
338
  - Prometheus metrics (disabled by default)
339
339
  - Detailed logging of API calls and tool usage
340
340
  - Performance tracking for API operations
341
- ## Testing with Amazon Q
342
341
 
343
- To test the OpenAPI MCP Server with Amazon Q, you need to configure Amazon Q to use your MCP server. Here's how:
342
+ ## Testing with Kiro
344
343
 
345
- 1. **Configure Amazon Q MCP Integration**
344
+ To test the OpenAPI MCP Server with Kiro, you need to configure Kiro to use your MCP server. Here's how:
345
+
346
+ 1. **Configure Kiro MCP Integration**
346
347
 
347
348
  Create or edit the MCP configuration file:
348
349
 
349
350
  ```bash
350
- mkdir -p ~/.aws/amazonq
351
- nano ~/.aws/amazonq/mcp.json
351
+ mkdir -p ~/.kiro/settings
352
+ nano ~/.kiro/settings/mcp.json
352
353
  ```
353
354
 
354
355
  Add the following configuration:
@@ -378,20 +379,20 @@ To test the OpenAPI MCP Server with Amazon Q, you need to configure Amazon Q to
378
379
  }
379
380
  ```
380
381
 
381
- 2. **Start Amazon Q CLI**
382
+ 2. **Start Kiro CLI**
382
383
 
383
- Launch the Amazon Q CLI:
384
+ Launch the Kiro CLI:
384
385
 
385
386
  ```bash
386
- q chat
387
+ kiro-cli chat
387
388
  ```
388
389
 
389
390
  3. **Test the Operation Prompts**
390
391
 
391
- Once connected, you can test the operation prompts by asking Amazon Q to help you with specific API operations:
392
+ Once connected, you can test the operation prompts by asking Kiro to help you with specific API operations:
392
393
 
393
394
  ```
394
395
  I need to find a pet by ID using the Petstore API
395
396
  ```
396
397
 
397
- Amazon Q should respond with guidance using the natural language prompt.
398
+ Kiro should respond with guidance using the natural language prompt.
@@ -14,3 +14,4 @@
14
14
 
15
15
  # This file is part of the awslabs namespace.
16
16
  # It is intentionally minimal to support PEP 420 namespace packages.
17
+ __path__ = __import__('pkgutil').extend_path(__path__, __name__)
@@ -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.8'
18
+ __version__ = '0.2.10'
19
19
 
20
20
 
21
21
  import inspect
@@ -20,7 +20,7 @@ from awslabs.openapi_mcp_server.prompts.models import (
20
20
  )
21
21
  from fastmcp.prompts.prompt import Prompt
22
22
  from fastmcp.prompts.prompt import PromptArgument as FastMCPPromptArgument
23
- from fastmcp.server.openapi import RouteType
23
+ from fastmcp.server.openapi import MCPType
24
24
  from typing import Any, Dict, List, Optional
25
25
 
26
26
 
@@ -178,16 +178,16 @@ def determine_operation_type(server: Any, path: str, method: str) -> str:
178
178
  for route in routes:
179
179
  route_path = getattr(route, 'path', '')
180
180
  route_method = getattr(route, 'method', '')
181
- route_type = getattr(route, 'route_type', None)
181
+ mcp_type = getattr(route, 'mcp_type', None)
182
182
 
183
183
  # Check if this route matches our operation
184
- if route_path == path and route_method.upper() == method.upper() and route_type:
185
- # Convert RouteType enum to string
186
- if route_type == RouteType.RESOURCE:
184
+ if route_path == path and route_method.upper() == method.upper() and mcp_type:
185
+ # Convert MCPType enum to string
186
+ if mcp_type == MCPType.RESOURCE:
187
187
  operation_type = 'resource'
188
- elif route_type == RouteType.RESOURCE_TEMPLATE:
188
+ elif mcp_type == MCPType.RESOURCE_TEMPLATE:
189
189
  operation_type = 'resource_template'
190
- elif route_type == RouteType.TOOL:
190
+ elif mcp_type == MCPType.TOOL:
191
191
  operation_type = 'tool'
192
192
  break
193
193
 
@@ -29,7 +29,7 @@ from awslabs.openapi_mcp_server.utils.metrics_provider import metrics
29
29
  from awslabs.openapi_mcp_server.utils.openapi import load_openapi_spec
30
30
  from awslabs.openapi_mcp_server.utils.openapi_validator import validate_openapi_spec
31
31
  from fastmcp import FastMCP
32
- from fastmcp.server.openapi import FastMCPOpenAPI, RouteMap, RouteType
32
+ from fastmcp.server.openapi import FastMCPOpenAPI, MCPType, RouteMap
33
33
  from typing import Any, Dict
34
34
 
35
35
 
@@ -57,11 +57,6 @@ def create_mcp_server(config: Config) -> FastMCP:
57
57
  server = FastMCP(
58
58
  'awslabs.openapi-mcp-server',
59
59
  instructions='This server acts as a bridge between OpenAPI specifications and LLMs, allowing models to have a better understanding of available API capabilities without requiring manual tool definitions.',
60
- dependencies=[
61
- 'pydantic',
62
- 'loguru',
63
- 'httpx',
64
- ],
65
60
  )
66
61
 
67
62
  try:
@@ -184,7 +179,7 @@ def create_mcp_server(config: Config) -> FastMCP:
184
179
  RouteMap(
185
180
  methods=['GET'],
186
181
  pattern=f'^{re.escape(path)}$',
187
- route_type=RouteType.TOOL,
182
+ mcp_type=MCPType.TOOL,
188
183
  )
189
184
  )
190
185
 
@@ -214,8 +209,8 @@ def create_mcp_server(config: Config) -> FastMCP:
214
209
  for i, route in enumerate(routes):
215
210
  path = getattr(route, 'path', 'unknown')
216
211
  method = getattr(route, 'method', 'unknown')
217
- route_type = getattr(route, 'route_type', 'unknown')
218
- logger.debug(f'Route {i}: {method} {path} - Type: {route_type}')
212
+ mcp_type = getattr(route, 'mcp_type', 'unknown')
213
+ logger.debug(f'Route {i}: {method} {path} - Type: {mcp_type}')
219
214
 
220
215
  logger.info(f'Successfully configured API: {config.api_name}')
221
216
 
@@ -7,7 +7,7 @@ allow-direct-references = true
7
7
 
8
8
  [project]
9
9
  name = "awslabs.openapi-mcp-server"
10
- version = "0.2.8"
10
+ version = "0.2.10"
11
11
  description = "An AWS Labs Model Context Protocol (MCP) server for OpenAPI"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -28,7 +28,7 @@ classifiers = [
28
28
  "Programming Language :: Python :: 3.13",
29
29
  ]
30
30
  dependencies = [
31
- "fastmcp>=2.13.0",
31
+ "fastmcp>=2.14.0",
32
32
  "httpx>=0.28.1",
33
33
  "pydantic>=2.11.7",
34
34
  "typing-extensions>=4.14.1",
@@ -18,7 +18,7 @@ from awslabs.openapi_mcp_server.prompts import MCPPromptManager
18
18
  from awslabs.openapi_mcp_server.prompts.generators.workflow_prompts import (
19
19
  identify_workflows,
20
20
  )
21
- from fastmcp.server.openapi import RouteType
21
+ from fastmcp.server.openapi import MCPType
22
22
  from unittest.mock import AsyncMock, MagicMock, patch
23
23
 
24
24
 
@@ -33,12 +33,12 @@ def mock_server():
33
33
  mock_route = MagicMock()
34
34
  mock_route.path = '/pet/{petId}'
35
35
  mock_route.method = 'GET'
36
- mock_route.route_type = RouteType.RESOURCE
36
+ mock_route.mcp_type = MCPType.RESOURCE
37
37
 
38
38
  mock_route2 = MagicMock()
39
39
  mock_route2.path = '/pet/findByStatus'
40
40
  mock_route2.method = 'GET'
41
- mock_route2.route_type = RouteType.TOOL
41
+ mock_route2.v = MCPType.TOOL
42
42
 
43
43
  server._openapi_router = MagicMock()
44
44
  server._openapi_router._routes = [mock_route, mock_route2]
@@ -15,7 +15,7 @@
15
15
 
16
16
  import pytest
17
17
  from awslabs.openapi_mcp_server.prompts import MCPPromptManager
18
- from fastmcp.server.openapi import RouteType
18
+ from fastmcp.server.openapi import MCPType
19
19
  from unittest.mock import AsyncMock, MagicMock
20
20
 
21
21
 
@@ -35,12 +35,12 @@ def mock_server():
35
35
  mock_route = MagicMock()
36
36
  mock_route.path = '/pet/{petId}'
37
37
  mock_route.method = 'GET'
38
- mock_route.route_type = RouteType.RESOURCE
38
+ mock_route.mcp_type = MCPType.RESOURCE
39
39
 
40
40
  mock_route2 = MagicMock()
41
41
  mock_route2.path = '/pet/findByStatus'
42
42
  mock_route2.method = 'GET'
43
- mock_route2.route_type = RouteType.TOOL
43
+ mock_route2.mcp_type = MCPType.TOOL
44
44
 
45
45
  server._openapi_router = MagicMock()
46
46
  server._openapi_router._routes = [mock_route, mock_route2]
@@ -51,12 +51,12 @@ class TestServerRouteLogging:
51
51
  mock_route1 = MagicMock()
52
52
  mock_route1.path = '/api/v1/pets'
53
53
  mock_route1.method = 'GET'
54
- mock_route1.route_type = 'resource'
54
+ mock_route1.mcp_type = 'resource'
55
55
 
56
56
  mock_route2 = MagicMock()
57
57
  mock_route2.path = '/api/v1/pets/{id}'
58
58
  mock_route2.method = 'POST'
59
- mock_route2.route_type = 'tool'
59
+ mock_route2.mcp_type = 'tool'
60
60
 
61
61
  # Set up the _openapi_router attribute with routes
62
62
  mock_openapi_router = MagicMock()
@@ -126,7 +126,7 @@ class TestServerRouteLogging:
126
126
  mock_route1 = MagicMock()
127
127
  mock_route1.path = '/api/v1/pets'
128
128
  mock_route1.method = 'GET'
129
- mock_route1.route_type = 'resource'
129
+ mock_route1.mcp_type = 'resource'
130
130
 
131
131
  # Set up the _openapi_router attribute with routes
132
132
  mock_openapi_router = MagicMock()