fastmcp 2.13.0rc1__tar.gz → 2.13.0rc2__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 (650) hide show
  1. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/marvin-dedupe-issues.yml +1 -0
  2. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/marvin-label-triage.yml +1 -1
  3. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/PKG-INFO +1 -1
  4. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/changelog.mdx +15 -0
  5. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/elicitation.mdx +0 -1
  6. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/deployment/http.mdx +61 -0
  7. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/development/upgrade-guide.mdx +1 -0
  8. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/docs.json +21 -20
  9. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/getting-started/welcome.mdx +0 -1
  10. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/aws-cognito.mdx +10 -13
  11. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/fastapi.mdx +6 -0
  12. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-auth-oauth.mdx +12 -12
  13. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-oauth_callback.mdx +10 -3
  14. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-context.mdx +28 -28
  15. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-middleware-error_handling.mdx +5 -5
  16. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-tests.mdx +25 -4
  17. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/auth/authentication.mdx +0 -1
  18. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/auth/full-oauth-server.mdx +1 -1
  19. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/auth/oauth-proxy.mdx +22 -4
  20. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/auth/token-verification.mdx +0 -1
  21. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/composition.mdx +1 -1
  22. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/elicitation.mdx +0 -1
  23. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/icons.mdx +1 -0
  24. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/middleware.mdx +32 -4
  25. fastmcp-2.13.0rc2/docs/servers/storage-backends.mdx +259 -0
  26. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/tools.mdx +1 -1
  27. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/updates.mdx +10 -0
  28. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/github_oauth/server.py +1 -10
  29. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/oauth_proxy.py +5 -14
  30. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/auth0.py +1 -1
  31. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/aws.py +1 -1
  32. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/github.py +1 -1
  33. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/google.py +2 -2
  34. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/workos.py +1 -1
  35. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/http.py +5 -2
  36. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/cli.py +32 -22
  37. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/http/test_http_auth_middleware.py +29 -16
  38. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.ccignore +0 -0
  39. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.cursor/rules/core-mcp-objects.mdc +0 -0
  40. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.cursor/worktrees.json +0 -0
  41. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  42. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  43. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  44. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/copilot-instructions.md +0 -0
  45. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/dependabot.yml +0 -0
  46. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/pull_request_template.md +0 -0
  47. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/release.yml +0 -0
  48. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/auto-close-duplicates.yml +0 -0
  49. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/auto-close-needs-mre.yml +0 -0
  50. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/martian-issue-triage.yml +0 -0
  51. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/marvin.yml +0 -0
  52. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/publish.yml +0 -0
  53. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/run-static.yml +0 -0
  54. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/run-tests.yml +0 -0
  55. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/update-config-schema.yml +0 -0
  56. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.github/workflows/update-sdk-docs.yml +0 -0
  57. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.gitignore +0 -0
  58. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/.pre-commit-config.yaml +0 -0
  59. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/AGENTS.md +0 -0
  60. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/CLAUDE.md +0 -0
  61. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/CODE_OF_CONDUCT.md +0 -0
  62. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/LICENSE +0 -0
  63. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/README.md +0 -0
  64. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/SECURITY.md +0 -0
  65. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/.ccignore +0 -0
  66. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/.cursor/rules/mintlify.mdc +0 -0
  67. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/blue-logo.png +0 -0
  68. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/f-watercolor-waves-dark.png +0 -0
  69. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/f-watercolor-waves.png +0 -0
  70. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/favicon.svg +0 -0
  71. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/thumbnail-background.png +0 -0
  72. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark-padded.png +0 -0
  73. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark-watercolor-rainbow-dark.png +0 -0
  74. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark-watercolor-rainbow.png +0 -0
  75. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark-watercolor-waves-dark.png +0 -0
  76. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark-watercolor-waves.png +0 -0
  77. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark-white-padded.png +0 -0
  78. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark-white.png +0 -0
  79. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/brand/wordmark.png +0 -0
  80. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/images/fastmcp_cloud/connect.png +0 -0
  81. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/images/fastmcp_cloud/create_project.png +0 -0
  82. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/images/fastmcp_cloud/deployment.png +0 -0
  83. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/images/fastmcp_cloud/quickstart.png +0 -0
  84. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/images/oauth-proxy-consent-screen.png +0 -0
  85. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/images/tutorial-rest-api-result.png +0 -0
  86. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/schemas/mcp_server_config/latest.json +0 -0
  87. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/schemas/mcp_server_config/v1.json +0 -0
  88. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/assets/updates/release-2-7.png +0 -0
  89. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/auth/bearer.mdx +0 -0
  90. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/auth/oauth.mdx +0 -0
  91. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/client.mdx +0 -0
  92. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/logging.mdx +0 -0
  93. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/messages.mdx +0 -0
  94. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/progress.mdx +0 -0
  95. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/prompts.mdx +0 -0
  96. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/resources.mdx +0 -0
  97. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/roots.mdx +0 -0
  98. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/sampling.mdx +0 -0
  99. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/tools.mdx +0 -0
  100. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/clients/transports.mdx +0 -0
  101. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/community/README.md +0 -0
  102. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/community/showcase.mdx +0 -0
  103. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/css/banner.css +0 -0
  104. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/css/python-sdk.css +0 -0
  105. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/css/style.css +0 -0
  106. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/css/version-badge.css +0 -0
  107. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/deployment/fastmcp-cloud.mdx +0 -0
  108. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/deployment/running-server.mdx +0 -0
  109. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/deployment/server-configuration.mdx +0 -0
  110. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/development/contributing.mdx +0 -0
  111. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/development/releases.mdx +0 -0
  112. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/development/tests.mdx +0 -0
  113. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/getting-started/installation.mdx +0 -0
  114. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/getting-started/quickstart.mdx +0 -0
  115. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/anthropic.mdx +0 -0
  116. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/auth0.mdx +0 -0
  117. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/authkit.mdx +0 -0
  118. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/azure.mdx +0 -0
  119. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/chatgpt.mdx +0 -0
  120. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/claude-code.mdx +0 -0
  121. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/claude-desktop.mdx +0 -0
  122. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/cursor-install-mcp.png +0 -0
  123. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/cursor.mdx +0 -0
  124. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/descope.mdx +0 -0
  125. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/eunomia-authorization.mdx +0 -0
  126. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/gemini-cli.mdx +0 -0
  127. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/gemini.mdx +0 -0
  128. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/github.mdx +0 -0
  129. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/google.mdx +0 -0
  130. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/images/authkit/enable_dcr.png +0 -0
  131. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/images/permit/abac_condition_example.png +0 -0
  132. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/images/permit/abac_policy_example.png +0 -0
  133. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/images/permit/policy_mapping.png +0 -0
  134. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/images/permit/role_assignement.png +0 -0
  135. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/mcp-json-configuration.mdx +0 -0
  136. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/openai.mdx +0 -0
  137. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/openapi.mdx +0 -0
  138. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/permit.mdx +0 -0
  139. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/scalekit.mdx +0 -0
  140. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/integrations/workos.mdx +0 -0
  141. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/patterns/cli.mdx +0 -0
  142. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/patterns/contrib.mdx +0 -0
  143. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/patterns/decorating-methods.mdx +0 -0
  144. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/patterns/tool-transformation.mdx +0 -0
  145. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/public/schemas/fastmcp.json/latest.json +0 -0
  146. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/public/schemas/fastmcp.json/v1.json +0 -0
  147. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-__init__.mdx +0 -0
  148. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-cli.mdx +0 -0
  149. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-install-__init__.mdx +0 -0
  150. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-install-claude_code.mdx +0 -0
  151. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-install-claude_desktop.mdx +0 -0
  152. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-install-cursor.mdx +0 -0
  153. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-install-gemini_cli.mdx +0 -0
  154. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-install-mcp_json.mdx +0 -0
  155. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-install-shared.mdx +0 -0
  156. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-cli-run.mdx +0 -0
  157. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-__init__.mdx +0 -0
  158. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-auth-__init__.mdx +0 -0
  159. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-auth-bearer.mdx +0 -0
  160. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-client.mdx +0 -0
  161. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-elicitation.mdx +0 -0
  162. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-logging.mdx +0 -0
  163. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-messages.mdx +0 -0
  164. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-progress.mdx +0 -0
  165. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-roots.mdx +0 -0
  166. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-sampling.mdx +0 -0
  167. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-client-transports.mdx +0 -0
  168. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-exceptions.mdx +0 -0
  169. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-mcp_config.mdx +0 -0
  170. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-prompts-__init__.mdx +0 -0
  171. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-prompts-prompt.mdx +0 -0
  172. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-prompts-prompt_manager.mdx +0 -0
  173. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-resources-__init__.mdx +0 -0
  174. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-resources-resource.mdx +0 -0
  175. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-resources-resource_manager.mdx +0 -0
  176. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-resources-template.mdx +0 -0
  177. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-resources-types.mdx +0 -0
  178. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-__init__.mdx +0 -0
  179. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-__init__.mdx +0 -0
  180. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-auth.mdx +0 -0
  181. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-jwt_issuer.mdx +0 -0
  182. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-oauth_proxy.mdx +0 -0
  183. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-oidc_proxy.mdx +0 -0
  184. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-__init__.mdx +0 -0
  185. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-auth0.mdx +0 -0
  186. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-aws.mdx +0 -0
  187. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-azure.mdx +0 -0
  188. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-bearer.mdx +0 -0
  189. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-descope.mdx +0 -0
  190. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-github.mdx +0 -0
  191. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-google.mdx +0 -0
  192. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-in_memory.mdx +0 -0
  193. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-introspection.mdx +0 -0
  194. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-jwt.mdx +0 -0
  195. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-scalekit.mdx +0 -0
  196. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-supabase.mdx +0 -0
  197. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-providers-workos.mdx +0 -0
  198. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdx +0 -0
  199. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-dependencies.mdx +0 -0
  200. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-elicitation.mdx +0 -0
  201. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-http.mdx +0 -0
  202. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-low_level.mdx +0 -0
  203. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-middleware-__init__.mdx +0 -0
  204. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-middleware-caching.mdx +0 -0
  205. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-middleware-logging.mdx +0 -0
  206. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-middleware-middleware.mdx +0 -0
  207. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-middleware-rate_limiting.mdx +0 -0
  208. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-middleware-timing.mdx +0 -0
  209. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-openapi.mdx +0 -0
  210. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-proxy.mdx +0 -0
  211. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-server-server.mdx +0 -0
  212. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-settings.mdx +0 -0
  213. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-tools-__init__.mdx +0 -0
  214. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-tools-tool.mdx +0 -0
  215. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-tools-tool_manager.mdx +0 -0
  216. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-tools-tool_transform.mdx +0 -0
  217. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-__init__.mdx +0 -0
  218. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-auth.mdx +0 -0
  219. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-cli.mdx +0 -0
  220. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-components.mdx +0 -0
  221. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-exceptions.mdx +0 -0
  222. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-http.mdx +0 -0
  223. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-inspect.mdx +0 -0
  224. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-json_schema.mdx +0 -0
  225. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-json_schema_type.mdx +0 -0
  226. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-logging.mdx +0 -0
  227. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_config.mdx +0 -0
  228. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-__init__.mdx +0 -0
  229. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-__init__.mdx +0 -0
  230. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-__init__.mdx +0 -0
  231. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-base.mdx +0 -0
  232. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-uv.mdx +0 -0
  233. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-mcp_server_config.mdx +0 -0
  234. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-__init__.mdx +0 -0
  235. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-base.mdx +0 -0
  236. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-filesystem.mdx +0 -0
  237. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-openapi.mdx +0 -0
  238. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-types.mdx +0 -0
  239. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/python-sdk/fastmcp-utilities-ui.mdx +0 -0
  240. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/auth/oidc-proxy.mdx +0 -0
  241. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/auth/remote-oauth.mdx +0 -0
  242. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/context.mdx +0 -0
  243. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/logging.mdx +0 -0
  244. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/progress.mdx +0 -0
  245. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/prompts.mdx +0 -0
  246. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/proxy.mdx +0 -0
  247. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/resources.mdx +0 -0
  248. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/sampling.mdx +0 -0
  249. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/servers/server.mdx +0 -0
  250. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/snippets/local-focus.mdx +0 -0
  251. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/snippets/version-badge.mdx +0 -0
  252. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/snippets/youtube-embed.mdx +0 -0
  253. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/tutorials/create-mcp-server.mdx +0 -0
  254. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/tutorials/mcp.mdx +0 -0
  255. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/docs/tutorials/rest-api.mdx +0 -0
  256. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/README.md +0 -0
  257. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/demo.py +0 -0
  258. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/fastmcp.json +0 -0
  259. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/pyproject.toml +0 -0
  260. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/__init__.py +0 -0
  261. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/__main__.py +0 -0
  262. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/_atproto/__init__.py +0 -0
  263. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_client.py +0 -0
  264. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_posts.py +0 -0
  265. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_profile.py +0 -0
  266. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_read.py +0 -0
  267. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/_atproto/_social.py +0 -0
  268. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/py.typed +0 -0
  269. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/server.py +0 -0
  270. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/settings.py +0 -0
  271. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/atproto_mcp/src/atproto_mcp/types.py +0 -0
  272. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/authkit_dcr/README.md +0 -0
  273. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/authkit_dcr/client.py +0 -0
  274. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/authkit_dcr/server.py +0 -0
  275. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/aws_oauth/README.md +0 -0
  276. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/aws_oauth/client.py +0 -0
  277. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/aws_oauth/requirements.txt +0 -0
  278. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/aws_oauth/server.py +0 -0
  279. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/azure_oauth/README.md +0 -0
  280. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/azure_oauth/client.py +0 -0
  281. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/azure_oauth/server.py +0 -0
  282. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/github_oauth/README.md +0 -0
  283. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/github_oauth/client.py +0 -0
  284. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/google_oauth/README.md +0 -0
  285. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/google_oauth/client.py +0 -0
  286. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/google_oauth/server.py +0 -0
  287. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/scalekit_oauth/README.md +0 -0
  288. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/scalekit_oauth/client.py +0 -0
  289. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/scalekit_oauth/server.py +0 -0
  290. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/workos_oauth/README.md +0 -0
  291. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/workos_oauth/client.py +0 -0
  292. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/auth/workos_oauth/server.py +0 -0
  293. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/complex_inputs.py +0 -0
  294. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/config_server.py +0 -0
  295. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/desktop.py +0 -0
  296. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/echo.py +0 -0
  297. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config/env_interpolation_example.json +0 -0
  298. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config/fastmcp.json +0 -0
  299. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config/full_example.fastmcp.json +0 -0
  300. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config/server.py +0 -0
  301. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config/simple.fastmcp.json +0 -0
  302. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config_demo/README.md +0 -0
  303. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config_demo/fastmcp.json +0 -0
  304. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/fastmcp_config_demo/server.py +0 -0
  305. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/get_file.py +0 -0
  306. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/in_memory_proxy_example.py +0 -0
  307. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/memory.fastmcp.json +0 -0
  308. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/memory.py +0 -0
  309. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/mount_example.fastmcp.json +0 -0
  310. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/mount_example.py +0 -0
  311. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/sampling.py +0 -0
  312. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/sampling_fallback.py +0 -0
  313. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/screenshot.fastmcp.json +0 -0
  314. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/screenshot.py +0 -0
  315. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/serializer.py +0 -0
  316. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/simple_echo.py +0 -0
  317. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/README.md +0 -0
  318. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/hub.fastmcp.json +0 -0
  319. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/lights.fastmcp.json +0 -0
  320. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/pyproject.toml +0 -0
  321. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/__init__.py +0 -0
  322. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/__main__.py +0 -0
  323. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/hub.py +0 -0
  324. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/lights/__init__.py +0 -0
  325. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/lights/hue_utils.py +0 -0
  326. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/lights/server.py +0 -0
  327. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/py.typed +0 -0
  328. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/smart_home/src/smart_home/settings.py +0 -0
  329. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/tags_example.py +0 -0
  330. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/examples/text_me.py +0 -0
  331. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/justfile +0 -0
  332. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/pyproject.toml +0 -0
  333. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/scripts/auto_close_duplicates.py +0 -0
  334. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/scripts/auto_close_needs_mre.py +0 -0
  335. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/__init__.py +0 -0
  336. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/__init__.py +0 -0
  337. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/cli.py +0 -0
  338. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/install/__init__.py +0 -0
  339. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/install/claude_code.py +0 -0
  340. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/install/claude_desktop.py +0 -0
  341. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/install/cursor.py +0 -0
  342. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/install/gemini_cli.py +0 -0
  343. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/install/mcp_json.py +0 -0
  344. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/install/shared.py +0 -0
  345. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/cli/run.py +0 -0
  346. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/__init__.py +0 -0
  347. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/auth/__init__.py +0 -0
  348. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/auth/bearer.py +0 -0
  349. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/auth/oauth.py +0 -0
  350. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/client.py +0 -0
  351. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/elicitation.py +0 -0
  352. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/logging.py +0 -0
  353. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/messages.py +0 -0
  354. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/oauth_callback.py +0 -0
  355. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/progress.py +0 -0
  356. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/roots.py +0 -0
  357. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/sampling.py +0 -0
  358. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/client/transports.py +0 -0
  359. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/README.md +0 -0
  360. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  361. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  362. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  363. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  364. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/component_manager/README.md +0 -0
  365. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/component_manager/__init__.py +0 -0
  366. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/component_manager/component_manager.py +0 -0
  367. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/component_manager/component_service.py +0 -0
  368. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/component_manager/example.py +0 -0
  369. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/mcp_mixin/README.md +0 -0
  370. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  371. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/mcp_mixin/example.py +0 -0
  372. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -0
  373. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/exceptions.py +0 -0
  374. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/sampling/__init__.py +0 -0
  375. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/sampling/handlers/__init__.py +0 -0
  376. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/sampling/handlers/base.py +0 -0
  377. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/sampling/handlers/openai.py +0 -0
  378. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/server/openapi/README.md +0 -0
  379. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/server/openapi/__init__.py +0 -0
  380. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/server/openapi/components.py +0 -0
  381. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/server/openapi/routing.py +0 -0
  382. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/server/openapi/server.py +0 -0
  383. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/README.md +0 -0
  384. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/__init__.py +0 -0
  385. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/director.py +0 -0
  386. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/formatters.py +0 -0
  387. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/json_schema_converter.py +0 -0
  388. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/models.py +0 -0
  389. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/parser.py +0 -0
  390. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/experimental/utilities/openapi/schemas.py +0 -0
  391. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/mcp_config.py +0 -0
  392. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/prompts/__init__.py +0 -0
  393. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/prompts/prompt.py +0 -0
  394. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/prompts/prompt_manager.py +0 -0
  395. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/py.typed +0 -0
  396. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/resources/__init__.py +0 -0
  397. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/resources/resource.py +0 -0
  398. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/resources/resource_manager.py +0 -0
  399. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/resources/template.py +0 -0
  400. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/resources/types.py +0 -0
  401. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/__init__.py +0 -0
  402. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/__init__.py +0 -0
  403. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/auth.py +0 -0
  404. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/jwt_issuer.py +0 -0
  405. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/oidc_proxy.py +0 -0
  406. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/__init__.py +0 -0
  407. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/azure.py +0 -0
  408. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/bearer.py +0 -0
  409. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/descope.py +0 -0
  410. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/in_memory.py +0 -0
  411. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/introspection.py +0 -0
  412. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/jwt.py +0 -0
  413. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/scalekit.py +0 -0
  414. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/providers/supabase.py +0 -0
  415. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/auth/redirect_validation.py +0 -0
  416. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/context.py +0 -0
  417. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/dependencies.py +0 -0
  418. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/elicitation.py +0 -0
  419. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/low_level.py +0 -0
  420. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/middleware/__init__.py +0 -0
  421. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/middleware/caching.py +0 -0
  422. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/middleware/error_handling.py +0 -0
  423. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/middleware/logging.py +0 -0
  424. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/middleware/middleware.py +0 -0
  425. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/middleware/rate_limiting.py +0 -0
  426. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/middleware/timing.py +0 -0
  427. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/openapi.py +0 -0
  428. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/proxy.py +0 -0
  429. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/sampling/handler.py +0 -0
  430. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/server/server.py +0 -0
  431. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/settings.py +0 -0
  432. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/tools/__init__.py +0 -0
  433. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/tools/tool.py +0 -0
  434. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/tools/tool_manager.py +0 -0
  435. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/tools/tool_transform.py +0 -0
  436. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/__init__.py +0 -0
  437. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/auth.py +0 -0
  438. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/components.py +0 -0
  439. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/exceptions.py +0 -0
  440. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/http.py +0 -0
  441. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/inspect.py +0 -0
  442. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/json_schema.py +0 -0
  443. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/json_schema_type.py +0 -0
  444. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/logging.py +0 -0
  445. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_config.py +0 -0
  446. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  447. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  448. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  449. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  450. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  451. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -0
  452. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  453. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  454. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  455. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  456. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/openapi.py +0 -0
  457. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/tests.py +0 -0
  458. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/types.py +0 -0
  459. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/src/fastmcp/utilities/ui.py +0 -0
  460. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/__init__.py +0 -0
  461. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/__init__.py +0 -0
  462. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_cli.py +0 -0
  463. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_config.py +0 -0
  464. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_cursor.py +0 -0
  465. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_install.py +0 -0
  466. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_mcp_server_config_integration.py +0 -0
  467. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_mcp_server_config_schema.py +0 -0
  468. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_project_prepare.py +0 -0
  469. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_run.py +0 -0
  470. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_run_config.py +0 -0
  471. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_server_args.py +0 -0
  472. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_shared.py +0 -0
  473. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/cli/test_with_argv.py +0 -0
  474. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/__init__.py +0 -0
  475. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/auth/__init__.py +0 -0
  476. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/auth/test_oauth_client.py +0 -0
  477. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_client.py +0 -0
  478. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_elicitation.py +0 -0
  479. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_logs.py +0 -0
  480. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_notifications.py +0 -0
  481. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_oauth_callback_xss.py +0 -0
  482. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_openapi_experimental.py +0 -0
  483. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_openapi_legacy.py +0 -0
  484. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_progress.py +0 -0
  485. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_roots.py +0 -0
  486. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_sampling.py +0 -0
  487. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_sse.py +0 -0
  488. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_stdio.py +0 -0
  489. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/test_streamable_http.py +0 -0
  490. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/transports/__init__.py +0 -0
  491. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/client/transports/test_uv_transport.py +0 -0
  492. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/conftest.py +0 -0
  493. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/contrib/__init__.py +0 -0
  494. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/contrib/test_bulk_tool_caller.py +0 -0
  495. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/contrib/test_component_manager.py +0 -0
  496. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/contrib/test_mcp_mixin.py +0 -0
  497. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/__init__.py +0 -0
  498. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_bearer_auth_provider.py +0 -0
  499. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_dependencies.py +0 -0
  500. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_deprecated.py +0 -0
  501. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_mount_import_arg_order.py +0 -0
  502. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_mount_separators.py +0 -0
  503. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_output_schema_false.py +0 -0
  504. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_proxy_client.py +0 -0
  505. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_resource_prefixes.py +0 -0
  506. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_route_type_ignore.py +0 -0
  507. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/deprecated/test_settings.py +0 -0
  508. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/README.md +0 -0
  509. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/__init__.py +0 -0
  510. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/README.md +0 -0
  511. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/__init__.py +0 -0
  512. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/conftest.py +0 -0
  513. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/__init__.py +0 -0
  514. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/__init__.py +0 -0
  515. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_comprehensive.py +0 -0
  516. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_deepobject_style.py +0 -0
  517. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_end_to_end_compatibility.py +0 -0
  518. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_openapi_features.py +0 -0
  519. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_openapi_performance.py +0 -0
  520. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_parameter_collisions.py +0 -0
  521. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_performance_comparison.py +0 -0
  522. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/server/openapi/test_server.py +0 -0
  523. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/__init__.py +0 -0
  524. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/__init__.py +0 -0
  525. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/conftest.py +0 -0
  526. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_allof_requestbody.py +0 -0
  527. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_direct_array_schemas.py +0 -0
  528. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_director.py +0 -0
  529. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_legacy_compatibility.py +0 -0
  530. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_models.py +0 -0
  531. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_nullable_fields.py +0 -0
  532. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_parser.py +0 -0
  533. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_schemas.py +0 -0
  534. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/openapi_parser/utilities/openapi/test_transitive_references.py +0 -0
  535. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/experimental/sampling/test_openai_handler.py +0 -0
  536. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/integration_tests/__init__.py +0 -0
  537. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/integration_tests/auth/__init__.py +0 -0
  538. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/integration_tests/auth/test_github_provider_integration.py +0 -0
  539. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/integration_tests/conftest.py +0 -0
  540. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/integration_tests/test_github_mcp_remote.py +0 -0
  541. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/prompts/__init__.py +0 -0
  542. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/prompts/test_prompt.py +0 -0
  543. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/prompts/test_prompt_manager.py +0 -0
  544. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/resources/__init__.py +0 -0
  545. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/resources/test_file_resources.py +0 -0
  546. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/resources/test_function_resources.py +0 -0
  547. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/resources/test_resource_manager.py +0 -0
  548. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/resources/test_resource_template.py +0 -0
  549. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/resources/test_resource_template_meta.py +0 -0
  550. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/resources/test_resources.py +0 -0
  551. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/__init__.py +0 -0
  552. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/__init__.py +0 -0
  553. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/__init__.py +0 -0
  554. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_auth0.py +0 -0
  555. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_aws.py +0 -0
  556. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_azure.py +0 -0
  557. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_descope.py +0 -0
  558. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_github.py +0 -0
  559. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_google.py +0 -0
  560. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_introspection.py +0 -0
  561. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_scalekit.py +0 -0
  562. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_supabase.py +0 -0
  563. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/providers/test_workos.py +0 -0
  564. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_auth_provider.py +0 -0
  565. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_jwt_issuer.py +0 -0
  566. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_jwt_provider.py +0 -0
  567. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_oauth_consent_flow.py +0 -0
  568. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_oauth_mounting.py +0 -0
  569. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_oauth_proxy.py +0 -0
  570. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_oauth_proxy_redirect_validation.py +0 -0
  571. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_oauth_proxy_storage.py +0 -0
  572. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_oidc_proxy.py +0 -0
  573. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_redirect_validation.py +0 -0
  574. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_remote_auth_provider.py +0 -0
  575. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/auth/test_static_token_verifier.py +0 -0
  576. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/http/__init__.py +0 -0
  577. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/http/test_bearer_auth_backend.py +0 -0
  578. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/http/test_custom_routes.py +0 -0
  579. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/http/test_http_dependencies.py +0 -0
  580. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/http/test_http_middleware.py +0 -0
  581. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/__init__.py +0 -0
  582. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/test_caching.py +0 -0
  583. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/test_error_handling.py +0 -0
  584. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/test_initialization_middleware.py +0 -0
  585. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/test_logging.py +0 -0
  586. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/test_middleware.py +0 -0
  587. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/test_rate_limiting.py +0 -0
  588. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/middleware/test_timing.py +0 -0
  589. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/__init__.py +0 -0
  590. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/conftest.py +0 -0
  591. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_advanced_behavior.py +0 -0
  592. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_basic_functionality.py +0 -0
  593. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_configuration.py +0 -0
  594. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_deepobject_style.py +0 -0
  595. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_description_propagation.py +0 -0
  596. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_explode_integration.py +0 -0
  597. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_openapi_compatibility.py +0 -0
  598. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_openapi_path_parameters.py +0 -0
  599. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_optional_parameters.py +0 -0
  600. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_parameter_collisions.py +0 -0
  601. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/openapi/test_route_map_fn.py +0 -0
  602. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/proxy/__init__.py +0 -0
  603. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/proxy/test_proxy_client.py +0 -0
  604. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/proxy/test_proxy_server.py +0 -0
  605. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/proxy/test_stateful_proxy_client.py +0 -0
  606. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_app_state.py +0 -0
  607. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_auth_integration.py +0 -0
  608. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_context.py +0 -0
  609. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_experimental_openapi_feature_flag.py +0 -0
  610. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_file_server.py +0 -0
  611. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_icons.py +0 -0
  612. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_import_server.py +0 -0
  613. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_input_validation.py +0 -0
  614. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_log_level.py +0 -0
  615. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_logging.py +0 -0
  616. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_mount.py +0 -0
  617. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_resource_prefix_formats.py +0 -0
  618. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_run_server.py +0 -0
  619. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_server.py +0 -0
  620. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_server_interactions.py +0 -0
  621. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_server_lifespan.py +0 -0
  622. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_streamable_http_no_redirect.py +0 -0
  623. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_tool_annotations.py +0 -0
  624. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_tool_exclude_args.py +0 -0
  625. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/server/test_tool_transformation.py +0 -0
  626. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/test_examples.py +0 -0
  627. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/test_mcp_config.py +0 -0
  628. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/tools/__init__.py +0 -0
  629. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/tools/test_tool.py +0 -0
  630. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/tools/test_tool_future_annotations.py +0 -0
  631. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/tools/test_tool_manager.py +0 -0
  632. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/tools/test_tool_transform.py +0 -0
  633. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/__init__.py +0 -0
  634. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/openapi/__init__.py +0 -0
  635. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/openapi/conftest.py +0 -0
  636. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/openapi/test_nullable_fields.py +0 -0
  637. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/openapi/test_openapi.py +0 -0
  638. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/openapi/test_openapi_advanced.py +0 -0
  639. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/openapi/test_openapi_fastapi.py +0 -0
  640. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/openapi/test_openapi_output_schemas.py +0 -0
  641. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_cli.py +0 -0
  642. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_components.py +0 -0
  643. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_inspect.py +0 -0
  644. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_json_schema.py +0 -0
  645. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_json_schema_type.py +0 -0
  646. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_logging.py +0 -0
  647. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_tests.py +0 -0
  648. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_typeadapter.py +0 -0
  649. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/tests/utilities/test_types.py +0 -0
  650. {fastmcp-2.13.0rc1 → fastmcp-2.13.0rc2}/uv.lock +0 -0
