awslabs.openapi-mcp-server 0.2.7__tar.gz → 0.2.9__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.7 → awslabs_openapi_mcp_server-0.2.9}/PKG-INFO +2 -2
  2. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/__init__.py +1 -0
  3. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/__init__.py +1 -1
  4. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/prompts/generators/operation_prompts.py +7 -7
  5. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/server.py +4 -9
  6. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/pyproject.toml +2 -2
  7. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_mcp_prompt_manager.py +3 -3
  8. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_mcp_prompt_manager_integration.py +3 -3
  9. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_route_logging.py +3 -3
  10. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/uv.lock +289 -26
  11. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/.coveragerc +0 -0
  12. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/.dockerignore +0 -0
  13. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/.gitignore +0 -0
  14. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/.python-version +0 -0
  15. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/AUTHENTICATION.md +0 -0
  16. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/AWS_BEST_PRACTICES.md +0 -0
  17. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/CHANGELOG.md +0 -0
  18. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/DEPLOYMENT.md +0 -0
  19. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/Dockerfile +0 -0
  20. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/LICENSE +0 -0
  21. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/NOTICE +0 -0
  22. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/OBSERVABILITY.md +0 -0
  23. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/README.md +0 -0
  24. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/api/__init__.py +0 -0
  25. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/api/config.py +0 -0
  26. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/__init__.py +0 -0
  27. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/api_key_auth.py +0 -0
  28. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/auth_cache.py +0 -0
  29. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/auth_errors.py +0 -0
  30. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/auth_factory.py +0 -0
  31. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/auth_protocol.py +0 -0
  32. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/auth_provider.py +0 -0
  33. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/base_auth.py +0 -0
  34. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/basic_auth.py +0 -0
  35. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/bearer_auth.py +0 -0
  36. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/cognito_auth.py +0 -0
  37. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/auth/register.py +0 -0
  38. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/patch/__init__.py +0 -0
  39. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/prompts/__init__.py +0 -0
  40. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/prompts/generators/__init__.py +0 -0
  41. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/prompts/generators/workflow_prompts.py +0 -0
  42. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/prompts/models.py +0 -0
  43. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/prompts/prompt_manager.py +0 -0
  44. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/__init__.py +0 -0
  45. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/cache_provider.py +0 -0
  46. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/config.py +0 -0
  47. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/error_handler.py +0 -0
  48. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/http_client.py +0 -0
  49. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/metrics_provider.py +0 -0
  50. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/openapi.py +0 -0
  51. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/awslabs/openapi_mcp_server/utils/openapi_validator.py +0 -0
  52. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/docker-healthcheck.sh +0 -0
  53. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/pyrightconfig.json +0 -0
  54. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/README.md +0 -0
  55. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/api/test_config.py +0 -0
  56. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_api_key_auth.py +0 -0
  57. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_cache.py +0 -0
  58. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_errors.py +0 -0
  59. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_factory.py +0 -0
  60. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_factory_caching.py +0 -0
  61. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_factory_coverage.py +0 -0
  62. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_protocol.py +0 -0
  63. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_protocol_additional.py +0 -0
  64. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_protocol_boost.py +0 -0
  65. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_protocol_coverage.py +0 -0
  66. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_protocol_extended.py +0 -0
  67. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_protocol_improved.py +0 -0
  68. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_auth_provider_additional.py +0 -0
  69. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_base_auth.py +0 -0
  70. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_base_auth_coverage.py +0 -0
  71. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_basic_auth.py +0 -0
  72. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_bearer_auth.py +0 -0
  73. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_cognito_auth.py +0 -0
  74. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_cognito_auth_additional_coverage.py +0 -0
  75. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_cognito_auth_boost_coverage.py +0 -0
  76. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_cognito_auth_client_credentials.py +0 -0
  77. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_cognito_auth_coverage_boost.py +0 -0
  78. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_cognito_auth_exceptions.py +0 -0
  79. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_register.py +0 -0
  80. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/auth/test_register_coverage.py +0 -0
  81. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/standalone/test_operation_prompt.py +0 -0
  82. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/standalone/test_prompt_arguments.py +0 -0
  83. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/standalone/test_secure_operation_prompt.py +0 -0
  84. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_models_dict_method.py +0 -0
  85. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_operation_prompts_extended.py +0 -0
  86. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_prompt_manager_additional.py +0 -0
  87. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_prompt_manager_comprehensive.py +0 -0
  88. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_prompt_manager_coverage.py +0 -0
  89. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/prompts/test_prompt_registration.py +0 -0
  90. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_api_name.py +0 -0
  91. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_cache_coverage_89.py +0 -0
  92. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_client.py +0 -0
  93. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_coverage_boost.py +0 -0
  94. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_init.py +0 -0
  95. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_main.py +0 -0
  96. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_main_extended.py +0 -0
  97. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_openapi_coverage_89.py +0 -0
  98. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server.py +0 -0
  99. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_auth_errors.py +0 -0
  100. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_coverage_boost.py +0 -0
  101. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_coverage_boost_2.py +0 -0
  102. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_exception_handling.py +0 -0
  103. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_extended.py +0 -0
  104. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_httpx_version.py +0 -0
  105. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_part1.py +0 -0
  106. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/test_server_signal_handlers.py +0 -0
  107. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_cache_provider.py +0 -0
  108. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_error_handler.py +0 -0
  109. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_error_handler_boost.py +0 -0
  110. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_error_handler_extended.py +0 -0
  111. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_error_handler_fix.py +0 -0
  112. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_http_client.py +0 -0
  113. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_http_client_comprehensive.py +0 -0
  114. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_http_client_extended.py +0 -0
  115. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_http_client_extended2.py +0 -0
  116. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_http_client_import_error.py +0 -0
  117. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_metrics_provider.py +0 -0
  118. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_metrics_provider_decorators.py +0 -0
  119. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_metrics_provider_extended2.py +0 -0
  120. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_metrics_provider_prometheus.py +0 -0
  121. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_openapi.py +0 -0
  122. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/tests/utils/test_openapi_validator.py +0 -0
  123. {awslabs_openapi_mcp_server-0.2.7 → awslabs_openapi_mcp_server-0.2.9}/uv-requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.openapi-mcp-server
3
- Version: 0.2.7
3
+ Version: 0.2.9
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
@@ -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.7'
18
+ __version__ = '0.2.9'
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.7"
10
+ version = "0.2.9"
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()