fastmcp 2.14.5__tar.gz → 3.0.0b1__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 (1451) hide show
  1. fastmcp-3.0.0b1/.claude/skills/code-review/SKILL.md +94 -0
  2. fastmcp-3.0.0b1/.claude/skills/python-tests/SKILL.md +220 -0
  3. fastmcp-3.0.0b1/.cursor/rules/core-mcp-objects.mdc +13 -0
  4. fastmcp-3.0.0b1/.github/workflows/martian-issue-triage.yml +176 -0
  5. fastmcp-3.0.0b1/.github/workflows/martian-test-failure.yml +185 -0
  6. fastmcp-3.0.0b1/.github/workflows/marvin-dedupe-issues.yml +95 -0
  7. fastmcp-3.0.0b1/.github/workflows/marvin-label-triage.yml +147 -0
  8. fastmcp-3.0.0b1/.github/workflows/marvin.yml +81 -0
  9. fastmcp-3.0.0b1/.github/workflows/update-config-schema.yml +91 -0
  10. fastmcp-3.0.0b1/.github/workflows/update-sdk-docs.yml +74 -0
  11. fastmcp-3.0.0b1/.gitignore +78 -0
  12. fastmcp-3.0.0b1/.pre-commit-config.yaml +55 -0
  13. fastmcp-3.0.0b1/AGENTS.md +114 -0
  14. fastmcp-3.0.0b1/PKG-INFO +562 -0
  15. fastmcp-3.0.0b1/README.md +515 -0
  16. fastmcp-3.0.0b1/docs/assets/brand/f-watercolor-waves-2.png +0 -0
  17. fastmcp-3.0.0b1/docs/assets/brand/f-watercolor-waves-dark-2.jpeg +0 -0
  18. fastmcp-3.0.0b1/docs/assets/brand/prefect-fastmcp.png +0 -0
  19. fastmcp-3.0.0b1/docs/changelog.mdx +2280 -0
  20. fastmcp-3.0.0b1/docs/clients/auth/oauth.mdx +131 -0
  21. fastmcp-3.0.0b1/docs/clients/client.mdx +237 -0
  22. fastmcp-3.0.0b1/docs/clients/elicitation.mdx +138 -0
  23. fastmcp-3.0.0b1/docs/clients/logging.mdx +92 -0
  24. fastmcp-3.0.0b1/docs/clients/notifications.mdx +155 -0
  25. fastmcp-3.0.0b1/docs/clients/progress.mdx +67 -0
  26. fastmcp-3.0.0b1/docs/clients/prompts.mdx +147 -0
  27. fastmcp-3.0.0b1/docs/clients/resources.mdx +110 -0
  28. fastmcp-3.0.0b1/docs/clients/roots.mdx +45 -0
  29. fastmcp-3.0.0b1/docs/clients/sampling.mdx +172 -0
  30. fastmcp-3.0.0b1/docs/clients/tasks.mdx +182 -0
  31. fastmcp-3.0.0b1/docs/clients/tools.mdx +183 -0
  32. fastmcp-3.0.0b1/docs/clients/transports.mdx +235 -0
  33. fastmcp-3.0.0b1/docs/css/style.css +59 -0
  34. fastmcp-3.0.0b1/docs/deployment/http.mdx +735 -0
  35. fastmcp-3.0.0b1/docs/deployment/running-server.mdx +286 -0
  36. fastmcp-3.0.0b1/docs/development/upgrade-guide.mdx +550 -0
  37. fastmcp-3.0.0b1/docs/development/v3-notes/auth-provider-env-vars.mdx +73 -0
  38. fastmcp-3.0.0b1/docs/development/v3-notes/v3-features.mdx +1062 -0
  39. fastmcp-3.0.0b1/docs/docs.json +866 -0
  40. fastmcp-3.0.0b1/docs/getting-started/installation.mdx +122 -0
  41. fastmcp-3.0.0b1/docs/getting-started/welcome.mdx +123 -0
  42. fastmcp-3.0.0b1/docs/integrations/auth0.mdx +195 -0
  43. fastmcp-3.0.0b1/docs/integrations/authkit.mdx +96 -0
  44. fastmcp-3.0.0b1/docs/integrations/aws-cognito.mdx +278 -0
  45. fastmcp-3.0.0b1/docs/integrations/azure.mdx +280 -0
  46. fastmcp-3.0.0b1/docs/integrations/chatgpt.mdx +156 -0
  47. fastmcp-3.0.0b1/docs/integrations/claude-desktop.mdx +299 -0
  48. fastmcp-3.0.0b1/docs/integrations/descope.mdx +113 -0
  49. fastmcp-3.0.0b1/docs/integrations/discord.mdx +183 -0
  50. fastmcp-3.0.0b1/docs/integrations/fastapi.mdx +445 -0
  51. fastmcp-3.0.0b1/docs/integrations/gemini-cli.mdx +173 -0
  52. fastmcp-3.0.0b1/docs/integrations/github.mdx +175 -0
  53. fastmcp-3.0.0b1/docs/integrations/google.mdx +189 -0
  54. fastmcp-3.0.0b1/docs/integrations/oci.mdx +248 -0
  55. fastmcp-3.0.0b1/docs/integrations/openapi.mdx +455 -0
  56. fastmcp-3.0.0b1/docs/integrations/scalekit.mdx +155 -0
  57. fastmcp-3.0.0b1/docs/integrations/supabase.mdx +111 -0
  58. fastmcp-3.0.0b1/docs/integrations/workos.mdx +200 -0
  59. fastmcp-3.0.0b1/docs/patterns/cli.mdx +581 -0
  60. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-cli-cli.mdx +129 -0
  61. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-cli-run.mdx +117 -0
  62. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-auth-oauth.mdx +104 -0
  63. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-client.mdx +286 -0
  64. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-__init__.mdx +9 -0
  65. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-prompts.mdx +119 -0
  66. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-resources.mdx +158 -0
  67. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-task_management.mdx +110 -0
  68. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-tools.mdx +141 -0
  69. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-__init__.mdx +14 -0
  70. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-handlers-__init__.mdx +8 -0
  71. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-handlers-anthropic.mdx +17 -0
  72. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-handlers-openai.mdx +17 -0
  73. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-tasks.mdx +219 -0
  74. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-telemetry.mdx +23 -0
  75. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-__init__.mdx +8 -0
  76. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-base.mdx +62 -0
  77. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-config.mdx +72 -0
  78. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-http.mdx +37 -0
  79. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-inference.mdx +56 -0
  80. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-memory.mdx +27 -0
  81. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-sse.mdx +25 -0
  82. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-stdio.mdx +79 -0
  83. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-decorators.mdx +39 -0
  84. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-dependencies.mdx +18 -0
  85. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-exceptions.mdx +71 -0
  86. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-mcp_config.mdx +188 -0
  87. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-prompts-function_prompt.mdx +106 -0
  88. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-prompts-prompt.mdx +145 -0
  89. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-function_resource.mdx +93 -0
  90. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-resource.mdx +173 -0
  91. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-template.mdx +244 -0
  92. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-types.mdx +134 -0
  93. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-auth.mdx +279 -0
  94. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-authorization.mdx +139 -0
  95. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-__init__.mdx +16 -0
  96. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-consent.mdx +28 -0
  97. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-models.mdx +104 -0
  98. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-proxy.mdx +322 -0
  99. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-ui.mdx +50 -0
  100. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-auth0.mdx +41 -0
  101. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-aws.mdx +82 -0
  102. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-azure.mdx +70 -0
  103. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-descope.mdx +60 -0
  104. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-discord.mdx +66 -0
  105. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-github.mdx +66 -0
  106. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-google.mdx +66 -0
  107. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-introspection.mdx +75 -0
  108. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-jwt.mdx +146 -0
  109. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-oci.mdx +97 -0
  110. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-scalekit.mdx +61 -0
  111. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-supabase.mdx +67 -0
  112. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-workos.mdx +102 -0
  113. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-context.mdx +644 -0
  114. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-dependencies.mdx +405 -0
  115. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-elicitation.mdx +145 -0
  116. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-http.mdx +106 -0
  117. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-lifespan.mdx +101 -0
  118. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-low_level.mdx +96 -0
  119. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-authorization.mdx +116 -0
  120. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-caching.mdx +221 -0
  121. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-middleware.mdx +112 -0
  122. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-ping.mdx +32 -0
  123. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-tool_injection.mdx +91 -0
  124. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-__init__.mdx +9 -0
  125. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-lifespan.mdx +30 -0
  126. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-mcp_operations.mdx +23 -0
  127. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-transport.mdx +131 -0
  128. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-__init__.mdx +27 -0
  129. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-components.mdx +12 -0
  130. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-routing.mdx +13 -0
  131. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-server.mdx +43 -0
  132. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-__init__.mdx +34 -0
  133. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-aggregate.mdx +83 -0
  134. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-base.mdx +306 -0
  135. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-fastmcp_provider.mdx +238 -0
  136. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-filesystem.mdx +54 -0
  137. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-filesystem_discovery.mdx +104 -0
  138. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-__init__.mdx +13 -0
  139. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-__init__.mdx +13 -0
  140. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-prompts.mdx +81 -0
  141. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-resources.mdx +77 -0
  142. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-tools.mdx +84 -0
  143. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-local_provider.mdx +125 -0
  144. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-__init__.mdx +23 -0
  145. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-components.mdx +62 -0
  146. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-provider.mdx +31 -0
  147. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-routing.mdx +23 -0
  148. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-proxy.mdx +310 -0
  149. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-__init__.mdx +32 -0
  150. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-claude_provider.mdx +25 -0
  151. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-directory_provider.mdx +31 -0
  152. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-skill_provider.mdx +109 -0
  153. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-vendor_providers.mdx +56 -0
  154. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-wrapped_provider.mdx +13 -0
  155. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-proxy.mdx +14 -0
  156. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-sampling-__init__.mdx +9 -0
  157. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-sampling-run.mdx +186 -0
  158. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-sampling-sampling_tool.mdx +76 -0
  159. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-server.mdx +893 -0
  160. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-capabilities.mdx +29 -0
  161. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-config.mdx +96 -0
  162. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-handlers.mdx +41 -0
  163. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-keys.mdx +89 -0
  164. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-requests.mdx +91 -0
  165. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-routing.mdx +37 -0
  166. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-subscriptions.mdx +38 -0
  167. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-telemetry.mdx +56 -0
  168. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-__init__.mdx +193 -0
  169. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-namespace.mdx +96 -0
  170. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-prompts_as_tools.mdx +59 -0
  171. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-resources_as_tools.mdx +59 -0
  172. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-tool_transform.mdx +40 -0
  173. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-version_filter.mdx +85 -0
  174. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-visibility.mdx +261 -0
  175. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-settings.mdx +50 -0
  176. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-telemetry.mdx +95 -0
  177. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-function_parsing.mdx +21 -0
  178. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-function_tool.mdx +108 -0
  179. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-tool.mdx +116 -0
  180. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-tool_transform.mdx +311 -0
  181. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-async_utils.mdx +44 -0
  182. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-cli.mdx +48 -0
  183. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-components.mdx +148 -0
  184. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-inspect.mdx +143 -0
  185. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-json_schema.mdx +79 -0
  186. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-json_schema_type.mdx +110 -0
  187. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-lifespan.mdx +36 -0
  188. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-logging.mdx +58 -0
  189. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-pagination.mdx +66 -0
  190. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-skills.mdx +114 -0
  191. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-tests.mdx +96 -0
  192. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-timeout.mdx +44 -0
  193. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-version_check.mdx +40 -0
  194. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-versions.mdx +194 -0
  195. fastmcp-3.0.0b1/docs/servers/auth/authentication.mdx +216 -0
  196. fastmcp-3.0.0b1/docs/servers/auth/oauth-proxy.mdx +590 -0
  197. fastmcp-3.0.0b1/docs/servers/auth/oidc-proxy.mdx +264 -0
  198. fastmcp-3.0.0b1/docs/servers/auth/remote-oauth.mdx +225 -0
  199. fastmcp-3.0.0b1/docs/servers/auth/token-verification.mdx +351 -0
  200. fastmcp-3.0.0b1/docs/servers/authorization.mdx +348 -0
  201. fastmcp-3.0.0b1/docs/servers/context.mdx +651 -0
  202. fastmcp-3.0.0b1/docs/servers/elicitation.mdx +357 -0
  203. fastmcp-3.0.0b1/docs/servers/icons.mdx +151 -0
  204. fastmcp-3.0.0b1/docs/servers/lifespan.mdx +148 -0
  205. fastmcp-3.0.0b1/docs/servers/logging.mdx +87 -0
  206. fastmcp-3.0.0b1/docs/servers/middleware.mdx +843 -0
  207. fastmcp-3.0.0b1/docs/servers/pagination.mdx +93 -0
  208. fastmcp-3.0.0b1/docs/servers/progress.mdx +51 -0
  209. fastmcp-3.0.0b1/docs/servers/prompts.mdx +459 -0
  210. fastmcp-3.0.0b1/docs/servers/providers/custom.mdx +245 -0
  211. fastmcp-3.0.0b1/docs/servers/providers/filesystem.mdx +256 -0
  212. fastmcp-3.0.0b1/docs/servers/providers/local.mdx +161 -0
  213. fastmcp-3.0.0b1/docs/servers/providers/mounting.mdx +309 -0
  214. fastmcp-3.0.0b1/docs/servers/providers/namespace.mdx +64 -0
  215. fastmcp-3.0.0b1/docs/servers/providers/namespacing.mdx +9 -0
  216. fastmcp-3.0.0b1/docs/servers/providers/overview.mdx +81 -0
  217. fastmcp-3.0.0b1/docs/servers/providers/prompts-as-tools.mdx +126 -0
  218. fastmcp-3.0.0b1/docs/servers/providers/proxy.mdx +301 -0
  219. fastmcp-3.0.0b1/docs/servers/providers/resources-as-tools.mdx +105 -0
  220. fastmcp-3.0.0b1/docs/servers/providers/skills.mdx +301 -0
  221. fastmcp-3.0.0b1/docs/servers/providers/tool-transformation.mdx +192 -0
  222. fastmcp-3.0.0b1/docs/servers/providers/transforms.mdx +174 -0
  223. fastmcp-3.0.0b1/docs/servers/resources.mdx +745 -0
  224. fastmcp-3.0.0b1/docs/servers/sampling.mdx +526 -0
  225. fastmcp-3.0.0b1/docs/servers/server.mdx +256 -0
  226. fastmcp-3.0.0b1/docs/servers/tasks.mdx +265 -0
  227. fastmcp-3.0.0b1/docs/servers/telemetry.mdx +280 -0
  228. fastmcp-3.0.0b1/docs/servers/tools.mdx +1076 -0
  229. fastmcp-3.0.0b1/docs/servers/versioning.mdx +336 -0
  230. fastmcp-3.0.0b1/docs/servers/visibility.mdx +452 -0
  231. fastmcp-3.0.0b1/docs/snippets/version-badge.mdx +7 -0
  232. fastmcp-3.0.0b1/docs/updates.mdx +413 -0
  233. fastmcp-3.0.0b1/docs/v2/changelog.mdx +2280 -0
  234. fastmcp-3.0.0b1/docs/v2/clients/auth/bearer.mdx +88 -0
  235. fastmcp-3.0.0b1/docs/v2/clients/client.mdx +340 -0
  236. fastmcp-3.0.0b1/docs/v2/clients/messages.mdx +129 -0
  237. fastmcp-3.0.0b1/docs/v2/clients/sampling.mdx +258 -0
  238. fastmcp-3.0.0b1/docs/v2/clients/tasks.mdx +138 -0
  239. fastmcp-3.0.0b1/docs/v2/clients/tools.mdx +295 -0
  240. fastmcp-3.0.0b1/docs/v2/community/showcase.mdx +65 -0
  241. fastmcp-3.0.0b1/docs/v2/deployment/fastmcp-cloud.mdx +89 -0
  242. fastmcp-3.0.0b1/docs/v2/deployment/http.mdx +736 -0
  243. fastmcp-3.0.0b1/docs/v2/deployment/running-server.mdx +258 -0
  244. fastmcp-3.0.0b1/docs/v2/deployment/server-configuration.mdx +640 -0
  245. fastmcp-3.0.0b1/docs/v2/development/contributing.mdx +187 -0
  246. fastmcp-3.0.0b1/docs/v2/development/releases.mdx +79 -0
  247. fastmcp-3.0.0b1/docs/v2/development/tests.mdx +396 -0
  248. fastmcp-3.0.0b1/docs/v2/development/upgrade-guide.mdx +153 -0
  249. fastmcp-3.0.0b1/docs/v2/getting-started/installation.mdx +100 -0
  250. fastmcp-3.0.0b1/docs/v2/getting-started/quickstart.mdx +136 -0
  251. fastmcp-3.0.0b1/docs/v2/getting-started/welcome.mdx +115 -0
  252. fastmcp-3.0.0b1/docs/v2/integrations/anthropic.mdx +228 -0
  253. fastmcp-3.0.0b1/docs/v2/integrations/auth0.mdx +277 -0
  254. fastmcp-3.0.0b1/docs/v2/integrations/authkit.mdx +133 -0
  255. fastmcp-3.0.0b1/docs/v2/integrations/aws-cognito.mdx +365 -0
  256. fastmcp-3.0.0b1/docs/v2/integrations/azure.mdx +391 -0
  257. fastmcp-3.0.0b1/docs/v2/integrations/claude-code.mdx +177 -0
  258. fastmcp-3.0.0b1/docs/v2/integrations/claude-desktop.mdx +298 -0
  259. fastmcp-3.0.0b1/docs/v2/integrations/cursor-install-mcp.png +0 -0
  260. fastmcp-3.0.0b1/docs/v2/integrations/cursor.mdx +284 -0
  261. fastmcp-3.0.0b1/docs/v2/integrations/descope.mdx +146 -0
  262. fastmcp-3.0.0b1/docs/v2/integrations/discord.mdx +255 -0
  263. fastmcp-3.0.0b1/docs/v2/integrations/eunomia-authorization.mdx +129 -0
  264. fastmcp-3.0.0b1/docs/v2/integrations/fastapi.mdx +451 -0
  265. fastmcp-3.0.0b1/docs/v2/integrations/gemini.mdx +108 -0
  266. fastmcp-3.0.0b1/docs/v2/integrations/github.mdx +253 -0
  267. fastmcp-3.0.0b1/docs/v2/integrations/google.mdx +267 -0
  268. fastmcp-3.0.0b1/docs/v2/integrations/images/authkit/enable_dcr.png +0 -0
  269. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/abac_condition_example.png +0 -0
  270. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/abac_policy_example.png +0 -0
  271. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/policy_mapping.png +0 -0
  272. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/role_assignement.png +0 -0
  273. fastmcp-3.0.0b1/docs/v2/integrations/mcp-json-configuration.mdx +422 -0
  274. fastmcp-3.0.0b1/docs/v2/integrations/oci.mdx +333 -0
  275. fastmcp-3.0.0b1/docs/v2/integrations/openai.mdx +227 -0
  276. fastmcp-3.0.0b1/docs/v2/integrations/permit.mdx +352 -0
  277. fastmcp-3.0.0b1/docs/v2/integrations/scalekit.mdx +194 -0
  278. fastmcp-3.0.0b1/docs/v2/integrations/supabase.mdx +148 -0
  279. fastmcp-3.0.0b1/docs/v2/integrations/workos.mdx +288 -0
  280. fastmcp-3.0.0b1/docs/v2/patterns/cli.mdx +577 -0
  281. fastmcp-3.0.0b1/docs/v2/patterns/contrib.mdx +45 -0
  282. fastmcp-3.0.0b1/docs/v2/patterns/testing.mdx +104 -0
  283. fastmcp-3.0.0b1/docs/v2/patterns/tool-transformation.mdx +707 -0
  284. fastmcp-3.0.0b1/docs/v2/servers/auth/authentication.mdx +266 -0
  285. fastmcp-3.0.0b1/docs/v2/servers/auth/full-oauth-server.mdx +229 -0
  286. fastmcp-3.0.0b1/docs/v2/servers/auth/oauth-proxy.mdx +594 -0
  287. fastmcp-3.0.0b1/docs/v2/servers/auth/oidc-proxy.mdx +269 -0
  288. fastmcp-3.0.0b1/docs/v2/servers/auth/remote-oauth.mdx +226 -0
  289. fastmcp-3.0.0b1/docs/v2/servers/composition.mdx +326 -0
  290. fastmcp-3.0.0b1/docs/v2/servers/context.mdx +613 -0
  291. fastmcp-3.0.0b1/docs/v2/servers/elicitation.mdx +462 -0
  292. fastmcp-3.0.0b1/docs/v2/servers/logging.mdx +249 -0
  293. fastmcp-3.0.0b1/docs/v2/servers/middleware.mdx +816 -0
  294. fastmcp-3.0.0b1/docs/v2/servers/progress.mdx +189 -0
  295. fastmcp-3.0.0b1/docs/v2/servers/prompts.mdx +353 -0
  296. fastmcp-3.0.0b1/docs/v2/servers/proxy.mdx +349 -0
  297. fastmcp-3.0.0b1/docs/v2/servers/resources.mdx +663 -0
  298. fastmcp-3.0.0b1/docs/v2/servers/sampling.mdx +488 -0
  299. fastmcp-3.0.0b1/docs/v2/servers/server.mdx +436 -0
  300. fastmcp-3.0.0b1/docs/v2/servers/storage-backends.mdx +275 -0
  301. fastmcp-3.0.0b1/docs/v2/servers/tools.mdx +986 -0
  302. fastmcp-3.0.0b1/docs/v2/tutorials/create-mcp-server.mdx +198 -0
  303. fastmcp-3.0.0b1/docs/v2/tutorials/mcp.mdx +120 -0
  304. fastmcp-3.0.0b1/docs/v2/tutorials/rest-api.mdx +203 -0
  305. fastmcp-3.0.0b1/docs/v2/updates.mdx +405 -0
  306. fastmcp-3.0.0b1/docs/v2-banner.js +39 -0
  307. fastmcp-3.0.0b1/examples/custom_tool_serializer_decorator.py +72 -0
  308. fastmcp-3.0.0b1/examples/diagnostics/client_with_tracing.py +161 -0
  309. fastmcp-3.0.0b1/examples/diagnostics/server.py +125 -0
  310. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/prompts/assistant.py +39 -0
  311. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/resources/config.py +55 -0
  312. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/tools/calculator.py +24 -0
  313. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/tools/greeting.py +28 -0
  314. fastmcp-3.0.0b1/examples/filesystem-provider/server.py +29 -0
  315. fastmcp-3.0.0b1/examples/mount_example.py +111 -0
  316. fastmcp-3.0.0b1/examples/namespace_activation/README.md +55 -0
  317. fastmcp-3.0.0b1/examples/namespace_activation/client.py +76 -0
  318. fastmcp-3.0.0b1/examples/namespace_activation/server.py +73 -0
  319. fastmcp-3.0.0b1/examples/persistent_state/README.md +51 -0
  320. fastmcp-3.0.0b1/examples/persistent_state/client.py +85 -0
  321. fastmcp-3.0.0b1/examples/persistent_state/client_stdio.py +88 -0
  322. fastmcp-3.0.0b1/examples/persistent_state/server.py +42 -0
  323. fastmcp-3.0.0b1/examples/prompts_as_tools/client.py +77 -0
  324. fastmcp-3.0.0b1/examples/prompts_as_tools/server.py +86 -0
  325. fastmcp-3.0.0b1/examples/providers/sqlite/README.md +59 -0
  326. fastmcp-3.0.0b1/examples/providers/sqlite/server.py +137 -0
  327. fastmcp-3.0.0b1/examples/providers/sqlite/setup_db.py +102 -0
  328. fastmcp-3.0.0b1/examples/resources_as_tools/client.py +52 -0
  329. fastmcp-3.0.0b1/examples/resources_as_tools/server.py +65 -0
  330. fastmcp-3.0.0b1/examples/run_with_tracing.py +59 -0
  331. fastmcp-3.0.0b1/examples/skills/README.md +104 -0
  332. fastmcp-3.0.0b1/examples/skills/client.py +66 -0
  333. fastmcp-3.0.0b1/examples/skills/download_skills.py +82 -0
  334. fastmcp-3.0.0b1/examples/skills/sample_skills/code-review/SKILL.md +40 -0
  335. fastmcp-3.0.0b1/examples/skills/sample_skills/pdf-processing/SKILL.md +28 -0
  336. fastmcp-3.0.0b1/examples/skills/sample_skills/pdf-processing/reference.md +47 -0
  337. fastmcp-3.0.0b1/examples/skills/server.py +49 -0
  338. fastmcp-3.0.0b1/examples/smart_home/src/smart_home/hub.py +31 -0
  339. fastmcp-3.0.0b1/examples/smart_home/src/smart_home/lights/server.py +318 -0
  340. fastmcp-3.0.0b1/examples/testing_demo/uv.lock +1876 -0
  341. fastmcp-3.0.0b1/examples/versioning/client_version_selection.py +81 -0
  342. fastmcp-3.0.0b1/examples/versioning/version_filters.py +91 -0
  343. fastmcp-3.0.0b1/examples/versioning/versioned_components.py +101 -0
  344. fastmcp-3.0.0b1/justfile +33 -0
  345. fastmcp-3.0.0b1/loq.toml +99 -0
  346. fastmcp-3.0.0b1/pyproject.toml +205 -0
  347. fastmcp-3.0.0b1/src/fastmcp/_vendor/__init__.py +1 -0
  348. fastmcp-3.0.0b1/src/fastmcp/_vendor/docket_di/README.md +7 -0
  349. fastmcp-3.0.0b1/src/fastmcp/_vendor/docket_di/__init__.py +163 -0
  350. fastmcp-3.0.0b1/src/fastmcp/cli/cli.py +957 -0
  351. fastmcp-3.0.0b1/src/fastmcp/cli/install/claude_code.py +240 -0
  352. fastmcp-3.0.0b1/src/fastmcp/cli/install/claude_desktop.py +210 -0
  353. fastmcp-3.0.0b1/src/fastmcp/cli/install/cursor.py +333 -0
  354. fastmcp-3.0.0b1/src/fastmcp/cli/install/gemini_cli.py +237 -0
  355. fastmcp-3.0.0b1/src/fastmcp/cli/install/mcp_json.py +191 -0
  356. fastmcp-3.0.0b1/src/fastmcp/cli/run.py +366 -0
  357. fastmcp-3.0.0b1/src/fastmcp/client/__init__.py +30 -0
  358. fastmcp-3.0.0b1/src/fastmcp/client/auth/oauth.py +329 -0
  359. fastmcp-3.0.0b1/src/fastmcp/client/client.py +848 -0
  360. fastmcp-3.0.0b1/src/fastmcp/client/elicitation.py +80 -0
  361. fastmcp-3.0.0b1/src/fastmcp/client/mixins/__init__.py +13 -0
  362. fastmcp-3.0.0b1/src/fastmcp/client/mixins/prompts.py +295 -0
  363. fastmcp-3.0.0b1/src/fastmcp/client/mixins/resources.py +325 -0
  364. fastmcp-3.0.0b1/src/fastmcp/client/mixins/task_management.py +157 -0
  365. fastmcp-3.0.0b1/src/fastmcp/client/mixins/tools.py +397 -0
  366. fastmcp-3.0.0b1/src/fastmcp/client/sampling/handlers/anthropic.py +387 -0
  367. fastmcp-3.0.0b1/src/fastmcp/client/sampling/handlers/openai.py +399 -0
  368. fastmcp-3.0.0b1/src/fastmcp/client/tasks.py +551 -0
  369. fastmcp-3.0.0b1/src/fastmcp/client/telemetry.py +47 -0
  370. fastmcp-3.0.0b1/src/fastmcp/client/transports/__init__.py +38 -0
  371. fastmcp-3.0.0b1/src/fastmcp/client/transports/base.py +82 -0
  372. fastmcp-3.0.0b1/src/fastmcp/client/transports/config.py +170 -0
  373. fastmcp-3.0.0b1/src/fastmcp/client/transports/http.py +145 -0
  374. fastmcp-3.0.0b1/src/fastmcp/client/transports/inference.py +154 -0
  375. fastmcp-3.0.0b1/src/fastmcp/client/transports/memory.py +90 -0
  376. fastmcp-3.0.0b1/src/fastmcp/client/transports/sse.py +89 -0
  377. fastmcp-3.0.0b1/src/fastmcp/client/transports/stdio.py +543 -0
  378. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/README.md +164 -0
  379. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/__init__.py +3 -0
  380. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/component_manager.py +121 -0
  381. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/example.py +59 -0
  382. fastmcp-3.0.0b1/src/fastmcp/contrib/mcp_mixin/example.py +52 -0
  383. fastmcp-3.0.0b1/src/fastmcp/contrib/mcp_mixin/mcp_mixin.py +283 -0
  384. fastmcp-3.0.0b1/src/fastmcp/decorators.py +41 -0
  385. fastmcp-3.0.0b1/src/fastmcp/dependencies.py +36 -0
  386. fastmcp-3.0.0b1/src/fastmcp/exceptions.py +43 -0
  387. fastmcp-3.0.0b1/src/fastmcp/experimental/server/openapi/__init__.py +40 -0
  388. fastmcp-3.0.0b1/src/fastmcp/mcp_config.py +347 -0
  389. fastmcp-3.0.0b1/src/fastmcp/prompts/__init__.py +12 -0
  390. fastmcp-3.0.0b1/src/fastmcp/prompts/function_prompt.py +465 -0
  391. fastmcp-3.0.0b1/src/fastmcp/prompts/prompt.py +431 -0
  392. fastmcp-3.0.0b1/src/fastmcp/resources/__init__.py +24 -0
  393. fastmcp-3.0.0b1/src/fastmcp/resources/function_resource.py +335 -0
  394. fastmcp-3.0.0b1/src/fastmcp/resources/resource.py +450 -0
  395. fastmcp-3.0.0b1/src/fastmcp/resources/template.py +585 -0
  396. fastmcp-3.0.0b1/src/fastmcp/resources/types.py +172 -0
  397. fastmcp-3.0.0b1/src/fastmcp/server/__init__.py +6 -0
  398. fastmcp-3.0.0b1/src/fastmcp/server/auth/__init__.py +39 -0
  399. fastmcp-3.0.0b1/src/fastmcp/server/auth/auth.py +558 -0
  400. fastmcp-3.0.0b1/src/fastmcp/server/auth/authorization.py +190 -0
  401. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/__init__.py +14 -0
  402. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/consent.py +361 -0
  403. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/models.py +178 -0
  404. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/proxy.py +1528 -0
  405. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/ui.py +277 -0
  406. fastmcp-3.0.0b1/src/fastmcp/server/auth/oidc_proxy.py +419 -0
  407. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/auth0.py +123 -0
  408. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/aws.py +194 -0
  409. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/azure.py +358 -0
  410. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/descope.py +198 -0
  411. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/discord.py +247 -0
  412. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/github.py +240 -0
  413. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/google.py +278 -0
  414. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/introspection.py +262 -0
  415. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/jwt.py +527 -0
  416. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/oci.py +170 -0
  417. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/scalekit.py +200 -0
  418. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/supabase.py +164 -0
  419. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/workos.py +334 -0
  420. fastmcp-3.0.0b1/src/fastmcp/server/context.py +1109 -0
  421. fastmcp-3.0.0b1/src/fastmcp/server/dependencies.py +916 -0
  422. fastmcp-3.0.0b1/src/fastmcp/server/elicitation.py +464 -0
  423. fastmcp-3.0.0b1/src/fastmcp/server/event_store.py +177 -0
  424. fastmcp-3.0.0b1/src/fastmcp/server/http.py +376 -0
  425. fastmcp-3.0.0b1/src/fastmcp/server/lifespan.py +198 -0
  426. fastmcp-3.0.0b1/src/fastmcp/server/low_level.py +315 -0
  427. fastmcp-3.0.0b1/src/fastmcp/server/middleware/__init__.py +15 -0
  428. fastmcp-3.0.0b1/src/fastmcp/server/middleware/authorization.py +312 -0
  429. fastmcp-3.0.0b1/src/fastmcp/server/middleware/caching.py +523 -0
  430. fastmcp-3.0.0b1/src/fastmcp/server/middleware/middleware.py +205 -0
  431. fastmcp-3.0.0b1/src/fastmcp/server/middleware/ping.py +70 -0
  432. fastmcp-3.0.0b1/src/fastmcp/server/middleware/tool_injection.py +116 -0
  433. fastmcp-3.0.0b1/src/fastmcp/server/mixins/__init__.py +7 -0
  434. fastmcp-3.0.0b1/src/fastmcp/server/mixins/lifespan.py +217 -0
  435. fastmcp-3.0.0b1/src/fastmcp/server/mixins/mcp_operations.py +392 -0
  436. fastmcp-3.0.0b1/src/fastmcp/server/mixins/transport.py +342 -0
  437. fastmcp-3.0.0b1/src/fastmcp/server/openapi/__init__.py +55 -0
  438. fastmcp-3.0.0b1/src/fastmcp/server/openapi/components.py +28 -0
  439. fastmcp-3.0.0b1/src/fastmcp/server/openapi/routing.py +46 -0
  440. fastmcp-3.0.0b1/src/fastmcp/server/openapi/server.py +127 -0
  441. fastmcp-3.0.0b1/src/fastmcp/server/providers/__init__.py +71 -0
  442. fastmcp-3.0.0b1/src/fastmcp/server/providers/aggregate.py +261 -0
  443. fastmcp-3.0.0b1/src/fastmcp/server/providers/base.py +578 -0
  444. fastmcp-3.0.0b1/src/fastmcp/server/providers/fastmcp_provider.py +674 -0
  445. fastmcp-3.0.0b1/src/fastmcp/server/providers/filesystem.py +226 -0
  446. fastmcp-3.0.0b1/src/fastmcp/server/providers/filesystem_discovery.py +327 -0
  447. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/__init__.py +11 -0
  448. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/__init__.py +15 -0
  449. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/prompts.py +256 -0
  450. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/resources.py +240 -0
  451. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/tools.py +315 -0
  452. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/local_provider.py +465 -0
  453. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/__init__.py +39 -0
  454. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/components.py +332 -0
  455. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/provider.py +405 -0
  456. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/routing.py +109 -0
  457. fastmcp-3.0.0b1/src/fastmcp/server/providers/proxy.py +867 -0
  458. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/__init__.py +59 -0
  459. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/_common.py +101 -0
  460. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/claude_provider.py +44 -0
  461. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/directory_provider.py +153 -0
  462. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/skill_provider.py +432 -0
  463. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/vendor_providers.py +142 -0
  464. fastmcp-3.0.0b1/src/fastmcp/server/providers/wrapped_provider.py +140 -0
  465. fastmcp-3.0.0b1/src/fastmcp/server/proxy.py +41 -0
  466. fastmcp-3.0.0b1/src/fastmcp/server/sampling/run.py +640 -0
  467. fastmcp-3.0.0b1/src/fastmcp/server/sampling/sampling_tool.py +109 -0
  468. fastmcp-3.0.0b1/src/fastmcp/server/server.py +2144 -0
  469. fastmcp-3.0.0b1/src/fastmcp/server/tasks/__init__.py +22 -0
  470. fastmcp-3.0.0b1/src/fastmcp/server/tasks/capabilities.py +42 -0
  471. fastmcp-3.0.0b1/src/fastmcp/server/tasks/config.py +152 -0
  472. fastmcp-3.0.0b1/src/fastmcp/server/tasks/handlers.py +157 -0
  473. fastmcp-3.0.0b1/src/fastmcp/server/tasks/keys.py +91 -0
  474. fastmcp-3.0.0b1/src/fastmcp/server/tasks/requests.py +474 -0
  475. fastmcp-3.0.0b1/src/fastmcp/server/tasks/routing.py +76 -0
  476. fastmcp-3.0.0b1/src/fastmcp/server/tasks/subscriptions.py +212 -0
  477. fastmcp-3.0.0b1/src/fastmcp/server/telemetry.py +131 -0
  478. fastmcp-3.0.0b1/src/fastmcp/server/transforms/__init__.py +244 -0
  479. fastmcp-3.0.0b1/src/fastmcp/server/transforms/namespace.py +193 -0
  480. fastmcp-3.0.0b1/src/fastmcp/server/transforms/prompts_as_tools.py +175 -0
  481. fastmcp-3.0.0b1/src/fastmcp/server/transforms/resources_as_tools.py +190 -0
  482. fastmcp-3.0.0b1/src/fastmcp/server/transforms/tool_transform.py +96 -0
  483. fastmcp-3.0.0b1/src/fastmcp/server/transforms/version_filter.py +124 -0
  484. fastmcp-3.0.0b1/src/fastmcp/server/transforms/visibility.py +526 -0
  485. fastmcp-3.0.0b1/src/fastmcp/settings.py +365 -0
  486. fastmcp-3.0.0b1/src/fastmcp/telemetry.py +122 -0
  487. fastmcp-3.0.0b1/src/fastmcp/tools/__init__.py +12 -0
  488. fastmcp-3.0.0b1/src/fastmcp/tools/function_parsing.py +201 -0
  489. fastmcp-3.0.0b1/src/fastmcp/tools/function_tool.py +467 -0
  490. fastmcp-3.0.0b1/src/fastmcp/tools/tool.py +496 -0
  491. fastmcp-3.0.0b1/src/fastmcp/tools/tool_transform.py +960 -0
  492. fastmcp-3.0.0b1/src/fastmcp/utilities/async_utils.py +69 -0
  493. fastmcp-3.0.0b1/src/fastmcp/utilities/components.py +242 -0
  494. fastmcp-3.0.0b1/src/fastmcp/utilities/inspect.py +494 -0
  495. fastmcp-3.0.0b1/src/fastmcp/utilities/json_schema.py +401 -0
  496. fastmcp-3.0.0b1/src/fastmcp/utilities/json_schema_type.py +650 -0
  497. fastmcp-3.0.0b1/src/fastmcp/utilities/lifespan.py +56 -0
  498. fastmcp-3.0.0b1/src/fastmcp/utilities/logging.py +238 -0
  499. fastmcp-3.0.0b1/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +447 -0
  500. fastmcp-3.0.0b1/src/fastmcp/utilities/openapi/parser.py +821 -0
  501. fastmcp-3.0.0b1/src/fastmcp/utilities/pagination.py +80 -0
  502. fastmcp-3.0.0b1/src/fastmcp/utilities/skills.py +253 -0
  503. fastmcp-3.0.0b1/src/fastmcp/utilities/tests.py +270 -0
  504. fastmcp-3.0.0b1/src/fastmcp/utilities/timeout.py +47 -0
  505. fastmcp-3.0.0b1/src/fastmcp/utilities/types.py +496 -0
  506. fastmcp-3.0.0b1/src/fastmcp/utilities/versions.py +285 -0
  507. fastmcp-3.0.0b1/tests/cli/test_cli.py +618 -0
  508. fastmcp-3.0.0b1/tests/cli/test_config.py +461 -0
  509. fastmcp-3.0.0b1/tests/cli/test_mcp_server_config_integration.py +293 -0
  510. fastmcp-3.0.0b1/tests/cli/test_run.py +628 -0
  511. fastmcp-3.0.0b1/tests/cli/test_server_args.py +135 -0
  512. fastmcp-3.0.0b1/tests/cli/test_tasks.py +51 -0
  513. fastmcp-3.0.0b1/tests/client/auth/test_oauth_client.py +358 -0
  514. fastmcp-3.0.0b1/tests/client/client/test_auth.py +82 -0
  515. fastmcp-3.0.0b1/tests/client/client/test_client.py +719 -0
  516. fastmcp-3.0.0b1/tests/client/client/test_error_handling.py +166 -0
  517. fastmcp-3.0.0b1/tests/client/client/test_initialize.py +115 -0
  518. fastmcp-3.0.0b1/tests/client/client/test_session.py +137 -0
  519. fastmcp-3.0.0b1/tests/client/client/test_timeout.py +50 -0
  520. fastmcp-3.0.0b1/tests/client/client/test_transport.py +137 -0
  521. fastmcp-3.0.0b1/tests/client/tasks/test_client_prompt_tasks.py +102 -0
  522. fastmcp-3.0.0b1/tests/client/tasks/test_client_resource_tasks.py +107 -0
  523. fastmcp-3.0.0b1/tests/client/tasks/test_client_tool_tasks.py +87 -0
  524. fastmcp-3.0.0b1/tests/client/telemetry/test_client_tracing.py +624 -0
  525. fastmcp-3.0.0b1/tests/client/test_elicitation.py +1132 -0
  526. fastmcp-3.0.0b1/tests/client/test_notifications.py +124 -0
  527. fastmcp-3.0.0b1/tests/client/test_openapi.py +202 -0
  528. fastmcp-3.0.0b1/tests/client/test_sampling.py +1002 -0
  529. fastmcp-3.0.0b1/tests/client/test_sse.py +200 -0
  530. fastmcp-3.0.0b1/tests/client/test_stdio.py +364 -0
  531. fastmcp-3.0.0b1/tests/client/test_streamable_http.py +271 -0
  532. fastmcp-3.0.0b1/tests/client/transports/test_transports.py +42 -0
  533. fastmcp-3.0.0b1/tests/conftest.py +301 -0
  534. fastmcp-3.0.0b1/tests/contrib/test_component_manager.py +602 -0
  535. fastmcp-3.0.0b1/tests/contrib/test_mcp_mixin.py +339 -0
  536. fastmcp-3.0.0b1/tests/deprecated/__init__.py +1 -0
  537. fastmcp-3.0.0b1/tests/deprecated/conftest.py +9 -0
  538. fastmcp-3.0.0b1/tests/deprecated/openapi/test_openapi.py +170 -0
  539. fastmcp-3.0.0b1/tests/deprecated/server/__init__.py +1 -0
  540. fastmcp-3.0.0b1/tests/deprecated/server/test_include_exclude_tags.py +68 -0
  541. fastmcp-3.0.0b1/tests/deprecated/test_add_tool_transformation.py +104 -0
  542. fastmcp-3.0.0b1/tests/deprecated/test_exclude_args.py +122 -0
  543. fastmcp-3.0.0b1/tests/deprecated/test_function_component_imports.py +121 -0
  544. fastmcp-3.0.0b1/tests/deprecated/test_import_server.py +714 -0
  545. fastmcp-3.0.0b1/tests/deprecated/test_openapi_deprecations.py +78 -0
  546. fastmcp-3.0.0b1/tests/deprecated/test_settings.py +319 -0
  547. fastmcp-3.0.0b1/tests/deprecated/test_tool_serializer.py +182 -0
  548. fastmcp-3.0.0b1/tests/fs/test_discovery.py +353 -0
  549. fastmcp-3.0.0b1/tests/fs/test_provider.py +421 -0
  550. fastmcp-3.0.0b1/tests/integration_tests/auth/test_github_provider_integration.py +394 -0
  551. fastmcp-3.0.0b1/tests/integration_tests/conftest.py +72 -0
  552. fastmcp-3.0.0b1/tests/integration_tests/test_github_mcp_remote.py +123 -0
  553. fastmcp-3.0.0b1/tests/prompts/test_prompt.py +606 -0
  554. fastmcp-3.0.0b1/tests/prompts/test_standalone_decorator.py +138 -0
  555. fastmcp-3.0.0b1/tests/resources/test_file_resources.py +121 -0
  556. fastmcp-3.0.0b1/tests/resources/test_function_resources.py +334 -0
  557. fastmcp-3.0.0b1/tests/resources/test_resource_template.py +1009 -0
  558. fastmcp-3.0.0b1/tests/resources/test_resources.py +356 -0
  559. fastmcp-3.0.0b1/tests/resources/test_standalone_decorator.py +154 -0
  560. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/conftest.py +309 -0
  561. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_authorization.py +196 -0
  562. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_client_registration.py +43 -0
  563. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_config.py +210 -0
  564. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_e2e.py +240 -0
  565. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_oauth_proxy.py +69 -0
  566. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_tokens.py +495 -0
  567. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_ui.py +99 -0
  568. fastmcp-3.0.0b1/tests/server/auth/providers/test_auth0.py +98 -0
  569. fastmcp-3.0.0b1/tests/server/auth/providers/test_aws.py +107 -0
  570. fastmcp-3.0.0b1/tests/server/auth/providers/test_azure.py +809 -0
  571. fastmcp-3.0.0b1/tests/server/auth/providers/test_descope.py +238 -0
  572. fastmcp-3.0.0b1/tests/server/auth/providers/test_discord.py +70 -0
  573. fastmcp-3.0.0b1/tests/server/auth/providers/test_github.py +129 -0
  574. fastmcp-3.0.0b1/tests/server/auth/providers/test_google.py +118 -0
  575. fastmcp-3.0.0b1/tests/server/auth/providers/test_introspection.py +551 -0
  576. fastmcp-3.0.0b1/tests/server/auth/providers/test_scalekit.py +220 -0
  577. fastmcp-3.0.0b1/tests/server/auth/providers/test_supabase.py +202 -0
  578. fastmcp-3.0.0b1/tests/server/auth/providers/test_workos.py +152 -0
  579. fastmcp-3.0.0b1/tests/server/auth/test_authorization.py +613 -0
  580. fastmcp-3.0.0b1/tests/server/auth/test_jwt_provider.py +1101 -0
  581. fastmcp-3.0.0b1/tests/server/auth/test_oauth_consent_flow.py +1024 -0
  582. fastmcp-3.0.0b1/tests/server/auth/test_oauth_proxy_redirect_validation.py +202 -0
  583. fastmcp-3.0.0b1/tests/server/http/test_bearer_auth_backend.py +179 -0
  584. fastmcp-3.0.0b1/tests/server/http/test_http_dependencies.py +128 -0
  585. fastmcp-3.0.0b1/tests/server/middleware/test_caching.py +617 -0
  586. fastmcp-3.0.0b1/tests/server/middleware/test_error_handling.py +630 -0
  587. fastmcp-3.0.0b1/tests/server/middleware/test_initialization_middleware.py +432 -0
  588. fastmcp-3.0.0b1/tests/server/middleware/test_logging.py +654 -0
  589. fastmcp-3.0.0b1/tests/server/middleware/test_middleware.py +1070 -0
  590. fastmcp-3.0.0b1/tests/server/middleware/test_ping.py +241 -0
  591. fastmcp-3.0.0b1/tests/server/middleware/test_rate_limiting.py +457 -0
  592. fastmcp-3.0.0b1/tests/server/middleware/test_timing.py +305 -0
  593. fastmcp-3.0.0b1/tests/server/middleware/test_tool_injection.py +509 -0
  594. fastmcp-3.0.0b1/tests/server/mount/__init__.py +0 -0
  595. fastmcp-3.0.0b1/tests/server/mount/test_advanced.py +489 -0
  596. fastmcp-3.0.0b1/tests/server/mount/test_filtering.py +97 -0
  597. fastmcp-3.0.0b1/tests/server/mount/test_mount.py +542 -0
  598. fastmcp-3.0.0b1/tests/server/mount/test_prompts.py +50 -0
  599. fastmcp-3.0.0b1/tests/server/mount/test_proxy.py +306 -0
  600. fastmcp-3.0.0b1/tests/server/mount/test_resources.py +136 -0
  601. fastmcp-3.0.0b1/tests/server/providers/__init__.py +0 -0
  602. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/__init__.py +0 -0
  603. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_context.py +162 -0
  604. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_decorator.py +341 -0
  605. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_enabled.py +132 -0
  606. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_local_provider_tools.py +274 -0
  607. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_output_schema.py +284 -0
  608. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_parameters.py +416 -0
  609. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_tags.py +94 -0
  610. fastmcp-3.0.0b1/tests/server/providers/openapi/test_comprehensive.py +741 -0
  611. fastmcp-3.0.0b1/tests/server/providers/openapi/test_deepobject_style.py +346 -0
  612. fastmcp-3.0.0b1/tests/server/providers/openapi/test_end_to_end_compatibility.py +221 -0
  613. fastmcp-3.0.0b1/tests/server/providers/openapi/test_openapi_features.py +414 -0
  614. fastmcp-3.0.0b1/tests/server/providers/openapi/test_openapi_performance.py +136 -0
  615. fastmcp-3.0.0b1/tests/server/providers/openapi/test_parameter_collisions.py +225 -0
  616. fastmcp-3.0.0b1/tests/server/providers/openapi/test_performance_comparison.py +286 -0
  617. fastmcp-3.0.0b1/tests/server/providers/openapi/test_server.py +305 -0
  618. fastmcp-3.0.0b1/tests/server/providers/proxy/__init__.py +0 -0
  619. fastmcp-3.0.0b1/tests/server/providers/proxy/test_proxy_client.py +430 -0
  620. fastmcp-3.0.0b1/tests/server/providers/proxy/test_proxy_server.py +734 -0
  621. fastmcp-3.0.0b1/tests/server/providers/proxy/test_stateful_proxy_client.py +147 -0
  622. fastmcp-3.0.0b1/tests/server/providers/test_base_provider.py +91 -0
  623. fastmcp-3.0.0b1/tests/server/providers/test_fastmcp_provider.py +446 -0
  624. fastmcp-3.0.0b1/tests/server/providers/test_local_provider.py +834 -0
  625. fastmcp-3.0.0b1/tests/server/providers/test_local_provider_prompts.py +473 -0
  626. fastmcp-3.0.0b1/tests/server/providers/test_local_provider_resources.py +974 -0
  627. fastmcp-3.0.0b1/tests/server/providers/test_skills_provider.py +591 -0
  628. fastmcp-3.0.0b1/tests/server/providers/test_skills_vendor_providers.py +201 -0
  629. fastmcp-3.0.0b1/tests/server/providers/test_transforming_provider.py +299 -0
  630. fastmcp-3.0.0b1/tests/server/sampling/__init__.py +0 -0
  631. fastmcp-3.0.0b1/tests/server/tasks/test_custom_subclass_tasks.py +184 -0
  632. fastmcp-3.0.0b1/tests/server/tasks/test_resource_task_meta_parameter.py +287 -0
  633. fastmcp-3.0.0b1/tests/server/tasks/test_server_tasks_parameter.py +388 -0
  634. fastmcp-3.0.0b1/tests/server/tasks/test_sync_function_task_disabled.py +229 -0
  635. fastmcp-3.0.0b1/tests/server/tasks/test_task_config.py +393 -0
  636. fastmcp-3.0.0b1/tests/server/tasks/test_task_dependencies.py +273 -0
  637. fastmcp-3.0.0b1/tests/server/tasks/test_task_meta_parameter.py +314 -0
  638. fastmcp-3.0.0b1/tests/server/tasks/test_task_mount.py +965 -0
  639. fastmcp-3.0.0b1/tests/server/tasks/test_task_prompts.py +91 -0
  640. fastmcp-3.0.0b1/tests/server/tasks/test_task_proxy.py +169 -0
  641. fastmcp-3.0.0b1/tests/server/tasks/test_task_resources.py +107 -0
  642. fastmcp-3.0.0b1/tests/server/tasks/test_task_return_types.py +662 -0
  643. fastmcp-3.0.0b1/tests/server/tasks/test_task_tools.py +101 -0
  644. fastmcp-3.0.0b1/tests/server/telemetry/__init__.py +1 -0
  645. fastmcp-3.0.0b1/tests/server/telemetry/test_provider_tracing.py +129 -0
  646. fastmcp-3.0.0b1/tests/server/telemetry/test_server_tracing.py +340 -0
  647. fastmcp-3.0.0b1/tests/server/test_context.py +407 -0
  648. fastmcp-3.0.0b1/tests/server/test_dependencies.py +1047 -0
  649. fastmcp-3.0.0b1/tests/server/test_event_store.py +238 -0
  650. fastmcp-3.0.0b1/tests/server/test_file_server.py +134 -0
  651. fastmcp-3.0.0b1/tests/server/test_input_validation.py +365 -0
  652. fastmcp-3.0.0b1/tests/server/test_log_level.py +90 -0
  653. fastmcp-3.0.0b1/tests/server/test_logging.py +192 -0
  654. fastmcp-3.0.0b1/tests/server/test_pagination.py +243 -0
  655. fastmcp-3.0.0b1/tests/server/test_providers.py +448 -0
  656. fastmcp-3.0.0b1/tests/server/test_server.py +360 -0
  657. fastmcp-3.0.0b1/tests/server/test_server_docket.py +227 -0
  658. fastmcp-3.0.0b1/tests/server/test_server_lifespan.py +464 -0
  659. fastmcp-3.0.0b1/tests/server/test_session_visibility.py +620 -0
  660. fastmcp-3.0.0b1/tests/server/test_tool_annotations.py +255 -0
  661. fastmcp-3.0.0b1/tests/server/test_tool_transformation.py +120 -0
  662. fastmcp-3.0.0b1/tests/server/transforms/test_prompts_as_tools.py +210 -0
  663. fastmcp-3.0.0b1/tests/server/transforms/test_resources_as_tools.py +227 -0
  664. fastmcp-3.0.0b1/tests/server/transforms/test_visibility.py +271 -0
  665. fastmcp-3.0.0b1/tests/server/versioning/__init__.py +0 -0
  666. fastmcp-3.0.0b1/tests/server/versioning/test_calls.py +361 -0
  667. fastmcp-3.0.0b1/tests/server/versioning/test_filtering.py +492 -0
  668. fastmcp-3.0.0b1/tests/server/versioning/test_mounting.py +342 -0
  669. fastmcp-3.0.0b1/tests/server/versioning/test_versioning.py +258 -0
  670. fastmcp-3.0.0b1/tests/telemetry/__init__.py +1 -0
  671. fastmcp-3.0.0b1/tests/telemetry/test_module.py +29 -0
  672. fastmcp-3.0.0b1/tests/test_mcp_config.py +932 -0
  673. fastmcp-3.0.0b1/tests/tools/__init__.py +0 -0
  674. fastmcp-3.0.0b1/tests/tools/test_standalone_decorator.py +138 -0
  675. fastmcp-3.0.0b1/tests/tools/test_tool_timeout.py +192 -0
  676. fastmcp-3.0.0b1/tests/tools/tool/__init__.py +0 -0
  677. fastmcp-3.0.0b1/tests/tools/tool/test_callable.py +102 -0
  678. fastmcp-3.0.0b1/tests/tools/tool/test_content.py +550 -0
  679. fastmcp-3.0.0b1/tests/tools/tool/test_output_schema.py +534 -0
  680. fastmcp-3.0.0b1/tests/tools/tool/test_results.py +184 -0
  681. fastmcp-3.0.0b1/tests/tools/tool/test_title.py +95 -0
  682. fastmcp-3.0.0b1/tests/tools/tool/test_tool.py +595 -0
  683. fastmcp-3.0.0b1/tests/tools/tool_transform/__init__.py +0 -0
  684. fastmcp-3.0.0b1/tests/tools/tool_transform/test_args.py +456 -0
  685. fastmcp-3.0.0b1/tests/tools/tool_transform/test_metadata.py +172 -0
  686. fastmcp-3.0.0b1/tests/tools/tool_transform/test_schemas.py +534 -0
  687. fastmcp-3.0.0b1/tests/tools/tool_transform/test_tool_transform.py +530 -0
  688. fastmcp-3.0.0b1/tests/utilities/json_schema_type/__init__.py +0 -0
  689. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_advanced.py +913 -0
  690. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_constraints.py +132 -0
  691. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_containers.py +201 -0
  692. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_formats.py +114 -0
  693. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_json_schema_type.py +170 -0
  694. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_unions.py +128 -0
  695. fastmcp-3.0.0b1/tests/utilities/openapi/test_models.py +476 -0
  696. fastmcp-3.0.0b1/tests/utilities/openapi/test_nullable_fields.py +385 -0
  697. fastmcp-3.0.0b1/tests/utilities/openapi/test_schemas.py +641 -0
  698. fastmcp-3.0.0b1/tests/utilities/test_components.py +417 -0
  699. fastmcp-3.0.0b1/tests/utilities/test_inspect.py +1111 -0
  700. fastmcp-3.0.0b1/tests/utilities/test_json_schema.py +543 -0
  701. fastmcp-3.0.0b1/tests/utilities/test_logging.py +100 -0
  702. fastmcp-3.0.0b1/tests/utilities/test_skills.py +269 -0
  703. fastmcp-3.0.0b1/tests/utilities/test_types.py +673 -0
  704. fastmcp-3.0.0b1/uv.lock +3040 -0
  705. fastmcp-3.0.0b1/v3-notes/get-methods-consolidation.md +69 -0
  706. fastmcp-3.0.0b1/v3-notes/prompt-internal-types.md +121 -0
  707. fastmcp-3.0.0b1/v3-notes/provider-architecture.md +116 -0
  708. fastmcp-3.0.0b1/v3-notes/provider-test-pattern.md +60 -0
  709. fastmcp-3.0.0b1/v3-notes/resource-internal-types.md +196 -0
  710. fastmcp-3.0.0b1/v3-notes/task-meta-parameter.md +109 -0
  711. fastmcp-3.0.0b1/v3-notes/visibility.md +113 -0
  712. fastmcp-2.14.5/.cursor/rules/core-mcp-objects.mdc +0 -13
  713. fastmcp-2.14.5/.cursor/worktrees.json +0 -6
  714. fastmcp-2.14.5/.github/workflows/martian-issue-triage.yml +0 -173
  715. fastmcp-2.14.5/.github/workflows/martian-test-failure.yml +0 -182
  716. fastmcp-2.14.5/.github/workflows/marvin-dedupe-issues.yml +0 -92
  717. fastmcp-2.14.5/.github/workflows/marvin-label-triage.yml +0 -143
  718. fastmcp-2.14.5/.github/workflows/marvin.yml +0 -78
  719. fastmcp-2.14.5/.github/workflows/update-config-schema.yml +0 -91
  720. fastmcp-2.14.5/.github/workflows/update-sdk-docs.yml +0 -74
  721. fastmcp-2.14.5/.gitignore +0 -77
  722. fastmcp-2.14.5/.loq_cache +0 -1
  723. fastmcp-2.14.5/.pre-commit-config.yaml +0 -48
  724. fastmcp-2.14.5/AGENTS.md +0 -266
  725. fastmcp-2.14.5/PKG-INFO +0 -559
  726. fastmcp-2.14.5/README.md +0 -515
  727. fastmcp-2.14.5/docs/changelog.mdx +0 -2312
  728. fastmcp-2.14.5/docs/clients/client.mdx +0 -340
  729. fastmcp-2.14.5/docs/clients/messages.mdx +0 -129
  730. fastmcp-2.14.5/docs/clients/sampling.mdx +0 -258
  731. fastmcp-2.14.5/docs/clients/tasks.mdx +0 -138
  732. fastmcp-2.14.5/docs/clients/tools.mdx +0 -295
  733. fastmcp-2.14.5/docs/css/style.css +0 -20
  734. fastmcp-2.14.5/docs/deployment/http.mdx +0 -736
  735. fastmcp-2.14.5/docs/deployment/running-server.mdx +0 -258
  736. fastmcp-2.14.5/docs/development/upgrade-guide.mdx +0 -153
  737. fastmcp-2.14.5/docs/docs.json +0 -531
  738. fastmcp-2.14.5/docs/getting-started/installation.mdx +0 -100
  739. fastmcp-2.14.5/docs/getting-started/welcome.mdx +0 -114
  740. fastmcp-2.14.5/docs/integrations/auth0.mdx +0 -277
  741. fastmcp-2.14.5/docs/integrations/authkit.mdx +0 -133
  742. fastmcp-2.14.5/docs/integrations/aws-cognito.mdx +0 -365
  743. fastmcp-2.14.5/docs/integrations/azure.mdx +0 -391
  744. fastmcp-2.14.5/docs/integrations/claude-desktop.mdx +0 -298
  745. fastmcp-2.14.5/docs/integrations/descope.mdx +0 -146
  746. fastmcp-2.14.5/docs/integrations/discord.mdx +0 -255
  747. fastmcp-2.14.5/docs/integrations/fastapi.mdx +0 -451
  748. fastmcp-2.14.5/docs/integrations/github.mdx +0 -253
  749. fastmcp-2.14.5/docs/integrations/google.mdx +0 -267
  750. fastmcp-2.14.5/docs/integrations/oci.mdx +0 -333
  751. fastmcp-2.14.5/docs/integrations/scalekit.mdx +0 -194
  752. fastmcp-2.14.5/docs/integrations/supabase.mdx +0 -148
  753. fastmcp-2.14.5/docs/integrations/workos.mdx +0 -288
  754. fastmcp-2.14.5/docs/patterns/cli.mdx +0 -577
  755. fastmcp-2.14.5/docs/patterns/tool-transformation.mdx +0 -707
  756. fastmcp-2.14.5/docs/python-sdk/fastmcp-cli-cli.mdx +0 -129
  757. fastmcp-2.14.5/docs/python-sdk/fastmcp-cli-run.mdx +0 -101
  758. fastmcp-2.14.5/docs/python-sdk/fastmcp-client-auth-oauth.mdx +0 -104
  759. fastmcp-2.14.5/docs/python-sdk/fastmcp-client-client.mdx +0 -684
  760. fastmcp-2.14.5/docs/python-sdk/fastmcp-client-sampling.mdx +0 -14
  761. fastmcp-2.14.5/docs/python-sdk/fastmcp-client-tasks.mdx +0 -219
  762. fastmcp-2.14.5/docs/python-sdk/fastmcp-client-transports.mdx +0 -312
  763. fastmcp-2.14.5/docs/python-sdk/fastmcp-dependencies.mdx +0 -14
  764. fastmcp-2.14.5/docs/python-sdk/fastmcp-exceptions.mdx +0 -65
  765. fastmcp-2.14.5/docs/python-sdk/fastmcp-mcp_config.mdx +0 -188
  766. fastmcp-2.14.5/docs/python-sdk/fastmcp-prompts-prompt.mdx +0 -117
  767. fastmcp-2.14.5/docs/python-sdk/fastmcp-prompts-prompt_manager.mdx +0 -71
  768. fastmcp-2.14.5/docs/python-sdk/fastmcp-resources-resource.mdx +0 -123
  769. fastmcp-2.14.5/docs/python-sdk/fastmcp-resources-resource_manager.mdx +0 -154
  770. fastmcp-2.14.5/docs/python-sdk/fastmcp-resources-template.mdx +0 -182
  771. fastmcp-2.14.5/docs/python-sdk/fastmcp-resources-types.mdx +0 -134
  772. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-auth.mdx +0 -262
  773. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-oauth_proxy.mdx +0 -420
  774. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-auth0.mdx +0 -47
  775. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-aws.mdx +0 -88
  776. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-azure.mdx +0 -76
  777. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-descope.mdx +0 -62
  778. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-discord.mdx +0 -72
  779. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-github.mdx +0 -72
  780. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-google.mdx +0 -72
  781. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-introspection.mdx +0 -77
  782. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-jwt.mdx +0 -152
  783. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-oci.mdx +0 -103
  784. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-scalekit.mdx +0 -63
  785. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-supabase.mdx +0 -68
  786. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-auth-providers-workos.mdx +0 -110
  787. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-context.mdx +0 -421
  788. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-dependencies.mdx +0 -262
  789. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-elicitation.mdx +0 -140
  790. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-http.mdx +0 -106
  791. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-low_level.mdx +0 -53
  792. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-middleware-caching.mdx +0 -189
  793. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-middleware-middleware.mdx +0 -112
  794. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-middleware-tool_injection.mdx +0 -91
  795. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-openapi-__init__.mdx +0 -9
  796. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-openapi-components.mdx +0 -62
  797. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-openapi-routing.mdx +0 -23
  798. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-openapi-server.mdx +0 -20
  799. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-proxy.mdx +0 -339
  800. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-server.mdx +0 -799
  801. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-tasks-capabilities.mdx +0 -24
  802. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-tasks-config.mdx +0 -66
  803. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-tasks-converters.mdx +0 -77
  804. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-tasks-handlers.mdx +0 -78
  805. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-tasks-keys.mdx +0 -91
  806. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-tasks-protocol.mdx +0 -88
  807. fastmcp-2.14.5/docs/python-sdk/fastmcp-server-tasks-subscriptions.mdx +0 -35
  808. fastmcp-2.14.5/docs/python-sdk/fastmcp-settings.mdx +0 -56
  809. fastmcp-2.14.5/docs/python-sdk/fastmcp-tools-tool.mdx +0 -128
  810. fastmcp-2.14.5/docs/python-sdk/fastmcp-tools-tool_manager.mdx +0 -113
  811. fastmcp-2.14.5/docs/python-sdk/fastmcp-tools-tool_transform.mdx +0 -290
  812. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-cli.mdx +0 -55
  813. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-components.mdx +0 -121
  814. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-inspect.mdx +0 -143
  815. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-json_schema.mdx +0 -25
  816. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-json_schema_type.mdx +0 -110
  817. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-logging.mdx +0 -58
  818. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-mcp_config.mdx +0 -28
  819. fastmcp-2.14.5/docs/python-sdk/fastmcp-utilities-tests.mdx +0 -106
  820. fastmcp-2.14.5/docs/servers/auth/authentication.mdx +0 -266
  821. fastmcp-2.14.5/docs/servers/auth/oauth-proxy.mdx +0 -594
  822. fastmcp-2.14.5/docs/servers/auth/oidc-proxy.mdx +0 -269
  823. fastmcp-2.14.5/docs/servers/auth/remote-oauth.mdx +0 -226
  824. fastmcp-2.14.5/docs/servers/composition.mdx +0 -326
  825. fastmcp-2.14.5/docs/servers/context.mdx +0 -613
  826. fastmcp-2.14.5/docs/servers/elicitation.mdx +0 -462
  827. fastmcp-2.14.5/docs/servers/logging.mdx +0 -249
  828. fastmcp-2.14.5/docs/servers/middleware.mdx +0 -816
  829. fastmcp-2.14.5/docs/servers/progress.mdx +0 -189
  830. fastmcp-2.14.5/docs/servers/prompts.mdx +0 -353
  831. fastmcp-2.14.5/docs/servers/proxy.mdx +0 -349
  832. fastmcp-2.14.5/docs/servers/resources.mdx +0 -663
  833. fastmcp-2.14.5/docs/servers/sampling.mdx +0 -488
  834. fastmcp-2.14.5/docs/servers/server.mdx +0 -436
  835. fastmcp-2.14.5/docs/servers/tools.mdx +0 -986
  836. fastmcp-2.14.5/docs/snippets/version-badge.mdx +0 -7
  837. fastmcp-2.14.5/docs/updates.mdx +0 -425
  838. fastmcp-2.14.5/examples/mount_example.py +0 -116
  839. fastmcp-2.14.5/examples/serializer.py +0 -32
  840. fastmcp-2.14.5/examples/smart_home/src/smart_home/hub.py +0 -30
  841. fastmcp-2.14.5/examples/smart_home/src/smart_home/lights/server.py +0 -307
  842. fastmcp-2.14.5/examples/testing_demo/uv.lock +0 -1569
  843. fastmcp-2.14.5/justfile +0 -29
  844. fastmcp-2.14.5/pyproject.toml +0 -184
  845. fastmcp-2.14.5/src/fastmcp/cli/cli.py +0 -873
  846. fastmcp-2.14.5/src/fastmcp/cli/install/claude_code.py +0 -244
  847. fastmcp-2.14.5/src/fastmcp/cli/install/claude_desktop.py +0 -214
  848. fastmcp-2.14.5/src/fastmcp/cli/install/cursor.py +0 -337
  849. fastmcp-2.14.5/src/fastmcp/cli/install/gemini_cli.py +0 -241
  850. fastmcp-2.14.5/src/fastmcp/cli/install/mcp_json.py +0 -196
  851. fastmcp-2.14.5/src/fastmcp/cli/run.py +0 -225
  852. fastmcp-2.14.5/src/fastmcp/client/__init__.py +0 -32
  853. fastmcp-2.14.5/src/fastmcp/client/auth/oauth.py +0 -328
  854. fastmcp-2.14.5/src/fastmcp/client/client.py +0 -1618
  855. fastmcp-2.14.5/src/fastmcp/client/elicitation.py +0 -80
  856. fastmcp-2.14.5/src/fastmcp/client/sampling/handlers/anthropic.py +0 -387
  857. fastmcp-2.14.5/src/fastmcp/client/sampling/handlers/openai.py +0 -399
  858. fastmcp-2.14.5/src/fastmcp/client/tasks.py +0 -551
  859. fastmcp-2.14.5/src/fastmcp/client/transports.py +0 -1170
  860. fastmcp-2.14.5/src/fastmcp/contrib/component_manager/README.md +0 -170
  861. fastmcp-2.14.5/src/fastmcp/contrib/component_manager/__init__.py +0 -4
  862. fastmcp-2.14.5/src/fastmcp/contrib/component_manager/component_manager.py +0 -186
  863. fastmcp-2.14.5/src/fastmcp/contrib/component_manager/component_service.py +0 -209
  864. fastmcp-2.14.5/src/fastmcp/contrib/component_manager/example.py +0 -59
  865. fastmcp-2.14.5/src/fastmcp/contrib/mcp_mixin/example.py +0 -52
  866. fastmcp-2.14.5/src/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -276
  867. fastmcp-2.14.5/src/fastmcp/dependencies.py +0 -25
  868. fastmcp-2.14.5/src/fastmcp/exceptions.py +0 -39
  869. fastmcp-2.14.5/src/fastmcp/experimental/server/openapi/__init__.py +0 -37
  870. fastmcp-2.14.5/src/fastmcp/mcp_config.py +0 -338
  871. fastmcp-2.14.5/src/fastmcp/prompts/__init__.py +0 -9
  872. fastmcp-2.14.5/src/fastmcp/prompts/prompt.py +0 -381
  873. fastmcp-2.14.5/src/fastmcp/prompts/prompt_manager.py +0 -117
  874. fastmcp-2.14.5/src/fastmcp/resources/__init__.py +0 -22
  875. fastmcp-2.14.5/src/fastmcp/resources/resource.py +0 -240
  876. fastmcp-2.14.5/src/fastmcp/resources/resource_manager.py +0 -338
  877. fastmcp-2.14.5/src/fastmcp/resources/template.py +0 -413
  878. fastmcp-2.14.5/src/fastmcp/resources/types.py +0 -157
  879. fastmcp-2.14.5/src/fastmcp/server/__init__.py +0 -6
  880. fastmcp-2.14.5/src/fastmcp/server/auth/__init__.py +0 -25
  881. fastmcp-2.14.5/src/fastmcp/server/auth/auth.py +0 -538
  882. fastmcp-2.14.5/src/fastmcp/server/auth/oauth_proxy.py +0 -2282
  883. fastmcp-2.14.5/src/fastmcp/server/auth/oidc_proxy.py +0 -419
  884. fastmcp-2.14.5/src/fastmcp/server/auth/providers/auth0.py +0 -193
  885. fastmcp-2.14.5/src/fastmcp/server/auth/providers/aws.py +0 -263
  886. fastmcp-2.14.5/src/fastmcp/server/auth/providers/azure.py +0 -446
  887. fastmcp-2.14.5/src/fastmcp/server/auth/providers/descope.py +0 -229
  888. fastmcp-2.14.5/src/fastmcp/server/auth/providers/discord.py +0 -308
  889. fastmcp-2.14.5/src/fastmcp/server/auth/providers/github.py +0 -304
  890. fastmcp-2.14.5/src/fastmcp/server/auth/providers/google.py +0 -341
  891. fastmcp-2.14.5/src/fastmcp/server/auth/providers/introspection.py +0 -281
  892. fastmcp-2.14.5/src/fastmcp/server/auth/providers/jwt.py +0 -564
  893. fastmcp-2.14.5/src/fastmcp/server/auth/providers/oci.py +0 -233
  894. fastmcp-2.14.5/src/fastmcp/server/auth/providers/scalekit.py +0 -238
  895. fastmcp-2.14.5/src/fastmcp/server/auth/providers/supabase.py +0 -193
  896. fastmcp-2.14.5/src/fastmcp/server/auth/providers/workos.py +0 -427
  897. fastmcp-2.14.5/src/fastmcp/server/context.py +0 -1156
  898. fastmcp-2.14.5/src/fastmcp/server/dependencies.py +0 -626
  899. fastmcp-2.14.5/src/fastmcp/server/elicitation.py +0 -462
  900. fastmcp-2.14.5/src/fastmcp/server/event_store.py +0 -177
  901. fastmcp-2.14.5/src/fastmcp/server/http.py +0 -366
  902. fastmcp-2.14.5/src/fastmcp/server/low_level.py +0 -225
  903. fastmcp-2.14.5/src/fastmcp/server/middleware/__init__.py +0 -11
  904. fastmcp-2.14.5/src/fastmcp/server/middleware/caching.py +0 -476
  905. fastmcp-2.14.5/src/fastmcp/server/middleware/middleware.py +0 -208
  906. fastmcp-2.14.5/src/fastmcp/server/middleware/tool_injection.py +0 -116
  907. fastmcp-2.14.5/src/fastmcp/server/openapi/__init__.py +0 -35
  908. fastmcp-2.14.5/src/fastmcp/server/openapi/components.py +0 -351
  909. fastmcp-2.14.5/src/fastmcp/server/openapi/routing.py +0 -130
  910. fastmcp-2.14.5/src/fastmcp/server/openapi/server.py +0 -452
  911. fastmcp-2.14.5/src/fastmcp/server/proxy.py +0 -707
  912. fastmcp-2.14.5/src/fastmcp/server/sampling/run.py +0 -301
  913. fastmcp-2.14.5/src/fastmcp/server/sampling/sampling_tool.py +0 -108
  914. fastmcp-2.14.5/src/fastmcp/server/server.py +0 -3101
  915. fastmcp-2.14.5/src/fastmcp/server/tasks/__init__.py +0 -21
  916. fastmcp-2.14.5/src/fastmcp/server/tasks/capabilities.py +0 -30
  917. fastmcp-2.14.5/src/fastmcp/server/tasks/config.py +0 -89
  918. fastmcp-2.14.5/src/fastmcp/server/tasks/converters.py +0 -206
  919. fastmcp-2.14.5/src/fastmcp/server/tasks/handlers.py +0 -365
  920. fastmcp-2.14.5/src/fastmcp/server/tasks/keys.py +0 -93
  921. fastmcp-2.14.5/src/fastmcp/server/tasks/protocol.py +0 -359
  922. fastmcp-2.14.5/src/fastmcp/server/tasks/subscriptions.py +0 -203
  923. fastmcp-2.14.5/src/fastmcp/settings.py +0 -427
  924. fastmcp-2.14.5/src/fastmcp/tools/__init__.py +0 -5
  925. fastmcp-2.14.5/src/fastmcp/tools/tool.py +0 -643
  926. fastmcp-2.14.5/src/fastmcp/tools/tool_manager.py +0 -170
  927. fastmcp-2.14.5/src/fastmcp/tools/tool_transform.py +0 -943
  928. fastmcp-2.14.5/src/fastmcp/utilities/components.py +0 -181
  929. fastmcp-2.14.5/src/fastmcp/utilities/inspect.py +0 -506
  930. fastmcp-2.14.5/src/fastmcp/utilities/json_schema.py +0 -394
  931. fastmcp-2.14.5/src/fastmcp/utilities/json_schema_type.py +0 -648
  932. fastmcp-2.14.5/src/fastmcp/utilities/logging.py +0 -230
  933. fastmcp-2.14.5/src/fastmcp/utilities/mcp_config.py +0 -56
  934. fastmcp-2.14.5/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -447
  935. fastmcp-2.14.5/src/fastmcp/utilities/openapi/parser.py +0 -821
  936. fastmcp-2.14.5/src/fastmcp/utilities/tests.py +0 -286
  937. fastmcp-2.14.5/src/fastmcp/utilities/types.py +0 -496
  938. fastmcp-2.14.5/tests/cli/test_cli.py +0 -616
  939. fastmcp-2.14.5/tests/cli/test_config.py +0 -434
  940. fastmcp-2.14.5/tests/cli/test_mcp_server_config_integration.py +0 -293
  941. fastmcp-2.14.5/tests/cli/test_run.py +0 -602
  942. fastmcp-2.14.5/tests/cli/test_server_args.py +0 -135
  943. fastmcp-2.14.5/tests/cli/test_tasks.py +0 -50
  944. fastmcp-2.14.5/tests/client/auth/test_oauth_client.py +0 -251
  945. fastmcp-2.14.5/tests/client/tasks/conftest.py +0 -3
  946. fastmcp-2.14.5/tests/client/tasks/test_client_prompt_tasks.py +0 -103
  947. fastmcp-2.14.5/tests/client/tasks/test_client_resource_tasks.py +0 -108
  948. fastmcp-2.14.5/tests/client/tasks/test_client_tool_tasks.py +0 -88
  949. fastmcp-2.14.5/tests/client/tasks/test_prompt_task_mcp_message.py +0 -57
  950. fastmcp-2.14.5/tests/client/test_client.py +0 -1289
  951. fastmcp-2.14.5/tests/client/test_elicitation.py +0 -1083
  952. fastmcp-2.14.5/tests/client/test_notifications.py +0 -422
  953. fastmcp-2.14.5/tests/client/test_openapi.py +0 -192
  954. fastmcp-2.14.5/tests/client/test_sampling.py +0 -988
  955. fastmcp-2.14.5/tests/client/test_sse.py +0 -189
  956. fastmcp-2.14.5/tests/client/test_stdio.py +0 -364
  957. fastmcp-2.14.5/tests/client/test_streamable_http.py +0 -263
  958. fastmcp-2.14.5/tests/client/transports/test_transports.py +0 -39
  959. fastmcp-2.14.5/tests/conftest.py +0 -83
  960. fastmcp-2.14.5/tests/contrib/test_component_manager.py +0 -730
  961. fastmcp-2.14.5/tests/contrib/test_mcp_mixin.py +0 -322
  962. fastmcp-2.14.5/tests/deprecated/__init__.py +0 -4
  963. fastmcp-2.14.5/tests/deprecated/test_exclude_args.py +0 -124
  964. fastmcp-2.14.5/tests/deprecated/test_openapi_deprecations.py +0 -73
  965. fastmcp-2.14.5/tests/deprecated/test_settings.py +0 -300
  966. fastmcp-2.14.5/tests/integration_tests/auth/test_github_provider_integration.py +0 -401
  967. fastmcp-2.14.5/tests/integration_tests/conftest.py +0 -72
  968. fastmcp-2.14.5/tests/integration_tests/test_github_mcp_remote.py +0 -122
  969. fastmcp-2.14.5/tests/prompts/test_prompt.py +0 -499
  970. fastmcp-2.14.5/tests/prompts/test_prompt_manager.py +0 -464
  971. fastmcp-2.14.5/tests/resources/test_file_resources.py +0 -116
  972. fastmcp-2.14.5/tests/resources/test_function_resources.py +0 -131
  973. fastmcp-2.14.5/tests/resources/test_resource_manager.py +0 -760
  974. fastmcp-2.14.5/tests/resources/test_resource_template.py +0 -991
  975. fastmcp-2.14.5/tests/resources/test_resources.py +0 -116
  976. fastmcp-2.14.5/tests/server/auth/providers/test_auth0.py +0 -284
  977. fastmcp-2.14.5/tests/server/auth/providers/test_aws.py +0 -251
  978. fastmcp-2.14.5/tests/server/auth/providers/test_azure.py +0 -882
  979. fastmcp-2.14.5/tests/server/auth/providers/test_descope.py +0 -264
  980. fastmcp-2.14.5/tests/server/auth/providers/test_discord.py +0 -119
  981. fastmcp-2.14.5/tests/server/auth/providers/test_github.py +0 -245
  982. fastmcp-2.14.5/tests/server/auth/providers/test_google.py +0 -164
  983. fastmcp-2.14.5/tests/server/auth/providers/test_introspection.py +0 -463
  984. fastmcp-2.14.5/tests/server/auth/providers/test_scalekit.py +0 -259
  985. fastmcp-2.14.5/tests/server/auth/providers/test_supabase.py +0 -226
  986. fastmcp-2.14.5/tests/server/auth/providers/test_workos.py +0 -208
  987. fastmcp-2.14.5/tests/server/auth/test_jwt_provider.py +0 -1101
  988. fastmcp-2.14.5/tests/server/auth/test_oauth_consent_flow.py +0 -1062
  989. fastmcp-2.14.5/tests/server/auth/test_oauth_proxy.py +0 -1865
  990. fastmcp-2.14.5/tests/server/auth/test_oauth_proxy_redirect_validation.py +0 -201
  991. fastmcp-2.14.5/tests/server/http/test_bearer_auth_backend.py +0 -178
  992. fastmcp-2.14.5/tests/server/http/test_http_dependencies.py +0 -122
  993. fastmcp-2.14.5/tests/server/middleware/test_caching.py +0 -528
  994. fastmcp-2.14.5/tests/server/middleware/test_error_handling.py +0 -652
  995. fastmcp-2.14.5/tests/server/middleware/test_initialization_middleware.py +0 -375
  996. fastmcp-2.14.5/tests/server/middleware/test_logging.py +0 -670
  997. fastmcp-2.14.5/tests/server/middleware/test_middleware.py +0 -905
  998. fastmcp-2.14.5/tests/server/middleware/test_rate_limiting.py +0 -456
  999. fastmcp-2.14.5/tests/server/middleware/test_timing.py +0 -317
  1000. fastmcp-2.14.5/tests/server/middleware/test_tool_injection.py +0 -504
  1001. fastmcp-2.14.5/tests/server/openapi/test_comprehensive.py +0 -727
  1002. fastmcp-2.14.5/tests/server/openapi/test_deepobject_style.py +0 -333
  1003. fastmcp-2.14.5/tests/server/openapi/test_end_to_end_compatibility.py +0 -325
  1004. fastmcp-2.14.5/tests/server/openapi/test_openapi_features.py +0 -401
  1005. fastmcp-2.14.5/tests/server/openapi/test_openapi_performance.py +0 -136
  1006. fastmcp-2.14.5/tests/server/openapi/test_parameter_collisions.py +0 -212
  1007. fastmcp-2.14.5/tests/server/openapi/test_performance_comparison.py +0 -285
  1008. fastmcp-2.14.5/tests/server/openapi/test_server.py +0 -337
  1009. fastmcp-2.14.5/tests/server/proxy/test_proxy_client.py +0 -425
  1010. fastmcp-2.14.5/tests/server/proxy/test_proxy_server.py +0 -789
  1011. fastmcp-2.14.5/tests/server/proxy/test_stateful_proxy_client.py +0 -147
  1012. fastmcp-2.14.5/tests/server/tasks/conftest.py +0 -3
  1013. fastmcp-2.14.5/tests/server/tasks/test_server_tasks_parameter.py +0 -336
  1014. fastmcp-2.14.5/tests/server/tasks/test_sync_function_task_disabled.py +0 -229
  1015. fastmcp-2.14.5/tests/server/tasks/test_task_config_modes.py +0 -350
  1016. fastmcp-2.14.5/tests/server/tasks/test_task_dependencies.py +0 -272
  1017. fastmcp-2.14.5/tests/server/tasks/test_task_mount.py +0 -550
  1018. fastmcp-2.14.5/tests/server/tasks/test_task_prompts.py +0 -92
  1019. fastmcp-2.14.5/tests/server/tasks/test_task_proxy.py +0 -165
  1020. fastmcp-2.14.5/tests/server/tasks/test_task_resources.py +0 -108
  1021. fastmcp-2.14.5/tests/server/tasks/test_task_return_types.py +0 -660
  1022. fastmcp-2.14.5/tests/server/tasks/test_task_tools.py +0 -102
  1023. fastmcp-2.14.5/tests/server/test_context.py +0 -182
  1024. fastmcp-2.14.5/tests/server/test_dependencies.py +0 -779
  1025. fastmcp-2.14.5/tests/server/test_event_store.py +0 -237
  1026. fastmcp-2.14.5/tests/server/test_file_server.py +0 -127
  1027. fastmcp-2.14.5/tests/server/test_import_server.py +0 -627
  1028. fastmcp-2.14.5/tests/server/test_input_validation.py +0 -353
  1029. fastmcp-2.14.5/tests/server/test_log_level.py +0 -88
  1030. fastmcp-2.14.5/tests/server/test_logging.py +0 -192
  1031. fastmcp-2.14.5/tests/server/test_mount.py +0 -1426
  1032. fastmcp-2.14.5/tests/server/test_server.py +0 -1526
  1033. fastmcp-2.14.5/tests/server/test_server_docket.py +0 -170
  1034. fastmcp-2.14.5/tests/server/test_server_interactions.py +0 -2804
  1035. fastmcp-2.14.5/tests/server/test_server_lifespan.py +0 -71
  1036. fastmcp-2.14.5/tests/server/test_tool_annotations.py +0 -255
  1037. fastmcp-2.14.5/tests/server/test_tool_transformation.py +0 -68
  1038. fastmcp-2.14.5/tests/test_mcp_config.py +0 -771
  1039. fastmcp-2.14.5/tests/tools/test_tool.py +0 -1950
  1040. fastmcp-2.14.5/tests/tools/test_tool_manager.py +0 -1083
  1041. fastmcp-2.14.5/tests/tools/test_tool_transform.py +0 -1693
  1042. fastmcp-2.14.5/tests/utilities/openapi/test_models.py +0 -476
  1043. fastmcp-2.14.5/tests/utilities/openapi/test_nullable_fields.py +0 -375
  1044. fastmcp-2.14.5/tests/utilities/openapi/test_schemas.py +0 -635
  1045. fastmcp-2.14.5/tests/utilities/test_components.py +0 -438
  1046. fastmcp-2.14.5/tests/utilities/test_inspect.py +0 -1112
  1047. fastmcp-2.14.5/tests/utilities/test_json_schema.py +0 -766
  1048. fastmcp-2.14.5/tests/utilities/test_json_schema_type.py +0 -1586
  1049. fastmcp-2.14.5/tests/utilities/test_logging.py +0 -56
  1050. fastmcp-2.14.5/tests/utilities/test_types.py +0 -673
  1051. fastmcp-2.14.5/uv.lock +0 -2665
  1052. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.ccignore +0 -0
  1053. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  1054. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  1055. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  1056. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/copilot-instructions.md +0 -0
  1057. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/dependabot.yml +0 -0
  1058. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/pull_request_template.md +0 -0
  1059. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/release.yml +0 -0
  1060. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/workflows/auto-close-duplicates.yml +0 -0
  1061. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/workflows/auto-close-needs-mre.yml +0 -0
  1062. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/workflows/publish.yml +0 -0
  1063. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/workflows/run-static.yml +0 -0
  1064. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/.github/workflows/run-tests.yml +0 -0
  1065. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/CLAUDE.md +0 -0
  1066. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/CODE_OF_CONDUCT.md +0 -0
  1067. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/LICENSE +0 -0
  1068. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/SECURITY.md +0 -0
  1069. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/.ccignore +0 -0
  1070. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/.cursor/rules/mintlify.mdc +0 -0
  1071. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/blue-logo.png +0 -0
  1072. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/f-watercolor-waves-dark.png +0 -0
  1073. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/f-watercolor-waves.png +0 -0
  1074. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/favicon.svg +0 -0
  1075. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/thumbnail-background.png +0 -0
  1076. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-padded.png +0 -0
  1077. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-rainbow-dark.png +0 -0
  1078. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-rainbow.png +0 -0
  1079. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-waves-dark.png +0 -0
  1080. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-waves.png +0 -0
  1081. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-white-padded.png +0 -0
  1082. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-white.png +0 -0
  1083. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark.png +0 -0
  1084. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/connect.png +0 -0
  1085. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/create_project.png +0 -0
  1086. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/deployment.png +0 -0
  1087. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/quickstart.png +0 -0
  1088. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/images/oauth-proxy-consent-screen.png +0 -0
  1089. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/images/tutorial-rest-api-result.png +0 -0
  1090. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/schemas/mcp_server_config/latest.json +0 -0
  1091. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/schemas/mcp_server_config/v1.json +0 -0
  1092. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/assets/updates/release-2-7.png +0 -0
  1093. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/clients/auth/bearer.mdx +0 -0
  1094. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/community/README.md +0 -0
  1095. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/community/showcase.mdx +0 -0
  1096. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/css/banner.css +0 -0
  1097. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/css/python-sdk.css +0 -0
  1098. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/css/version-badge.css +0 -0
  1099. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/deployment/fastmcp-cloud.mdx +0 -0
  1100. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/deployment/server-configuration.mdx +0 -0
  1101. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/development/contributing.mdx +0 -0
  1102. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/development/releases.mdx +0 -0
  1103. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/development/tests.mdx +0 -0
  1104. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/getting-started/quickstart.mdx +0 -0
  1105. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/anthropic.mdx +0 -0
  1106. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/claude-code.mdx +0 -0
  1107. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/cursor-install-mcp.png +0 -0
  1108. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/cursor.mdx +0 -0
  1109. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/eunomia-authorization.mdx +0 -0
  1110. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/gemini.mdx +0 -0
  1111. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/authkit/enable_dcr.png +0 -0
  1112. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ociaddapplication.png +0 -0
  1113. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ocieditdomainsettings.png +0 -0
  1114. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ocieditdomainsettingsbutton.png +0 -0
  1115. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ocioauthconfiguration.png +0 -0
  1116. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/permit/abac_condition_example.png +0 -0
  1117. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/permit/abac_policy_example.png +0 -0
  1118. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/permit/policy_mapping.png +0 -0
  1119. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/images/permit/role_assignement.png +0 -0
  1120. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/mcp-json-configuration.mdx +0 -0
  1121. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/openai.mdx +0 -0
  1122. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/integrations/permit.mdx +0 -0
  1123. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/patterns/contrib.mdx +0 -0
  1124. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/patterns/testing.mdx +0 -0
  1125. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/public/schemas/fastmcp.json/latest.json +0 -0
  1126. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/public/schemas/fastmcp.json/v1.json +0 -0
  1127. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-__init__.mdx +0 -0
  1128. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-__init__.mdx +0 -0
  1129. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-claude_code.mdx +0 -0
  1130. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-claude_desktop.mdx +0 -0
  1131. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-cursor.mdx +0 -0
  1132. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-gemini_cli.mdx +0 -0
  1133. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-mcp_json.mdx +0 -0
  1134. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-shared.mdx +0 -0
  1135. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-tasks.mdx +0 -0
  1136. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-__init__.mdx +0 -0
  1137. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-auth-__init__.mdx +0 -0
  1138. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-auth-bearer.mdx +0 -0
  1139. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-elicitation.mdx +0 -0
  1140. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-logging.mdx +0 -0
  1141. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-messages.mdx +0 -0
  1142. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-oauth_callback.mdx +0 -0
  1143. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-progress.mdx +0 -0
  1144. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-roots.mdx +0 -0
  1145. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-prompts-__init__.mdx +0 -0
  1146. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-resources-__init__.mdx +0 -0
  1147. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-__init__.mdx +0 -0
  1148. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-__init__.mdx +0 -0
  1149. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-jwt_issuer.mdx +0 -0
  1150. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-middleware.mdx +0 -0
  1151. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-oidc_proxy.mdx +0 -0
  1152. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-providers-__init__.mdx +0 -0
  1153. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-providers-debug.mdx +0 -0
  1154. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-providers-in_memory.mdx +0 -0
  1155. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdx +0 -0
  1156. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-event_store.mdx +0 -0
  1157. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-__init__.mdx +0 -0
  1158. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-error_handling.mdx +0 -0
  1159. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-logging.mdx +0 -0
  1160. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-rate_limiting.mdx +0 -0
  1161. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-timing.mdx +0 -0
  1162. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-tasks-__init__.mdx +0 -0
  1163. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-tools-__init__.mdx +0 -0
  1164. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-__init__.mdx +0 -0
  1165. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-auth.mdx +0 -0
  1166. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-exceptions.mdx +0 -0
  1167. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-http.mdx +0 -0
  1168. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-__init__.mdx +0 -0
  1169. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-__init__.mdx +0 -0
  1170. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-__init__.mdx +0 -0
  1171. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-base.mdx +0 -0
  1172. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-uv.mdx +0 -0
  1173. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-mcp_server_config.mdx +0 -0
  1174. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-__init__.mdx +0 -0
  1175. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-base.mdx +0 -0
  1176. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-filesystem.mdx +0 -0
  1177. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-__init__.mdx +0 -0
  1178. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-director.mdx +0 -0
  1179. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-formatters.mdx +0 -0
  1180. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-json_schema_converter.mdx +0 -0
  1181. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-models.mdx +0 -0
  1182. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-parser.mdx +0 -0
  1183. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-schemas.mdx +0 -0
  1184. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-types.mdx +0 -0
  1185. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-ui.mdx +0 -0
  1186. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/servers/auth/full-oauth-server.mdx +0 -0
  1187. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/servers/storage-backends.mdx +0 -0
  1188. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/snippets/local-focus.mdx +0 -0
  1189. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/snippets/youtube-embed.mdx +0 -0
  1190. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/tutorials/create-mcp-server.mdx +0 -0
  1191. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/tutorials/mcp.mdx +0 -0
  1192. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/docs/tutorials/rest-api.mdx +0 -0
  1193. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/auth/oauth.mdx +0 -0
  1194. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/elicitation.mdx +0 -0
  1195. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/logging.mdx +0 -0
  1196. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/progress.mdx +0 -0
  1197. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/prompts.mdx +0 -0
  1198. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/resources.mdx +0 -0
  1199. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/roots.mdx +0 -0
  1200. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/clients/transports.mdx +0 -0
  1201. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/integrations/chatgpt.mdx +0 -0
  1202. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/integrations/gemini-cli.mdx +0 -0
  1203. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/integrations/openapi.mdx +0 -0
  1204. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/patterns/decorating-methods.mdx +0 -0
  1205. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/servers/auth/token-verification.mdx +0 -0
  1206. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/servers/icons.mdx +0 -0
  1207. {fastmcp-2.14.5/docs → fastmcp-3.0.0b1/docs/v2}/servers/tasks.mdx +0 -0
  1208. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/README.md +0 -0
  1209. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/demo.py +0 -0
  1210. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/fastmcp.json +0 -0
  1211. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/pyproject.toml +0 -0
  1212. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/__init__.py +0 -0
  1213. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/__main__.py +0 -0
  1214. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/__init__.py +0 -0
  1215. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_client.py +0 -0
  1216. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_posts.py +0 -0
  1217. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_profile.py +0 -0
  1218. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_read.py +0 -0
  1219. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_social.py +0 -0
  1220. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/py.typed +0 -0
  1221. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/server.py +0 -0
  1222. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/settings.py +0 -0
  1223. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/types.py +0 -0
  1224. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/authkit_dcr/README.md +0 -0
  1225. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/authkit_dcr/client.py +0 -0
  1226. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/authkit_dcr/server.py +0 -0
  1227. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/README.md +0 -0
  1228. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/client.py +0 -0
  1229. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/requirements.txt +0 -0
  1230. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/server.py +0 -0
  1231. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/azure_oauth/README.md +0 -0
  1232. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/azure_oauth/client.py +0 -0
  1233. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/azure_oauth/server.py +0 -0
  1234. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/discord_oauth/README.md +0 -0
  1235. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/discord_oauth/client.py +0 -0
  1236. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/discord_oauth/server.py +0 -0
  1237. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/github_oauth/README.md +0 -0
  1238. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/github_oauth/client.py +0 -0
  1239. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/github_oauth/server.py +0 -0
  1240. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/google_oauth/README.md +0 -0
  1241. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/google_oauth/client.py +0 -0
  1242. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/google_oauth/server.py +0 -0
  1243. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/mounted/README.md +0 -0
  1244. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/mounted/client.py +0 -0
  1245. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/mounted/server.py +0 -0
  1246. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/scalekit_oauth/README.md +0 -0
  1247. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/scalekit_oauth/client.py +0 -0
  1248. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/scalekit_oauth/server.py +0 -0
  1249. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/workos_oauth/README.md +0 -0
  1250. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/workos_oauth/client.py +0 -0
  1251. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/auth/workos_oauth/server.py +0 -0
  1252. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/complex_inputs.py +0 -0
  1253. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/config_server.py +0 -0
  1254. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/desktop.py +0 -0
  1255. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/echo.py +0 -0
  1256. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config/env_interpolation_example.json +0 -0
  1257. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config/fastmcp.json +0 -0
  1258. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config/full_example.fastmcp.json +0 -0
  1259. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config/server.py +0 -0
  1260. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config/simple.fastmcp.json +0 -0
  1261. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config_demo/README.md +0 -0
  1262. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config_demo/fastmcp.json +0 -0
  1263. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/fastmcp_config_demo/server.py +0 -0
  1264. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/get_file.py +0 -0
  1265. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/in_memory_proxy_example.py +0 -0
  1266. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/memory.fastmcp.json +0 -0
  1267. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/memory.py +0 -0
  1268. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/mount_example.fastmcp.json +0 -0
  1269. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/sampling/README.md +0 -0
  1270. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/sampling/server_fallback.py +0 -0
  1271. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/sampling/structured_output.py +0 -0
  1272. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/sampling/text.py +0 -0
  1273. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/sampling/tool_use.py +0 -0
  1274. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/screenshot.fastmcp.json +0 -0
  1275. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/screenshot.py +0 -0
  1276. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/simple_echo.py +0 -0
  1277. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/README.md +0 -0
  1278. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/hub.fastmcp.json +0 -0
  1279. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/lights.fastmcp.json +0 -0
  1280. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/pyproject.toml +0 -0
  1281. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/__init__.py +0 -0
  1282. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/__main__.py +0 -0
  1283. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/lights/__init__.py +0 -0
  1284. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/lights/hue_utils.py +0 -0
  1285. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/py.typed +0 -0
  1286. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/settings.py +0 -0
  1287. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/tags_example.py +0 -0
  1288. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/tasks/README.md +0 -0
  1289. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/tasks/client.py +0 -0
  1290. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/tasks/docker-compose.yml +0 -0
  1291. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/tasks/server.py +0 -0
  1292. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/testing_demo/README.md +0 -0
  1293. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/testing_demo/pyproject.toml +0 -0
  1294. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/testing_demo/server.py +0 -0
  1295. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/testing_demo/tests/test_server.py +0 -0
  1296. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/text_me.py +0 -0
  1297. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/examples/tool_result_echo.py +0 -0
  1298. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/logo.py +0 -0
  1299. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/scripts/auto_close_duplicates.py +0 -0
  1300. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/scripts/auto_close_needs_mre.py +0 -0
  1301. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/__init__.py +0 -0
  1302. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/cli/__init__.py +0 -0
  1303. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/cli/__main__.py +0 -0
  1304. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/cli/install/__init__.py +0 -0
  1305. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/cli/install/shared.py +0 -0
  1306. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/cli/tasks.py +0 -0
  1307. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/auth/__init__.py +0 -0
  1308. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/auth/bearer.py +0 -0
  1309. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/logging.py +0 -0
  1310. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/messages.py +0 -0
  1311. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/oauth_callback.py +0 -0
  1312. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/progress.py +0 -0
  1313. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/roots.py +0 -0
  1314. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/sampling/__init__.py +0 -0
  1315. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/client/sampling/handlers/__init__.py +0 -0
  1316. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/contrib/README.md +0 -0
  1317. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  1318. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  1319. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  1320. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  1321. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/contrib/mcp_mixin/README.md +0 -0
  1322. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  1323. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/experimental/sampling/__init__.py +0 -0
  1324. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/experimental/sampling/handlers/__init__.py +0 -0
  1325. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/experimental/sampling/handlers/openai.py +0 -0
  1326. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/experimental/utilities/openapi/__init__.py +0 -0
  1327. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/py.typed +0 -0
  1328. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/handlers/authorize.py +0 -0
  1329. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/jwt_issuer.py +0 -0
  1330. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/middleware.py +0 -0
  1331. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/providers/__init__.py +0 -0
  1332. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/providers/debug.py +0 -0
  1333. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/providers/in_memory.py +0 -0
  1334. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/redirect_validation.py +0 -0
  1335. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/error_handling.py +0 -0
  1336. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/logging.py +0 -0
  1337. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/rate_limiting.py +0 -0
  1338. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/timing.py +0 -0
  1339. {fastmcp-2.14.5/src/fastmcp/server → fastmcp-3.0.0b1/src/fastmcp/server/providers}/openapi/README.md +0 -0
  1340. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/server/sampling/__init__.py +0 -0
  1341. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/__init__.py +0 -0
  1342. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/auth.py +0 -0
  1343. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/cli.py +0 -0
  1344. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/exceptions.py +0 -0
  1345. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/http.py +0 -0
  1346. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  1347. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  1348. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  1349. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  1350. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  1351. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  1352. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  1353. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  1354. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  1355. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/README.md +0 -0
  1356. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/__init__.py +0 -0
  1357. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/director.py +0 -0
  1358. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/formatters.py +0 -0
  1359. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  1360. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/models.py +0 -0
  1361. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/schemas.py +0 -0
  1362. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/ui.py +0 -0
  1363. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/src/fastmcp/utilities/version_check.py +0 -0
  1364. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/__init__.py +0 -0
  1365. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/__init__.py +0 -0
  1366. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/test_cursor.py +0 -0
  1367. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/test_install.py +0 -0
  1368. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/test_mcp_server_config_schema.py +0 -0
  1369. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/test_project_prepare.py +0 -0
  1370. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/test_run_config.py +0 -0
  1371. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/test_shared.py +0 -0
  1372. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/cli/test_with_argv.py +0 -0
  1373. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/__init__.py +0 -0
  1374. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/auth/__init__.py +0 -0
  1375. {fastmcp-2.14.5/tests/client/sampling → fastmcp-3.0.0b1/tests/client/client}/__init__.py +0 -0
  1376. {fastmcp-2.14.5/tests/client/sampling/handlers → fastmcp-3.0.0b1/tests/client/sampling}/__init__.py +0 -0
  1377. {fastmcp-2.14.5/tests/client/transports → fastmcp-3.0.0b1/tests/client/sampling/handlers}/__init__.py +0 -0
  1378. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/sampling/handlers/test_anthropic_handler.py +0 -0
  1379. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/sampling/handlers/test_openai_handler.py +0 -0
  1380. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/tasks/test_client_task_notifications.py +0 -0
  1381. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/tasks/test_client_task_protocol.py +0 -0
  1382. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/tasks/test_task_context_validation.py +0 -0
  1383. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/tasks/test_task_result_caching.py +0 -0
  1384. {fastmcp-2.14.5/tests/experimental → fastmcp-3.0.0b1/tests/client/telemetry}/__init__.py +0 -0
  1385. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/test_logs.py +0 -0
  1386. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/test_oauth_callback_xss.py +0 -0
  1387. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/test_progress.py +0 -0
  1388. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/test_roots.py +0 -0
  1389. {fastmcp-2.14.5/tests/integration_tests → fastmcp-3.0.0b1/tests/client/transports}/__init__.py +0 -0
  1390. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/client/transports/test_uv_transport.py +0 -0
  1391. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/contrib/__init__.py +0 -0
  1392. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/contrib/test_bulk_tool_caller.py +0 -0
  1393. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/deprecated/test_deprecated.py +0 -0
  1394. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/experimental/README.md +0 -0
  1395. {fastmcp-2.14.5/tests/integration_tests/auth → fastmcp-3.0.0b1/tests/experimental}/__init__.py +0 -0
  1396. {fastmcp-2.14.5/tests/prompts → fastmcp-3.0.0b1/tests/integration_tests}/__init__.py +0 -0
  1397. {fastmcp-2.14.5/tests/resources → fastmcp-3.0.0b1/tests/integration_tests/auth}/__init__.py +0 -0
  1398. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/integration_tests/test_timeout_fix.py +0 -0
  1399. {fastmcp-2.14.5/tests/server → fastmcp-3.0.0b1/tests/prompts}/__init__.py +0 -0
  1400. {fastmcp-2.14.5/tests/server/auth → fastmcp-3.0.0b1/tests/resources}/__init__.py +0 -0
  1401. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/resources/test_resource_template_meta.py +0 -0
  1402. {fastmcp-2.14.5/tests/server/auth/providers → fastmcp-3.0.0b1/tests/server}/__init__.py +0 -0
  1403. {fastmcp-2.14.5/tests/server/http → fastmcp-3.0.0b1/tests/server/auth}/__init__.py +0 -0
  1404. {fastmcp-2.14.5/tests/server/middleware → fastmcp-3.0.0b1/tests/server/auth/oauth_proxy}/__init__.py +0 -0
  1405. {fastmcp-2.14.5/tests/server/proxy → fastmcp-3.0.0b1/tests/server/auth/providers}/__init__.py +0 -0
  1406. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_auth_provider.py +0 -0
  1407. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_debug_verifier.py +0 -0
  1408. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_enhanced_error_responses.py +0 -0
  1409. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_jwt_issuer.py +0 -0
  1410. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_oauth_mounting.py +0 -0
  1411. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_oauth_proxy_storage.py +0 -0
  1412. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_oidc_proxy.py +0 -0
  1413. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_redirect_validation.py +0 -0
  1414. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_remote_auth_provider.py +0 -0
  1415. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/auth/test_static_token_verifier.py +0 -0
  1416. {fastmcp-2.14.5/tests/server/sampling → fastmcp-3.0.0b1/tests/server/http}/__init__.py +0 -0
  1417. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/http/test_custom_routes.py +0 -0
  1418. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/http/test_http_auth_middleware.py +0 -0
  1419. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/http/test_http_middleware.py +0 -0
  1420. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/http/test_stale_access_token.py +0 -0
  1421. {fastmcp-2.14.5/tests/tools → fastmcp-3.0.0b1/tests/server/middleware}/__init__.py +0 -0
  1422. {fastmcp-2.14.5/tests/server → fastmcp-3.0.0b1/tests/server/providers}/openapi/__init__.py +0 -0
  1423. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/sampling/test_sampling_tool.py +0 -0
  1424. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/__init__.py +0 -0
  1425. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_progress_dependency.py +0 -0
  1426. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_capabilities.py +0 -0
  1427. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_metadata.py +0 -0
  1428. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_methods.py +0 -0
  1429. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_protocol.py +0 -0
  1430. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_security.py +0 -0
  1431. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_status_notifications.py +0 -0
  1432. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_ttl.py +0 -0
  1433. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/test_app_state.py +0 -0
  1434. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/test_auth_integration.py +0 -0
  1435. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/test_icons.py +0 -0
  1436. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/test_run_server.py +0 -0
  1437. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/server/test_streamable_http_no_redirect.py +0 -0
  1438. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/tools/test_tool_future_annotations.py +0 -0
  1439. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/__init__.py +0 -0
  1440. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/__init__.py +0 -0
  1441. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/conftest.py +0 -0
  1442. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_allof_requestbody.py +0 -0
  1443. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_direct_array_schemas.py +0 -0
  1444. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_director.py +0 -0
  1445. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_legacy_compatibility.py +0 -0
  1446. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_parser.py +0 -0
  1447. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_transitive_references.py +0 -0
  1448. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/test_cli.py +0 -0
  1449. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/test_tests.py +0 -0
  1450. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/test_typeadapter.py +0 -0
  1451. {fastmcp-2.14.5 → fastmcp-3.0.0b1}/tests/utilities/test_version_check.py +0 -0
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: reviewing-code
3
+ description: Review code for quality, maintainability, and correctness. Use when reviewing pull requests, evaluating code changes, or providing feedback on implementations. Focuses on API design, patterns, and actionable feedback.
4
+ ---
5
+
6
+ # Code Review
7
+
8
+ ## Philosophy
9
+
10
+ Code review maintains a healthy codebase while helping contributors succeed. The burden of proof is on the PR to demonstrate it adds value. Your job is to help it get there through actionable feedback.
11
+
12
+ **Critical**: A perfectly written PR that adds unwanted functionality must still be rejected. The code must advance the codebase in the intended direction. When rejecting, provide clear guidance on how to align with project goals.
13
+
14
+ Be friendly and welcoming while maintaining high standards. Call out what works well. When code needs improvement, be specific about why and how to fix it.
15
+
16
+ ## What to Focus On
17
+
18
+ ### Does this advance the codebase correctly?
19
+
20
+ Even perfect code for unwanted features should be rejected.
21
+
22
+ ### API design and naming
23
+
24
+ Identify confusing patterns or non-idiomatic code:
25
+ - Parameter values that contradict defaults
26
+ - Mutable default arguments
27
+ - Unclear naming that will confuse future readers
28
+ - Inconsistent patterns with the rest of the codebase
29
+
30
+ ### Specific improvements
31
+
32
+ Provide actionable feedback, not generic observations.
33
+
34
+ ### User ergonomics
35
+
36
+ Think about the API from a user's perspective. Is it intuitive? What's the learning curve?
37
+
38
+ ## For Agent Reviewers
39
+
40
+ 1. **Read the full context**: Examine related files, tests, and documentation before reviewing
41
+ 2. **Check against established patterns**: Look for consistency with codebase conventions
42
+ 3. **Verify functionality claims**: Understand what the code actually does, not just what it claims
43
+ 4. **Consider edge cases**: Think through error conditions and boundary scenarios
44
+
45
+ ## What to Avoid
46
+
47
+ - Generic feedback without specifics
48
+ - Hypothetical problems unlikely to occur
49
+ - Nitpicking organizational choices without strong reason
50
+ - Summarizing what the PR already describes
51
+ - Star ratings or excessive emojis
52
+ - Bikeshedding style preferences when functionality is correct
53
+ - Requesting changes without suggesting solutions
54
+ - Focusing on personal coding style over project conventions
55
+
56
+ ## Tone
57
+
58
+ - Acknowledge good decisions: "This API design is clean"
59
+ - Be direct but respectful
60
+ - Explain impact: "This will confuse users because..."
61
+ - Remember: Someone else maintains this code forever
62
+
63
+ ## Decision Framework
64
+
65
+ Before approving, ask:
66
+
67
+ 1. Does this PR achieve its stated purpose?
68
+ 2. Is that purpose aligned with where the codebase should go?
69
+ 3. Would I be comfortable maintaining this code?
70
+ 4. Have I actually understood what it does, not just what it claims?
71
+ 5. Does this change introduce technical debt?
72
+
73
+ If something needs work, your review should help it get there through specific, actionable feedback. If it's solving the wrong problem, say so clearly.
74
+
75
+ ## Comment Examples
76
+
77
+ **Good comments:**
78
+
79
+ | Instead of | Write |
80
+ |------------|-------|
81
+ | "Add more tests" | "The `handle_timeout` method needs tests for the edge case where timeout=0" |
82
+ | "This API is confusing" | "The parameter name `data` is ambiguous - consider `message_content` to match the MCP specification" |
83
+ | "This could be better" | "This approach works but creates a circular dependency. Consider moving the validation to `utils/validators.py`" |
84
+
85
+ ## Checklist
86
+
87
+ Before approving, verify:
88
+
89
+ - [ ] All required development workflow steps completed (uv sync, prek, pytest)
90
+ - [ ] Changes align with repository patterns and conventions
91
+ - [ ] API changes are documented and backwards-compatible where possible
92
+ - [ ] Error handling follows project patterns (specific exception types)
93
+ - [ ] Tests cover new functionality and edge cases
94
+ - [ ] The change advances the codebase in the intended direction
@@ -0,0 +1,220 @@
1
+ ---
2
+ name: testing-python
3
+ description: Write and evaluate effective Python tests using pytest. Use when writing tests, reviewing test code, debugging test failures, or improving test coverage. Covers test design, fixtures, parameterization, mocking, and async testing.
4
+ ---
5
+
6
+ # Writing Effective Python Tests
7
+
8
+ ## Core Principles
9
+
10
+ Every test should be **atomic**, **self-contained**, and test **single functionality**. A test that tests multiple things is harder to debug and maintain.
11
+
12
+ ## Test Structure
13
+
14
+ ### Atomic unit tests
15
+
16
+ Each test should verify a single behavior. The test name should tell you what's broken when it fails. Multiple assertions are fine when they all verify the same behavior.
17
+
18
+ ```python
19
+ # Good: Name tells you what's broken
20
+ def test_user_creation_sets_defaults():
21
+ user = User(name="Alice")
22
+ assert user.role == "member"
23
+ assert user.id is not None
24
+ assert user.created_at is not None
25
+
26
+ # Bad: If this fails, what behavior is broken?
27
+ def test_user():
28
+ user = User(name="Alice")
29
+ assert user.role == "member"
30
+ user.promote()
31
+ assert user.role == "admin"
32
+ assert user.can_delete_others()
33
+ ```
34
+
35
+ ### Use parameterization for variations of the same concept
36
+
37
+ ```python
38
+ import pytest
39
+
40
+ @pytest.mark.parametrize("input,expected", [
41
+ ("hello", "HELLO"),
42
+ ("World", "WORLD"),
43
+ ("", ""),
44
+ ("123", "123"),
45
+ ])
46
+ def test_uppercase_conversion(input, expected):
47
+ assert input.upper() == expected
48
+ ```
49
+
50
+ ### Use separate tests for different functionality
51
+
52
+ Don't parameterize unrelated behaviors. If the test logic differs, write separate tests.
53
+
54
+ ## Project-Specific Rules
55
+
56
+ ### No async markers needed
57
+
58
+ This project uses `asyncio_mode = "auto"` globally. Write async tests without decorators:
59
+
60
+ ```python
61
+ # Correct
62
+ async def test_async_operation():
63
+ result = await some_async_function()
64
+ assert result == expected
65
+
66
+ # Wrong - don't add this
67
+ @pytest.mark.asyncio
68
+ async def test_async_operation():
69
+ ...
70
+ ```
71
+
72
+ ### Imports at module level
73
+
74
+ Put ALL imports at the top of the file:
75
+
76
+ ```python
77
+ # Correct
78
+ import pytest
79
+ from fastmcp import FastMCP
80
+ from fastmcp.client import Client
81
+
82
+ async def test_something():
83
+ mcp = FastMCP("test")
84
+ ...
85
+
86
+ # Wrong - no local imports
87
+ async def test_something():
88
+ from fastmcp import FastMCP # Don't do this
89
+ ...
90
+ ```
91
+
92
+ ### Use in-memory transport for testing
93
+
94
+ Pass FastMCP servers directly to clients:
95
+
96
+ ```python
97
+ from fastmcp import FastMCP
98
+ from fastmcp.client import Client
99
+
100
+ mcp = FastMCP("TestServer")
101
+
102
+ @mcp.tool
103
+ def greet(name: str) -> str:
104
+ return f"Hello, {name}!"
105
+
106
+ async def test_greet_tool():
107
+ async with Client(mcp) as client:
108
+ result = await client.call_tool("greet", {"name": "World"})
109
+ assert result[0].text == "Hello, World!"
110
+ ```
111
+
112
+ Only use HTTP transport when explicitly testing network features.
113
+
114
+ ### Inline snapshots for complex data
115
+
116
+ Use `inline-snapshot` for testing JSON schemas and complex structures:
117
+
118
+ ```python
119
+ from inline_snapshot import snapshot
120
+
121
+ def test_schema_generation():
122
+ schema = generate_schema(MyModel)
123
+ assert schema == snapshot() # Will auto-populate on first run
124
+ ```
125
+
126
+ Commands:
127
+ - `pytest --inline-snapshot=create` - populate empty snapshots
128
+ - `pytest --inline-snapshot=fix` - update after intentional changes
129
+
130
+ ## Fixtures
131
+
132
+ ### Prefer function-scoped fixtures
133
+
134
+ ```python
135
+ @pytest.fixture
136
+ def client():
137
+ return Client()
138
+
139
+ async def test_with_client(client):
140
+ result = await client.ping()
141
+ assert result is not None
142
+ ```
143
+
144
+ ### Use `tmp_path` for file operations
145
+
146
+ ```python
147
+ def test_file_writing(tmp_path):
148
+ file = tmp_path / "test.txt"
149
+ file.write_text("content")
150
+ assert file.read_text() == "content"
151
+ ```
152
+
153
+ ## Mocking
154
+
155
+ ### Mock at the boundary
156
+
157
+ ```python
158
+ from unittest.mock import patch, AsyncMock
159
+
160
+ async def test_external_api_call():
161
+ with patch("mymodule.external_client.fetch", new_callable=AsyncMock) as mock:
162
+ mock.return_value = {"data": "test"}
163
+ result = await my_function()
164
+ assert result == {"data": "test"}
165
+ ```
166
+
167
+ ### Don't mock what you own
168
+
169
+ Test your code with real implementations when possible. Mock external services, not internal classes.
170
+
171
+ ## Test Naming
172
+
173
+ Use descriptive names that explain the scenario:
174
+
175
+ ```python
176
+ # Good
177
+ def test_login_fails_with_invalid_password():
178
+ def test_user_can_update_own_profile():
179
+ def test_admin_can_delete_any_user():
180
+
181
+ # Bad
182
+ def test_login():
183
+ def test_update():
184
+ def test_delete():
185
+ ```
186
+
187
+ ## Error Testing
188
+
189
+ ```python
190
+ import pytest
191
+
192
+ def test_raises_on_invalid_input():
193
+ with pytest.raises(ValueError, match="must be positive"):
194
+ calculate(-1)
195
+
196
+ async def test_async_raises():
197
+ with pytest.raises(ConnectionError):
198
+ await connect_to_invalid_host()
199
+ ```
200
+
201
+ ## Running Tests
202
+
203
+ ```bash
204
+ uv run pytest -n auto # Run all tests in parallel
205
+ uv run pytest -n auto -x # Stop on first failure
206
+ uv run pytest path/to/test.py # Run specific file
207
+ uv run pytest -k "test_name" # Run tests matching pattern
208
+ uv run pytest -m "not integration" # Exclude integration tests
209
+ ```
210
+
211
+ ## Checklist
212
+
213
+ Before submitting tests:
214
+ - [ ] Each test tests one thing
215
+ - [ ] No `@pytest.mark.asyncio` decorators
216
+ - [ ] Imports at module level
217
+ - [ ] Descriptive test names
218
+ - [ ] Using in-memory transport (not HTTP) unless testing networking
219
+ - [ ] Parameterization for variations of same behavior
220
+ - [ ] Separate tests for different behaviors
@@ -0,0 +1,13 @@
1
+ ---
2
+ description:
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ There are four major MCP object types:
7
+
8
+ - Tools (src/tools/)
9
+ - Resources (src/resources/)
10
+ - Resource Templates (src/resources/)
11
+ - Prompts (src/prompts)
12
+
13
+ While these have slightly different semantics and implementations, in general changes that affect interactions with any one (like adding tags, importing, etc.) will need to be adopted, applied, and tested on all others. Note that while resources and resource templates are different objects, they are both in `src/resources/`.
@@ -0,0 +1,176 @@
1
+ name: Martian Issue Triage
2
+
3
+ on:
4
+ issues:
5
+ types: [opened, labeled]
6
+
7
+ jobs:
8
+ martian-issue-triage:
9
+ if: |
10
+ (github.event.action == 'opened' && github.actor == 'strawgate') ||
11
+ (github.event.action == 'labeled' && github.event.label.name == 'triage-martian')
12
+
13
+ concurrency:
14
+ group: triage-martian-${{ github.event.issue.number }}
15
+ cancel-in-progress: true
16
+
17
+ runs-on: ubuntu-latest
18
+ timeout-minutes: 10
19
+ permissions:
20
+ contents: read
21
+ issues: write
22
+ pull-requests: read
23
+ id-token: write
24
+
25
+ steps:
26
+ - name: Checkout base repository
27
+ uses: actions/checkout@v6
28
+ with:
29
+ repository: ${{ github.repository }}
30
+ ref: ${{ github.event.repository.default_branch }}
31
+
32
+ # Install UV package manager
33
+ - name: Install UV
34
+ uses: astral-sh/setup-uv@v7
35
+ with:
36
+ enable-cache: true
37
+ cache-dependency-glob: "uv.lock"
38
+
39
+ - name: Generate Marvin App token
40
+ id: marvin-token
41
+ uses: actions/create-github-app-token@v2
42
+ with:
43
+ app-id: ${{ secrets.MARVIN_APP_ID }}
44
+ private-key: ${{ secrets.MARVIN_APP_PRIVATE_KEY }}
45
+
46
+ - name: Set triage prompt
47
+ id: triage-prompt
48
+ run: |
49
+ cat >> $GITHUB_OUTPUT << 'EOF'
50
+ PROMPT<<PROMPT_END
51
+ You're an issue triage assistant for FastMCP, a Python framework for building Model Context Protocol servers and clients.
52
+
53
+ # IMPORTANT RULES
54
+ 1. You will not make branches or pull requests. Your ONLY action will be investigating the issue, locating related issues,
55
+ pull requests, and files in the repository and reporting your findings.
56
+ 2. You will identify the issue type (bug/feature/question) up front and tailor the Recommendation (e.g., for questions: answer directly + links; for bugs: point to failing tests/lines).
57
+ 3. You will avoid speculation and only assert facts that are deeply rooted (traceable) to the codebase, language/framework conventions, related issues, related pull requests, etc.
58
+ 4. The main branch of the repository has been cloned locally, but changes will not be accepted and you are not allowed to make pull requests or other changes. You can search the local repository for relevant code. You will use the available MCP Server tools identify related issues and pull requests (search_issues and search_pull_requests) and you can use search_code to look at the code in relevant dependent packages. For example, you can use search_code to look at the underlying SDK `https://github.com/modelcontextprotocol/python-sdk` to see how it implements a certain class or function relevant to the issue at hand.
59
+
60
+ # Getting Started
61
+ 1. Call the generate_agents_md tool to get a high-level summary of the project you're working in
62
+ 2. Get the issue ${{ github.event.issue.number }} in the GitHub repository: ${{ github.repository }}.
63
+ 3. Use the search_issues and search_pull_requests tools to scour the repository for actually related issues and pull requests
64
+ 4. Call the search_code, get_files, etc. tools to search the repository to identify the related classes, methods, docs, tests, etc that are relevant to the issue.
65
+
66
+ # Providing a Great Response
67
+ Your number one priority is to provide a great response to the issue. A great response is a response that is clear, concise, accurate, and actionable. You will avoid long paragraphs, flowery language, and overly verbose responses. Your readers have limited time and attention, so you will be concise and to the point.
68
+
69
+ In priority order your goal is to:
70
+ 1. Provide context about the request or issue (related issues, pull requests, files, etc.)
71
+ 2. Layout a single high-quality and actionable recommendation for how to address the issue based on your knowledge of the project, codebase, and issue
72
+ 3. Provide an high quality and detailed plan that a junior developer could follow to implement the recommendation
73
+
74
+ Populate the following sections in your response:
75
+ Recommendation (or “No recommendation” with reason)
76
+ Findings
77
+ Detailed Action Plan
78
+ Related Items
79
+ Related Files
80
+ Related Webpages
81
+
82
+ You may not be able to do all of these things, sometimes you may find that all you can do is provide in-depth context of the issue and related items. That's perfectly acceptable and expected. Your performance is judged by how accurate your findings are, do the investigation required to have high confidence in your findings and recommendations. "I don't know" or "I'm unable to recommend a course of action" is better than a bad or wrong answer.
83
+
84
+ When formulating your response, you will never "bury the lede", you will always provide a clear and concise tl;dr as the first thing in your response. As your response grows in length you can organize the more detailed parts of your response collapsible sections using <details> and <summary> tags. You shouldn't put everything in collapsible sections, especially if the response is short. Use your discretion to determine when to use collapsible sections to avoid overwhelming the reader with too much detail -- think of them like an appendix that can be expanded if the reader is interested.
85
+
86
+ # Example output for "Recommendation" part of the response
87
+ PR #654 already implements the requested feature but is incomplete. The Pull Request is not in a mergeable state yet, the remaining work should be completed: 1) update the Calculator.divide method to utilize the new DivisionByZeroError or the safe_divide function, and 2) update the tests to ensure that the Calculator.divide method raises the new DivisionByZeroError when the divisor is 0.
88
+
89
+ <details>
90
+ <summary>Findings</summary>
91
+ ...details from the code analysis that are relevant to the issue and the recommendation...
92
+ </details>
93
+
94
+ <details>
95
+ <summary>Detailed Action Plan</summary>
96
+ ...a detailed plan that a junior developer could follow to implement the recommendation...
97
+ </details>
98
+
99
+ # Example Output for "Related Items" part of the response
100
+
101
+ <details>
102
+ <summary>Related Issues and Pull Requests</summary>
103
+
104
+ | Repository | Issue or PR | Relevance |
105
+ | --- | --- | --- |
106
+ | jlowin/fastmcp | [Add matrix operations support](https://github.com/jlowin/fastmcp/pull/680) | This pull request directly addresses the feature request for adding matrix operations to the calculator. |
107
+ | jlowin/fastmcp | [Add matrix operations support](https://github.com/jlowin/fastmcp/issues/681) | This issue directly addresses the feature request for adding matrix operations to the calculator. |
108
+ </details>
109
+
110
+ <details>
111
+ <summary>Related Files</summary>
112
+
113
+ | Repository | File | Relevance | Sections |
114
+ | --- | --- | --- | --- |
115
+ | modelcontextprotocol/python-sdk | [test_calculator.py](https://github.com/modelcontextprotocol/python-sdk/blob/main/test_calculator.py) | This file contains the test cases for the Calculator class, including a test that specifically asserts a ValueError is raised for division by zero, confirming the current intended behavior. | [25-27](https://github.com/modelcontextprotocol/python-sdk/blob/main/test_calculator.py#L25-L27) |
116
+ | modelcontextprotocol/python-sdk | [calculator.py](https://github.com/modelcontextprotocol/python-sdk/blob/main/calculator.py) | This file contains the implementation of the Calculator class, specifically the `divide` method which raises the ValueError when dividing by zero, matching the bug report. | [29-32](https://github.com/modelcontextprotocol/python-sdk/blob/main/calculator.py#L29-L32) |
117
+ </details>
118
+
119
+ <details>
120
+ <summary>Related Webpages</summary>
121
+ | Name | URL | Relevance |
122
+ | --- | --- | --- |
123
+ | Handling Division by Zero Best Practices | https://my-blog-about-division-by-zero.com/handling+division+by+zero+in+calculator | This webpage provides general best practices for handling division by zero in calculator applications and in Python, which is directly relevant to the issue and potential solutions. |
124
+ </details>
125
+
126
+ PROMPT_END
127
+ EOF
128
+
129
+ - name: Setup GitHub MCP Server
130
+ run: |
131
+ mkdir -p /tmp/mcp-config
132
+ cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
133
+ {
134
+ "mcpServers": {
135
+ "repository-summary": {
136
+ "type": "http",
137
+ "url": "https://agents-md-generator.fastmcp.app/mcp"
138
+ },
139
+ "code-search": {
140
+ "type": "http",
141
+ "url": "https://public-code-search.fastmcp.app/mcp"
142
+ },
143
+ "github-research": {
144
+ "type": "stdio",
145
+ "command": "uvx",
146
+ "args": [
147
+ "github-research-mcp"
148
+ ],
149
+ "env": {
150
+ "DISABLE_SUMMARIES": "true",
151
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${{ steps.marvin-token.outputs.token }}"
152
+ }
153
+ }
154
+ }
155
+ }
156
+ EOF
157
+
158
+ - name: Clean up stale Claude locks
159
+ run: rm -rf ~/.claude/.locks ~/.local/state/claude/locks || true
160
+
161
+ - name: Run Martian for Issue Triage
162
+ uses: anthropics/claude-code-action@v1
163
+ with:
164
+ github_token: ${{ steps.marvin-token.outputs.token }}
165
+ bot_name: "Marvin Context Protocol"
166
+ prompt: ${{ steps.triage-prompt.outputs.PROMPT }}
167
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY_FOR_CI }}
168
+ track_progress: true
169
+ claude_args: |
170
+ --model claude-sonnet-4-5-20250929
171
+ --allowedTools mcp__repository-summary,mcp__code-search__search_code,mcp__github-research__get_repository,mcp__github-research__get_issue,mcp__github-research__get_pull_request,mcp__github-research__search_issues,mcp__github-research__search_pull_requests,mcp__github-research__get_files
172
+ --mcp-config /tmp/mcp-config/mcp-servers.json
173
+ settings: |
174
+ {
175
+ "GH_TOKEN": "${{ steps.marvin-token.outputs.token }}"
176
+ }
@@ -0,0 +1,185 @@
1
+ name: Marvin Test Failure Analysis
2
+
3
+ on:
4
+ workflow_run:
5
+ workflows: ["Tests", "Run static analysis"]
6
+ types:
7
+ - completed
8
+
9
+ concurrency:
10
+ group: marvin-test-failure-${{ github.event.workflow_run.head_branch }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ martian-test-failure:
15
+ # Only run if the test workflow failed
16
+ if: ${{ github.event.workflow_run.conclusion == 'failure' }}
17
+ runs-on: ubuntu-latest
18
+ permissions:
19
+ contents: read
20
+ pull-requests: write
21
+ issues: read
22
+ id-token: write
23
+ actions: read # Required for Claude to read CI results
24
+ steps:
25
+ - name: Checkout repository
26
+ uses: actions/checkout@v6
27
+ with:
28
+ fetch-depth: 1
29
+
30
+ - name: Generate Marvin App token
31
+ id: marvin-token
32
+ uses: actions/create-github-app-token@v2
33
+ with:
34
+ app-id: ${{ secrets.MARVIN_APP_ID }}
35
+ private-key: ${{ secrets.MARVIN_APP_PRIVATE_KEY }}
36
+
37
+ - name: Set up Python 3.10
38
+ uses: actions/setup-python@v6
39
+ with:
40
+ python-version: "3.10"
41
+
42
+ # Install UV package manager
43
+ - name: Install UV
44
+ uses: astral-sh/setup-uv@v7
45
+
46
+ # Install dependencies
47
+ - name: Install dependencies
48
+ run: uv sync --all-packages --group dev
49
+
50
+ - name: Set analysis prompt
51
+ id: analysis-prompt
52
+ run: |
53
+ cat >> $GITHUB_OUTPUT << 'EOF'
54
+ PROMPT<<PROMPT_END
55
+ You're a test failure analysis assistant for FastMCP, a Python framework for building Model Context Protocol servers and clients.
56
+
57
+ # Your Task
58
+ A GitHub Actions workflow has failed. Your job is to:
59
+ 1. Analyze the test failure(s) to understand what went wrong
60
+ 2. Identify the root cause of the failure(s)
61
+ 3. Suggest a clear, actionable solution to fix the failure(s)
62
+
63
+ # Getting Started
64
+ 1. Call the generate_agents_md tool to get a high-level summary of the project
65
+ 2. Get the pull request associated with this workflow run from the GitHub repository: ${{ github.repository }}
66
+ - The workflow run ID is: ${{ github.event.workflow_run.id }}
67
+ - The workflow run was triggered by: ${{ github.event.workflow_run.event }}
68
+ - Use GitHub MCP tools to get PR details and workflow run information
69
+ 3. Use the GitHub MCP tools to fetch job logs and failure information:
70
+ - Use get_workflow_run to get details about the failed workflow
71
+ - Use list_workflow_jobs to see which jobs failed
72
+ - Use get_job_logs with failed_only=true to get logs for failed jobs
73
+ - Use summarize_run_log_failures to get an AI summary of what failed
74
+ 4. Analyze the failures to understand the root cause
75
+ 5. Search the codebase for relevant files, tests, and implementations
76
+
77
+ # Your Response
78
+ Post a comment on the pull request with your analysis. Your comment should include:
79
+
80
+ ## Test Failure Analysis
81
+
82
+ **Summary**: A brief 1-2 sentence summary of what failed.
83
+
84
+ **Root Cause**: A clear explanation of why the tests failed, based on your analysis of the logs and code.
85
+
86
+ **Suggested Solution**: Specific, actionable steps to fix the failure(s). Include:
87
+ - Which files need to be modified
88
+ - What changes are needed
89
+ - Why these changes will fix the issue
90
+
91
+ <details>
92
+ <summary>Detailed Analysis</summary>
93
+
94
+ Include here:
95
+ - Relevant log excerpts showing the failure
96
+ - Code snippets that are causing the issue
97
+ - Any related issues or PRs that might be relevant
98
+ </details>
99
+
100
+ <details>
101
+ <summary>Related Files</summary>
102
+
103
+ List files that are relevant to the failure with brief explanations of their relevance.
104
+ </details>
105
+
106
+ # Important Guidelines
107
+ - Be concise and actionable - developers want to quickly understand and fix the issue. Provide
108
+ additional context, references, etc in collapsible details blocks to ensure that the comment you're adding
109
+ is short and easy to read but additional information is a click away.
110
+ - Focus on facts from the logs and code, not speculation
111
+ - If you can't determine the root cause, say so clearly
112
+ - If your only suggestion is a bad suggestion (disable the test, change the timeout, etc), indicate that you've run out of ideas and
113
+ that they probably don't want to do that.
114
+ - Provide specific file names, line numbers, and code references when possible
115
+ - You can run make commands (e.g., `make lint`, `make typecheck`, `make sync`) to build, test, or lint the code
116
+ - You can also run git commands (e.g., `git status`, `git log`, `git diff`) to inspect the repository
117
+ - You can use WebSearch and WebFetch to research errors, stack traces, or related issues
118
+ - For bash commands, you are limited to make and git commands only
119
+
120
+ # CRITICAL: ANGRY USERS
121
+ **IMPORTANT**: If the user is angry with you, the triage bot, don't respond. Just exit immediately without further action.
122
+ If at any point in the conversation the user has asked you to stop replying to the thread, just exit immediately.
123
+
124
+ If you are posting the same suggestion as you have previously made, do not post the suggestion again.
125
+
126
+ # IMPORTANT: EDIT YOUR COMMENT
127
+ Do not post a new comment every time you triage a failing workflow. If a previous comment has been posted by you (marvin)
128
+ in a previous triage, edit that comment do not add a new comment for each failure. Be sure to include a note that you've edited
129
+ your comment to reflect the latest analysis. Don't worry about keeping the old content around, there's comment history for
130
+ that.
131
+
132
+ # Problems Encountered
133
+ If you encounter any problems during your analysis (e.g., unable to fetch logs, tools not working), document them clearly so the team knows what limitations you faced.
134
+ PROMPT_END
135
+ EOF
136
+
137
+ - name: Setup GitHub MCP Server
138
+ run: |
139
+ mkdir -p /tmp/mcp-config
140
+ cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
141
+ {
142
+ "mcpServers": {
143
+ "repository-summary": {
144
+ "type": "http",
145
+ "url": "https://agents-md-generator.fastmcp.app/mcp"
146
+ },
147
+ "code-search": {
148
+ "type": "http",
149
+ "url": "https://public-code-search.fastmcp.app/mcp"
150
+ },
151
+ "github-research": {
152
+ "type": "stdio",
153
+ "command": "uvx",
154
+ "args": [
155
+ "github-research-mcp"
156
+ ],
157
+ "env": {
158
+ "DISABLE_SUMMARIES": "true",
159
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
160
+ }
161
+ }
162
+ }
163
+ }
164
+ EOF
165
+
166
+ - name: Clean up stale Claude locks
167
+ run: rm -rf ~/.claude/.locks ~/.local/state/claude/locks || true
168
+
169
+ - name: Run Claude Code
170
+ id: claude
171
+ uses: anthropics/claude-code-action@v1
172
+ with:
173
+ github_token: ${{ steps.marvin-token.outputs.token }}
174
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY_FOR_CI }}
175
+ bot_name: "Marvin Context Protocol"
176
+
177
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
178
+
179
+ additional_permissions: |
180
+ actions: read
181
+
182
+ prompt: ${{ steps.analysis-prompt.outputs.PROMPT }}
183
+ claude_args: |
184
+ --allowed-tools mcp__repository-summary,mcp__code-search,mcp__github-research,WebSearch,WebFetch,Bash(make:*,git:*)
185
+ --mcp-config /tmp/mcp-config/mcp-servers.json