@@ -80,6 +80,7 @@ jobs:
80
80
  bot_name: "Marvin Context Protocol"
81
81
  prompt: ${{ steps.dedupe-prompt.outputs.PROMPT }}
82
82
  anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY_FOR_CI }}
83
+ allowed_non_write_users: "*"
83
84
  claude_args: |
84
85
  --allowedTools Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh api:*),Bash(gh issue comment:*),Task
85
86
  --mcp-config /tmp/mcp-config/mcp-servers.json
@@ -131,7 +131,7 @@ jobs:
131
131
  bot_name: "Marvin Context Protocol"
132
132
  prompt: ${{ steps.triage-prompt.outputs.PROMPT }}
133
133
  anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY_FOR_CI }}
134
- allowed_non_write_users: "*" # Required for issue triage workflow, if users without repo write access create issues
134
+ allowed_non_write_users: "*"
135
135
  claude_args: |
136
136
  --allowedTools Bash(gh label list),mcp__github__get_issue,mcp__github__get_issue_comments,mcp__github__update_issue,mcp__github__get_pull_request_files
137
137
  settings: |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastmcp
3
- Version: 2.13.0rc1
3
+ Version: 2.13.0rc2
4
4
  Summary: The fast, Pythonic way to build MCP servers and clients.
5
5
  Project-URL: Homepage, https://gofastmcp.com
6
6
  Project-URL: Repository, https://github.com/jlowin/fastmcp
@@ -4,6 +4,21 @@ icon: "list-check"
4
4
  rss: true
5
5
  ---
6
6
 
7
+ <Update label="v2.12.5" description="2025-10-17">
8
+
9
+ **[v2.12.5: Safety Pin](https://github.com/jlowin/fastmcp/releases/tag/v2.12.5)**
10
+
11
+ FastMCP 2.12.5 is a point release that pins the MCP SDK version below 1.17, which introduced a change affecting FastMCP users with auth providers mounted as part of a larger application. This ensures the `.well-known` payload appears in the expected location when using FastMCP authentication providers with composite applications.
12
+
13
+ ## What's Changed
14
+
15
+ ### Fixes 🐞
16
+ * Pin MCP SDK version below 1.17 by [@jlowin](https://github.com/jlowin) in [a1b2c3d](https://github.com/jlowin/fastmcp/commit/dab2b316ddc3883b7896a86da21cacb68da01e5c)
17
+
18
+ **Full Changelog**: [v2.12.4...v2.12.5](https://github.com/jlowin/fastmcp/compare/v2.12.4...v2.12.5)
19
+
20
+ </Update>
21
+
7
22
  <Update label="v2.12.4" description="2025-09-26">
8
23
 
9
24
  **[v2.12.4: OIDC What You Did There](https://github.com/jlowin/fastmcp/releases/tag/v2.12.4)**
@@ -3,7 +3,6 @@ title: User Elicitation
3
3
  sidebarTitle: Elicitation
4
4
  description: Handle server-initiated user input requests with structured schemas.
5
5
  icon: message-question
6
- tag: NEW
7
6
  ---
8
7
 
9
8
  import { VersionBadge } from "/snippets/version-badge.mdx";
@@ -145,6 +145,59 @@ middleware = [
145
145
  http_app = mcp.http_app(middleware=middleware)
146
146
  ```
147
147
 
148
+ ### CORS for Browser-Based Clients
149
+
150
+ <Tip>
151
+ Most MCP clients, including those that you access through a browser like ChatGPT or Claude, don't need CORS configuration. Only enable CORS if you're working with an MCP client that connects directly from a browser, such as debugging tools or inspectors.
152
+ </Tip>
153
+
154
+ CORS (Cross-Origin Resource Sharing) is needed when JavaScript running in a web browser connects directly to your MCP server. This is different from using an LLM through a browser—in that case, the browser connects to the LLM service, and the LLM service connects to your MCP server (no CORS needed).
155
+
156
+ Browser-based MCP clients that need CORS include:
157
+
158
+ - **MCP Inspector** - Browser-based debugging tool for testing MCP servers
159
+ - **Custom browser-based MCP clients** - If you're building a web app that directly connects to MCP servers
160
+
161
+ For these scenarios, add CORS middleware with the specific headers required for MCP protocol:
162
+
163
+ ```python
164
+ from fastmcp import FastMCP
165
+ from starlette.middleware import Middleware
166
+ from starlette.middleware.cors import CORSMiddleware
167
+
168
+ mcp = FastMCP("MyServer")
169
+
170
+ # Configure CORS for browser-based clients
171
+ middleware = [
172
+ Middleware(
173
+ CORSMiddleware,
174
+ allow_origins=["*"], # Allow all origins; use specific origins for security
175
+ allow_methods=["GET", "POST", "DELETE", "OPTIONS"],
176
+ allow_headers=[
177
+ "mcp-protocol-version",
178
+ "mcp-session-id",
179
+ "Authorization",
180
+ "Content-Type",
181
+ ],
182
+ expose_headers=["mcp-session-id"],
183
+ )
184
+ ]
185
+
186
+ app = mcp.http_app(middleware=middleware)
187
+ ```
188
+
189
+ **Key configuration details:**
190
+
191
+ - **`allow_origins`**: Specify exact origins (e.g., `["http://localhost:3000"]`) rather than `["*"]` for production deployments
192
+ - **`allow_headers`**: Must include `mcp-protocol-version`, `mcp-session-id`, and `Authorization` (for authenticated servers)
193
+ - **`expose_headers`**: Must include `mcp-session-id` so JavaScript can read the session ID from responses and send it in subsequent requests
194
+
195
+ Without `expose_headers=["mcp-session-id"]`, browsers will receive the session ID but JavaScript won't be able to access it, causing session management to fail.
196
+
197
+ <Warning>
198
+ **Production Security**: Never use `allow_origins=["*"]` in production. Specify the exact origins of your browser-based clients. Using wildcards exposes your server to unauthorized access from any website.
199
+ </Warning>
200
+
148
201
  ## Integration with Web Frameworks
149
202
 
150
203
  If you already have a web application running, you can add MCP capabilities by mounting a FastMCP server as a sub-application. This allows you to expose MCP tools alongside your existing API endpoints, sharing the same domain and infrastructure. The MCP server becomes just another route in your application, making it easy to manage and deploy.
@@ -280,6 +333,14 @@ OAuth specifications (RFC 8414 and RFC 9728) require discovery metadata to be ac
280
333
  Follow the configuration instructions below to set up mounting correctly.
281
334
  </Warning>
282
335
 
336
+ <Warning>
337
+ **CORS Middleware Conflicts:**
338
+
339
+ If you're integrating FastMCP into an existing application with its own CORS middleware, be aware that layering CORS middleware can cause conflicts (such as 404 errors on `.well-known` routes or OPTIONS requests).
340
+
341
+ FastMCP and the MCP SDK already handle CORS for OAuth routes. If you need CORS on your own application routes, consider using the sub-app pattern: mount FastMCP and your routes as separate apps, each with their own middleware, rather than adding application-wide CORS middleware.
342
+ </Warning>
343
+
283
344
  ### Route Types
284
345
 
285
346
  OAuth-protected MCP servers expose two categories of routes:
@@ -3,6 +3,7 @@ title: Upgrade Guide
3
3
  sidebarTitle: Upgrade Guide
4
4
  description: Migration instructions for upgrading between FastMCP versions
5
5
  icon: up
6
+ tag: NEW
6
7
  ---
7
8
 
8
9
  This guide provides migration instructions for breaking changes and major updates when upgrading between FastMCP versions.
@@ -19,11 +19,12 @@
19
19
  "light": "#4cc9f0",
20
20
  "primary": "#2d00f7"
21
21
  },
22
+ "fonts": {
23
+ "heading": { "family": "Google Sans" },
24
+ "body": { "family": "BlinkMacSystemFont" }
25
+ },
22
26
  "contextual": {
23
- "options": [
24
- "copy",
25
- "view"
26
- ]
27
+ "options": ["copy", "view"]
27
28
  },
28
29
  "description": "The fast, Pythonic way to build MCP servers and clients.",
29
30
  "errors": {
@@ -107,15 +108,16 @@
107
108
  "group": "Advanced Features",
108
109
  "icon": "stars",
109
110
  "pages": [
110
- "servers/icons",
111
- "servers/context",
112
- "servers/proxy",
113
111
  "servers/composition",
112
+ "servers/context",
114
113
  "servers/elicitation",
114
+ "servers/icons",
115
115
  "servers/logging",
116
+ "servers/middleware",
116
117
  "servers/progress",
118
+ "servers/proxy",
117
119
  "servers/sampling",
118
- "servers/middleware"
120
+ "servers/storage-backends"
119
121
  ]
120
122
  },
121
123
  {
@@ -148,10 +150,7 @@
148
150
  {
149
151
  "group": "Essentials",
150
152
  "icon": "cube",
151
- "pages": [
152
- "clients/client",
153
- "clients/transports"
154
- ]
153
+ "pages": ["clients/client", "clients/transports"]
155
154
  },
156
155
  {
157
156
  "group": "Core Operations",
@@ -177,10 +176,7 @@
177
176
  {
178
177
  "group": "Authentication",
179
178
  "icon": "user-shield",
180
- "pages": [
181
- "clients/auth/oauth",
182
- "clients/auth/bearer"
183
- ]
179
+ "pages": ["clients/auth/oauth", "clients/auth/bearer"]
184
180
  }
185
181
  ]
186
182
  },
@@ -234,10 +230,7 @@
234
230
  {
235
231
  "group": "API Integration",
236
232
  "icon": "globe",
237
- "pages": [
238
- "integrations/fastapi",
239
- "integrations/openapi"
240
- ]
233
+ "pages": ["integrations/fastapi", "integrations/openapi"]
241
234
  }
242
235
  ]
243
236
  },
@@ -472,5 +465,13 @@
472
465
  "thumbnails": {
473
466
  "appearance": "light",
474
467
  "background": "/assets/brand/thumbnail-background.png"
468
+ },
469
+ "styling": {
470
+ "codeblocks": {
471
+ "theme": {
472
+ "light": "snazzy-light",
473
+ "dark": "dark-plus"
474
+ }
475
+ }
475
476
  }
476
477
  }
@@ -3,7 +3,6 @@ title: "Welcome to FastMCP 2.0!"
3
3
  sidebarTitle: "Welcome!"
4
4
  description: The fast, Pythonic way to build MCP servers and clients.
5
5
  icon: hand-wave
6
- mode: wide
7
6
  ---
8
7
  <img
9
8
  src="/assets/brand/f-watercolor-waves.png"
@@ -86,21 +86,19 @@ Set up AWS Cognito user pool with an app client to get the credentials needed fo
86
86
  </Tip>
87
87
  </Step>
88
88
 
89
- <Step title="Pick Up AWS Cognito Domain">
90
- Navigate to **"Branding" "Domain"** in the side navigation to find or configure Your AWS Cognito domain:
89
+ <Step title="Configure Resource Server">
90
+ AWS Cognito requires a resource server entry to support OAuth with protected resources. Without this, token exchange will fail with an `invalid_grant` error.
91
91
 
92
- **Option 1: Use Auto-Generated Domain**
93
- - If AWS has already created a domain automatically, note the **domain prefix** (the part before `.auth.region.amazoncognito.com`)
94
- - This prefix is what you'll use in your FastMCP configuration
92
+ Navigate to **"Branding" "Domain"** in the side navigation, then:
95
93
 
96
- **Option 2: Create a Custom Domain Prefix**
97
- - If no domain exists or you want a better name, delete the existing domain and create a new one using the **"Actions"** menu
98
- - Under **"Domain"** **"Cognito domain"** in the **"Create Cognito domain"** dialog, enter a meaningful prefix (e.g., `my-app`) that is available in the AWS region you are in
99
- - Just note the **domain prefix** you entered (e.g., `my-fastmcp-app`) - this is what you'll use in your FastMCP configuration
94
+ 1. Click **"Create resource server"**
95
+ 2. **Resource server name**: Enter a descriptive name (e.g., `My MCP Server`)
96
+ 3. **Resource server identifier**: Enter your MCP endpoint URL exactly as it will be accessed (e.g., `http://localhost:8000/mcp` for development, or `https://your-server.com/mcp` for production)
97
+ 4. Click **"Create resource server"**
100
98
 
101
- <Info>
102
- The FastMCP AWS Cognito provider automatically constructs the full domain from your prefix and region, simplifying configuration.
103
- </Info>
99
+ <Warning>
100
+ The resource server identifier must exactly match your `base_url + mcp_path`. For the default configuration with `base_url="http://localhost:8000"` and `path="/mcp"`, use `http://localhost:8000/mcp`.
101
+ </Warning>
104
102
  </Step>
105
103
 
106
104
  <Step title="Save Your Credentials">
@@ -109,7 +107,6 @@ Set up AWS Cognito user pool with an app client to get the credentials needed fo
109
107
  - **User Pool ID**: Format like `eu-central-1_XXXXXXXXX`
110
108
  - **Client ID**: Your application's client identifier
111
109
  - **Client Secret**: Generated client secret (keep secure)
112
- - **Domain Prefix**: The prefix of Your AWS Cognito domain
113
110
  - **AWS Region**: Where Your AWS Cognito user pool is located
114
111
 
115
112
  <Tip>
@@ -407,6 +407,12 @@ app.mount("/mcp", mcp.http_app()) # Session manager won't initialize
407
407
 
408
408
  If you're mounting an authenticated MCP server under a path prefix, see [Mounting Authenticated Servers](/deployment/http#mounting-authenticated-servers) for important OAuth routing considerations.
409
409
 
410
+ ### CORS Middleware
411
+
412
+ If your FastAPI app uses `CORSMiddleware` and you're mounting an OAuth-protected FastMCP server, avoid adding application-wide CORS middleware. FastMCP and the MCP SDK already handle CORS for OAuth routes, and layering CORS middleware can cause conflicts (such as 404 errors on `.well-known` routes or OPTIONS requests).
413
+
414
+ If you need CORS on your own FastAPI routes, use the sub-app pattern: mount your API and FastMCP as separate apps, each with their own middleware, rather than adding top-level `CORSMiddleware` to the combined application.
415
+
410
416
  ### Combining Lifespans
411
417
 
412
418
  If your FastAPI app already has a lifespan (for database connections, startup tasks, etc.), you can't simply replace it with the MCP lifespan. Instead, you need to create a new lifespan function that manages both contexts. This ensures that both your app's initialization logic and the MCP server's session manager run properly:
@@ -7,7 +7,7 @@ sidebarTitle: oauth
7
7
 
8
8
  ## Functions
9
9
 
10
- ### `check_if_auth_required` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L43" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
10
+ ### `check_if_auth_required` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L42" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
11
11
 
12
12
  ```python
13
13
  check_if_auth_required(mcp_url: str, httpx_kwargs: dict[str, Any] | None = None) -> bool
@@ -22,47 +22,47 @@ Check if the MCP endpoint requires authentication by making a test request.
22
22
 
23
23
  ## Classes
24
24
 
25
- ### `ClientNotFoundError` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L37" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
25
+ ### `ClientNotFoundError` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L36" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
26
26
 
27
27
 
28
28
  Raised when OAuth client credentials are not found on the server.
29
29
 
30
30
 
31
- ### `TokenStorageAdapter` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L73" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
31
+ ### `TokenStorageAdapter` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L72" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
32
32
 
33
33
  **Methods:**
34
34
 
35
- #### `clear` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L101" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
35
+ #### `clear` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L100" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
36
36
 
37
37
  ```python
38
38
  clear(self) -> None
39
39
  ```
40
40
 
41
- #### `get_tokens` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L106" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
41
+ #### `get_tokens` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L105" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
42
42
 
43
43
  ```python
44
44
  get_tokens(self) -> OAuthToken | None
45
45
  ```
46
46
 
47
- #### `set_tokens` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L110" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
47
+ #### `set_tokens` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L109" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
48
48
 
49
49
  ```python
50
50
  set_tokens(self, tokens: OAuthToken) -> None
51
51
  ```
52
52
 
53
- #### `get_client_info` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L118" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
53
+ #### `get_client_info` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L117" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
54
54
 
55
55
  ```python
56
56
  get_client_info(self) -> OAuthClientInformationFull | None
57
57
  ```
58
58
 
59
- #### `set_client_info` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L124" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
59
+ #### `set_client_info` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L123" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
60
60
 
61
61
  ```python
62
62
  set_client_info(self, client_info: OAuthClientInformationFull) -> None
63
63
  ```
64
64
 
65
- ### `OAuth` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L137" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
65
+ ### `OAuth` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L136" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
66
66
 
67
67
 
68
68
  OAuth client provider for MCP servers with browser-based authentication.
@@ -73,7 +73,7 @@ a browser for user authorization and running a local callback server.
73
73
 
74
74
  **Methods:**
75
75
 
76
- #### `redirect_handler` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L227" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
76
+ #### `redirect_handler` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L226" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
77
77
 
78
78
  ```python
79
79
  redirect_handler(self, authorization_url: str) -> None
@@ -82,7 +82,7 @@ redirect_handler(self, authorization_url: str) -> None
82
82
  Open browser for authorization, with pre-flight check for invalid client.
83
83
 
84
84
 
85
- #### `callback_handler` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L248" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
85
+ #### `callback_handler` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L247" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
86
86
 
87
87
  ```python
88
88
  callback_handler(self) -> tuple[str, str | None]
@@ -91,7 +91,7 @@ callback_handler(self) -> tuple[str, str | None]
91
91
  Handle OAuth callback and return (auth_code, state).
92
92
 
93
93
 
94
- #### `async_auth_flow` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L281" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
94
+ #### `async_auth_flow` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/auth/oauth.py#L284" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
95
95
 
96
96
  ```python
97
97
  async_auth_flow(self, request: httpx.Request) -> AsyncGenerator[httpx.Request, httpx.Response]
@@ -25,10 +25,10 @@ create_callback_html(message: str, is_success: bool = True, title: str = 'FastMC
25
25
  Create a styled HTML response for OAuth callbacks.
26
26
 
27
27
 
28
- ### `create_oauth_callback_server` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/oauth_callback.py#L90" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
28
+ ### `create_oauth_callback_server` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/oauth_callback.py#L99" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
29
29
 
30
30
  ```python
31
- create_oauth_callback_server(port: int, callback_path: str = '/callback', server_url: str | None = None, response_future: asyncio.Future | None = None) -> Server
31
+ create_oauth_callback_server(port: int, callback_path: str = '/callback', server_url: str | None = None, result_container: OAuthCallbackResult | None = None, result_ready: anyio.Event | None = None) -> Server
32
32
  ```
33
33
 
34
34
 
@@ -38,7 +38,8 @@ Create an OAuth callback server.
38
38
  - `port`: The port to run the server on
39
39
  - `callback_path`: The path to listen for OAuth redirects on
40
40
  - `server_url`: Optional server URL to display in success messages
41
- - `response_future`: Optional future to resolve when OAuth callback is received
41
+ - `result_container`: Optional container to store callback results
42
+ - `result_ready`: Optional event to signal when callback is received
42
43
 
43
44
  **Returns:**
44
45
  - Configured uvicorn Server instance (not yet running)
@@ -61,3 +62,9 @@ from_dict(cls, data: dict[str, str]) -> CallbackResponse
61
62
  ```python
62
63
  to_dict(self) -> dict[str, str]
63
64
  ```
65
+
66
+ ### `OAuthCallbackResult` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/client/oauth_callback.py#L91" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
67
+
68
+
69
+ Container for OAuth callback results, used with anyio.Event for async coordination.
70
+