fastmcp 2.14.4__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 (1449) 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/clients/auth/oauth.mdx +131 -0
  20. fastmcp-3.0.0b1/docs/clients/client.mdx +237 -0
  21. fastmcp-3.0.0b1/docs/clients/elicitation.mdx +138 -0
  22. fastmcp-3.0.0b1/docs/clients/logging.mdx +92 -0
  23. fastmcp-3.0.0b1/docs/clients/notifications.mdx +155 -0
  24. fastmcp-3.0.0b1/docs/clients/progress.mdx +67 -0
  25. fastmcp-3.0.0b1/docs/clients/prompts.mdx +147 -0
  26. fastmcp-3.0.0b1/docs/clients/resources.mdx +110 -0
  27. fastmcp-3.0.0b1/docs/clients/roots.mdx +45 -0
  28. fastmcp-3.0.0b1/docs/clients/sampling.mdx +172 -0
  29. fastmcp-3.0.0b1/docs/clients/tasks.mdx +182 -0
  30. fastmcp-3.0.0b1/docs/clients/tools.mdx +183 -0
  31. fastmcp-3.0.0b1/docs/clients/transports.mdx +235 -0
  32. fastmcp-3.0.0b1/docs/css/style.css +59 -0
  33. fastmcp-3.0.0b1/docs/deployment/http.mdx +735 -0
  34. fastmcp-3.0.0b1/docs/deployment/running-server.mdx +286 -0
  35. fastmcp-3.0.0b1/docs/development/upgrade-guide.mdx +550 -0
  36. fastmcp-3.0.0b1/docs/development/v3-notes/auth-provider-env-vars.mdx +73 -0
  37. fastmcp-3.0.0b1/docs/development/v3-notes/v3-features.mdx +1062 -0
  38. fastmcp-3.0.0b1/docs/docs.json +866 -0
  39. fastmcp-3.0.0b1/docs/getting-started/installation.mdx +122 -0
  40. fastmcp-3.0.0b1/docs/getting-started/welcome.mdx +123 -0
  41. fastmcp-3.0.0b1/docs/integrations/auth0.mdx +195 -0
  42. fastmcp-3.0.0b1/docs/integrations/authkit.mdx +96 -0
  43. fastmcp-3.0.0b1/docs/integrations/aws-cognito.mdx +278 -0
  44. fastmcp-3.0.0b1/docs/integrations/azure.mdx +280 -0
  45. fastmcp-3.0.0b1/docs/integrations/chatgpt.mdx +156 -0
  46. fastmcp-3.0.0b1/docs/integrations/claude-desktop.mdx +299 -0
  47. fastmcp-3.0.0b1/docs/integrations/descope.mdx +113 -0
  48. fastmcp-3.0.0b1/docs/integrations/discord.mdx +183 -0
  49. fastmcp-3.0.0b1/docs/integrations/fastapi.mdx +445 -0
  50. fastmcp-3.0.0b1/docs/integrations/gemini-cli.mdx +173 -0
  51. fastmcp-3.0.0b1/docs/integrations/github.mdx +175 -0
  52. fastmcp-3.0.0b1/docs/integrations/google.mdx +189 -0
  53. fastmcp-3.0.0b1/docs/integrations/oci.mdx +248 -0
  54. fastmcp-3.0.0b1/docs/integrations/openapi.mdx +455 -0
  55. fastmcp-3.0.0b1/docs/integrations/scalekit.mdx +155 -0
  56. fastmcp-3.0.0b1/docs/integrations/supabase.mdx +111 -0
  57. fastmcp-3.0.0b1/docs/integrations/workos.mdx +200 -0
  58. fastmcp-3.0.0b1/docs/patterns/cli.mdx +581 -0
  59. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-cli-cli.mdx +129 -0
  60. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-cli-run.mdx +117 -0
  61. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-auth-oauth.mdx +104 -0
  62. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-client.mdx +286 -0
  63. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-__init__.mdx +9 -0
  64. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-prompts.mdx +119 -0
  65. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-resources.mdx +158 -0
  66. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-task_management.mdx +110 -0
  67. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-mixins-tools.mdx +141 -0
  68. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-__init__.mdx +14 -0
  69. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-handlers-__init__.mdx +8 -0
  70. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-handlers-anthropic.mdx +17 -0
  71. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-sampling-handlers-openai.mdx +17 -0
  72. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-tasks.mdx +219 -0
  73. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-telemetry.mdx +23 -0
  74. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-__init__.mdx +8 -0
  75. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-base.mdx +62 -0
  76. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-config.mdx +72 -0
  77. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-http.mdx +37 -0
  78. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-inference.mdx +56 -0
  79. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-memory.mdx +27 -0
  80. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-sse.mdx +25 -0
  81. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-client-transports-stdio.mdx +79 -0
  82. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-decorators.mdx +39 -0
  83. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-dependencies.mdx +18 -0
  84. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-exceptions.mdx +71 -0
  85. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-mcp_config.mdx +188 -0
  86. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-prompts-function_prompt.mdx +106 -0
  87. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-prompts-prompt.mdx +145 -0
  88. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-function_resource.mdx +93 -0
  89. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-resource.mdx +173 -0
  90. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-template.mdx +244 -0
  91. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-resources-types.mdx +134 -0
  92. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-auth.mdx +279 -0
  93. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-authorization.mdx +139 -0
  94. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-__init__.mdx +16 -0
  95. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-consent.mdx +28 -0
  96. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-models.mdx +104 -0
  97. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-proxy.mdx +322 -0
  98. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-oauth_proxy-ui.mdx +50 -0
  99. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-auth0.mdx +41 -0
  100. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-aws.mdx +82 -0
  101. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-azure.mdx +70 -0
  102. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-descope.mdx +60 -0
  103. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-discord.mdx +66 -0
  104. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-github.mdx +66 -0
  105. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-google.mdx +66 -0
  106. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-introspection.mdx +75 -0
  107. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-jwt.mdx +146 -0
  108. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-oci.mdx +97 -0
  109. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-scalekit.mdx +61 -0
  110. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-supabase.mdx +67 -0
  111. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-auth-providers-workos.mdx +102 -0
  112. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-context.mdx +644 -0
  113. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-dependencies.mdx +405 -0
  114. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-elicitation.mdx +145 -0
  115. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-http.mdx +106 -0
  116. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-lifespan.mdx +101 -0
  117. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-low_level.mdx +96 -0
  118. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-authorization.mdx +116 -0
  119. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-caching.mdx +221 -0
  120. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-middleware.mdx +112 -0
  121. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-ping.mdx +32 -0
  122. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-middleware-tool_injection.mdx +91 -0
  123. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-__init__.mdx +9 -0
  124. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-lifespan.mdx +30 -0
  125. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-mcp_operations.mdx +23 -0
  126. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-mixins-transport.mdx +131 -0
  127. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-__init__.mdx +27 -0
  128. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-components.mdx +12 -0
  129. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-routing.mdx +13 -0
  130. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-openapi-server.mdx +43 -0
  131. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-__init__.mdx +34 -0
  132. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-aggregate.mdx +83 -0
  133. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-base.mdx +306 -0
  134. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-fastmcp_provider.mdx +238 -0
  135. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-filesystem.mdx +54 -0
  136. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-filesystem_discovery.mdx +104 -0
  137. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-__init__.mdx +13 -0
  138. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-__init__.mdx +13 -0
  139. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-prompts.mdx +81 -0
  140. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-resources.mdx +77 -0
  141. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-tools.mdx +84 -0
  142. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-local_provider-local_provider.mdx +125 -0
  143. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-__init__.mdx +23 -0
  144. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-components.mdx +62 -0
  145. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-provider.mdx +31 -0
  146. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-openapi-routing.mdx +23 -0
  147. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-proxy.mdx +310 -0
  148. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-__init__.mdx +32 -0
  149. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-claude_provider.mdx +25 -0
  150. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-directory_provider.mdx +31 -0
  151. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-skill_provider.mdx +109 -0
  152. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-skills-vendor_providers.mdx +56 -0
  153. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-providers-wrapped_provider.mdx +13 -0
  154. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-proxy.mdx +14 -0
  155. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-sampling-__init__.mdx +9 -0
  156. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-sampling-run.mdx +186 -0
  157. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-sampling-sampling_tool.mdx +76 -0
  158. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-server.mdx +893 -0
  159. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-capabilities.mdx +29 -0
  160. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-config.mdx +96 -0
  161. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-handlers.mdx +41 -0
  162. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-keys.mdx +89 -0
  163. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-requests.mdx +91 -0
  164. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-routing.mdx +37 -0
  165. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-tasks-subscriptions.mdx +38 -0
  166. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-telemetry.mdx +56 -0
  167. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-__init__.mdx +193 -0
  168. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-namespace.mdx +96 -0
  169. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-prompts_as_tools.mdx +59 -0
  170. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-resources_as_tools.mdx +59 -0
  171. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-tool_transform.mdx +40 -0
  172. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-version_filter.mdx +85 -0
  173. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-server-transforms-visibility.mdx +261 -0
  174. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-settings.mdx +50 -0
  175. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-telemetry.mdx +95 -0
  176. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-function_parsing.mdx +21 -0
  177. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-function_tool.mdx +108 -0
  178. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-tool.mdx +116 -0
  179. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-tools-tool_transform.mdx +311 -0
  180. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-async_utils.mdx +44 -0
  181. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-cli.mdx +48 -0
  182. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-components.mdx +148 -0
  183. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-inspect.mdx +143 -0
  184. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-json_schema.mdx +79 -0
  185. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-json_schema_type.mdx +110 -0
  186. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-lifespan.mdx +36 -0
  187. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-logging.mdx +58 -0
  188. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-pagination.mdx +66 -0
  189. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-skills.mdx +114 -0
  190. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-tests.mdx +96 -0
  191. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-timeout.mdx +44 -0
  192. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-version_check.mdx +40 -0
  193. fastmcp-3.0.0b1/docs/python-sdk/fastmcp-utilities-versions.mdx +194 -0
  194. fastmcp-3.0.0b1/docs/servers/auth/authentication.mdx +216 -0
  195. fastmcp-3.0.0b1/docs/servers/auth/oauth-proxy.mdx +590 -0
  196. fastmcp-3.0.0b1/docs/servers/auth/oidc-proxy.mdx +264 -0
  197. fastmcp-3.0.0b1/docs/servers/auth/remote-oauth.mdx +225 -0
  198. fastmcp-3.0.0b1/docs/servers/auth/token-verification.mdx +351 -0
  199. fastmcp-3.0.0b1/docs/servers/authorization.mdx +348 -0
  200. fastmcp-3.0.0b1/docs/servers/context.mdx +651 -0
  201. fastmcp-3.0.0b1/docs/servers/elicitation.mdx +357 -0
  202. fastmcp-3.0.0b1/docs/servers/icons.mdx +151 -0
  203. fastmcp-3.0.0b1/docs/servers/lifespan.mdx +148 -0
  204. fastmcp-3.0.0b1/docs/servers/logging.mdx +87 -0
  205. fastmcp-3.0.0b1/docs/servers/middleware.mdx +843 -0
  206. fastmcp-3.0.0b1/docs/servers/pagination.mdx +93 -0
  207. fastmcp-3.0.0b1/docs/servers/progress.mdx +51 -0
  208. fastmcp-3.0.0b1/docs/servers/prompts.mdx +459 -0
  209. fastmcp-3.0.0b1/docs/servers/providers/custom.mdx +245 -0
  210. fastmcp-3.0.0b1/docs/servers/providers/filesystem.mdx +256 -0
  211. fastmcp-3.0.0b1/docs/servers/providers/local.mdx +161 -0
  212. fastmcp-3.0.0b1/docs/servers/providers/mounting.mdx +309 -0
  213. fastmcp-3.0.0b1/docs/servers/providers/namespace.mdx +64 -0
  214. fastmcp-3.0.0b1/docs/servers/providers/namespacing.mdx +9 -0
  215. fastmcp-3.0.0b1/docs/servers/providers/overview.mdx +81 -0
  216. fastmcp-3.0.0b1/docs/servers/providers/prompts-as-tools.mdx +126 -0
  217. fastmcp-3.0.0b1/docs/servers/providers/proxy.mdx +301 -0
  218. fastmcp-3.0.0b1/docs/servers/providers/resources-as-tools.mdx +105 -0
  219. fastmcp-3.0.0b1/docs/servers/providers/skills.mdx +301 -0
  220. fastmcp-3.0.0b1/docs/servers/providers/tool-transformation.mdx +192 -0
  221. fastmcp-3.0.0b1/docs/servers/providers/transforms.mdx +174 -0
  222. fastmcp-3.0.0b1/docs/servers/resources.mdx +745 -0
  223. fastmcp-3.0.0b1/docs/servers/sampling.mdx +526 -0
  224. fastmcp-3.0.0b1/docs/servers/server.mdx +256 -0
  225. fastmcp-3.0.0b1/docs/servers/tasks.mdx +265 -0
  226. fastmcp-3.0.0b1/docs/servers/telemetry.mdx +280 -0
  227. fastmcp-3.0.0b1/docs/servers/tools.mdx +1076 -0
  228. fastmcp-3.0.0b1/docs/servers/versioning.mdx +336 -0
  229. fastmcp-3.0.0b1/docs/servers/visibility.mdx +452 -0
  230. fastmcp-3.0.0b1/docs/snippets/version-badge.mdx +7 -0
  231. fastmcp-3.0.0b1/docs/updates.mdx +413 -0
  232. fastmcp-3.0.0b1/docs/v2/changelog.mdx +2280 -0
  233. fastmcp-3.0.0b1/docs/v2/clients/auth/bearer.mdx +88 -0
  234. fastmcp-3.0.0b1/docs/v2/clients/client.mdx +340 -0
  235. fastmcp-3.0.0b1/docs/v2/clients/messages.mdx +129 -0
  236. fastmcp-3.0.0b1/docs/v2/clients/sampling.mdx +258 -0
  237. fastmcp-3.0.0b1/docs/v2/clients/tasks.mdx +138 -0
  238. fastmcp-3.0.0b1/docs/v2/clients/tools.mdx +295 -0
  239. fastmcp-3.0.0b1/docs/v2/community/showcase.mdx +65 -0
  240. fastmcp-3.0.0b1/docs/v2/deployment/fastmcp-cloud.mdx +89 -0
  241. fastmcp-3.0.0b1/docs/v2/deployment/http.mdx +736 -0
  242. fastmcp-3.0.0b1/docs/v2/deployment/running-server.mdx +258 -0
  243. fastmcp-3.0.0b1/docs/v2/deployment/server-configuration.mdx +640 -0
  244. fastmcp-3.0.0b1/docs/v2/development/contributing.mdx +187 -0
  245. fastmcp-3.0.0b1/docs/v2/development/releases.mdx +79 -0
  246. fastmcp-3.0.0b1/docs/v2/development/tests.mdx +396 -0
  247. fastmcp-3.0.0b1/docs/v2/development/upgrade-guide.mdx +153 -0
  248. fastmcp-3.0.0b1/docs/v2/getting-started/installation.mdx +100 -0
  249. fastmcp-3.0.0b1/docs/v2/getting-started/quickstart.mdx +136 -0
  250. fastmcp-3.0.0b1/docs/v2/getting-started/welcome.mdx +115 -0
  251. fastmcp-3.0.0b1/docs/v2/integrations/anthropic.mdx +228 -0
  252. fastmcp-3.0.0b1/docs/v2/integrations/auth0.mdx +277 -0
  253. fastmcp-3.0.0b1/docs/v2/integrations/authkit.mdx +133 -0
  254. fastmcp-3.0.0b1/docs/v2/integrations/aws-cognito.mdx +365 -0
  255. fastmcp-3.0.0b1/docs/v2/integrations/azure.mdx +391 -0
  256. fastmcp-3.0.0b1/docs/v2/integrations/claude-code.mdx +177 -0
  257. fastmcp-3.0.0b1/docs/v2/integrations/claude-desktop.mdx +298 -0
  258. fastmcp-3.0.0b1/docs/v2/integrations/cursor-install-mcp.png +0 -0
  259. fastmcp-3.0.0b1/docs/v2/integrations/cursor.mdx +284 -0
  260. fastmcp-3.0.0b1/docs/v2/integrations/descope.mdx +146 -0
  261. fastmcp-3.0.0b1/docs/v2/integrations/discord.mdx +255 -0
  262. fastmcp-3.0.0b1/docs/v2/integrations/eunomia-authorization.mdx +129 -0
  263. fastmcp-3.0.0b1/docs/v2/integrations/fastapi.mdx +451 -0
  264. fastmcp-3.0.0b1/docs/v2/integrations/gemini.mdx +108 -0
  265. fastmcp-3.0.0b1/docs/v2/integrations/github.mdx +253 -0
  266. fastmcp-3.0.0b1/docs/v2/integrations/google.mdx +267 -0
  267. fastmcp-3.0.0b1/docs/v2/integrations/images/authkit/enable_dcr.png +0 -0
  268. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/abac_condition_example.png +0 -0
  269. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/abac_policy_example.png +0 -0
  270. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/policy_mapping.png +0 -0
  271. fastmcp-3.0.0b1/docs/v2/integrations/images/permit/role_assignement.png +0 -0
  272. fastmcp-3.0.0b1/docs/v2/integrations/mcp-json-configuration.mdx +422 -0
  273. fastmcp-3.0.0b1/docs/v2/integrations/oci.mdx +333 -0
  274. fastmcp-3.0.0b1/docs/v2/integrations/openai.mdx +227 -0
  275. fastmcp-3.0.0b1/docs/v2/integrations/permit.mdx +352 -0
  276. fastmcp-3.0.0b1/docs/v2/integrations/scalekit.mdx +194 -0
  277. fastmcp-3.0.0b1/docs/v2/integrations/supabase.mdx +148 -0
  278. fastmcp-3.0.0b1/docs/v2/integrations/workos.mdx +288 -0
  279. fastmcp-3.0.0b1/docs/v2/patterns/cli.mdx +577 -0
  280. fastmcp-3.0.0b1/docs/v2/patterns/contrib.mdx +45 -0
  281. fastmcp-3.0.0b1/docs/v2/patterns/testing.mdx +104 -0
  282. fastmcp-3.0.0b1/docs/v2/patterns/tool-transformation.mdx +707 -0
  283. fastmcp-3.0.0b1/docs/v2/servers/auth/authentication.mdx +266 -0
  284. fastmcp-3.0.0b1/docs/v2/servers/auth/full-oauth-server.mdx +229 -0
  285. fastmcp-3.0.0b1/docs/v2/servers/auth/oauth-proxy.mdx +594 -0
  286. fastmcp-3.0.0b1/docs/v2/servers/auth/oidc-proxy.mdx +269 -0
  287. fastmcp-3.0.0b1/docs/v2/servers/auth/remote-oauth.mdx +226 -0
  288. fastmcp-3.0.0b1/docs/v2/servers/composition.mdx +326 -0
  289. fastmcp-3.0.0b1/docs/v2/servers/context.mdx +613 -0
  290. fastmcp-3.0.0b1/docs/v2/servers/elicitation.mdx +462 -0
  291. fastmcp-3.0.0b1/docs/v2/servers/logging.mdx +249 -0
  292. fastmcp-3.0.0b1/docs/v2/servers/middleware.mdx +816 -0
  293. fastmcp-3.0.0b1/docs/v2/servers/progress.mdx +189 -0
  294. fastmcp-3.0.0b1/docs/v2/servers/prompts.mdx +353 -0
  295. fastmcp-3.0.0b1/docs/v2/servers/proxy.mdx +349 -0
  296. fastmcp-3.0.0b1/docs/v2/servers/resources.mdx +663 -0
  297. fastmcp-3.0.0b1/docs/v2/servers/sampling.mdx +488 -0
  298. fastmcp-3.0.0b1/docs/v2/servers/server.mdx +436 -0
  299. fastmcp-3.0.0b1/docs/v2/servers/storage-backends.mdx +275 -0
  300. fastmcp-3.0.0b1/docs/v2/servers/tools.mdx +986 -0
  301. fastmcp-3.0.0b1/docs/v2/tutorials/create-mcp-server.mdx +198 -0
  302. fastmcp-3.0.0b1/docs/v2/tutorials/mcp.mdx +120 -0
  303. fastmcp-3.0.0b1/docs/v2/tutorials/rest-api.mdx +203 -0
  304. fastmcp-3.0.0b1/docs/v2-banner.js +39 -0
  305. fastmcp-3.0.0b1/examples/custom_tool_serializer_decorator.py +72 -0
  306. fastmcp-3.0.0b1/examples/diagnostics/client_with_tracing.py +161 -0
  307. fastmcp-3.0.0b1/examples/diagnostics/server.py +125 -0
  308. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/prompts/assistant.py +39 -0
  309. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/resources/config.py +55 -0
  310. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/tools/calculator.py +24 -0
  311. fastmcp-3.0.0b1/examples/filesystem-provider/mcp/tools/greeting.py +28 -0
  312. fastmcp-3.0.0b1/examples/filesystem-provider/server.py +29 -0
  313. fastmcp-3.0.0b1/examples/mount_example.py +111 -0
  314. fastmcp-3.0.0b1/examples/namespace_activation/README.md +55 -0
  315. fastmcp-3.0.0b1/examples/namespace_activation/client.py +76 -0
  316. fastmcp-3.0.0b1/examples/namespace_activation/server.py +73 -0
  317. fastmcp-3.0.0b1/examples/persistent_state/README.md +51 -0
  318. fastmcp-3.0.0b1/examples/persistent_state/client.py +85 -0
  319. fastmcp-3.0.0b1/examples/persistent_state/client_stdio.py +88 -0
  320. fastmcp-3.0.0b1/examples/persistent_state/server.py +42 -0
  321. fastmcp-3.0.0b1/examples/prompts_as_tools/client.py +77 -0
  322. fastmcp-3.0.0b1/examples/prompts_as_tools/server.py +86 -0
  323. fastmcp-3.0.0b1/examples/providers/sqlite/README.md +59 -0
  324. fastmcp-3.0.0b1/examples/providers/sqlite/server.py +137 -0
  325. fastmcp-3.0.0b1/examples/providers/sqlite/setup_db.py +102 -0
  326. fastmcp-3.0.0b1/examples/resources_as_tools/client.py +52 -0
  327. fastmcp-3.0.0b1/examples/resources_as_tools/server.py +65 -0
  328. fastmcp-3.0.0b1/examples/run_with_tracing.py +59 -0
  329. fastmcp-3.0.0b1/examples/skills/README.md +104 -0
  330. fastmcp-3.0.0b1/examples/skills/client.py +66 -0
  331. fastmcp-3.0.0b1/examples/skills/download_skills.py +82 -0
  332. fastmcp-3.0.0b1/examples/skills/sample_skills/code-review/SKILL.md +40 -0
  333. fastmcp-3.0.0b1/examples/skills/sample_skills/pdf-processing/SKILL.md +28 -0
  334. fastmcp-3.0.0b1/examples/skills/sample_skills/pdf-processing/reference.md +47 -0
  335. fastmcp-3.0.0b1/examples/skills/server.py +49 -0
  336. fastmcp-3.0.0b1/examples/smart_home/src/smart_home/hub.py +31 -0
  337. fastmcp-3.0.0b1/examples/smart_home/src/smart_home/lights/server.py +318 -0
  338. fastmcp-3.0.0b1/examples/testing_demo/uv.lock +1876 -0
  339. fastmcp-3.0.0b1/examples/versioning/client_version_selection.py +81 -0
  340. fastmcp-3.0.0b1/examples/versioning/version_filters.py +91 -0
  341. fastmcp-3.0.0b1/examples/versioning/versioned_components.py +101 -0
  342. fastmcp-3.0.0b1/justfile +33 -0
  343. fastmcp-3.0.0b1/loq.toml +99 -0
  344. fastmcp-3.0.0b1/pyproject.toml +205 -0
  345. fastmcp-3.0.0b1/src/fastmcp/_vendor/__init__.py +1 -0
  346. fastmcp-3.0.0b1/src/fastmcp/_vendor/docket_di/README.md +7 -0
  347. fastmcp-3.0.0b1/src/fastmcp/_vendor/docket_di/__init__.py +163 -0
  348. fastmcp-3.0.0b1/src/fastmcp/cli/cli.py +957 -0
  349. fastmcp-3.0.0b1/src/fastmcp/cli/install/claude_code.py +240 -0
  350. fastmcp-3.0.0b1/src/fastmcp/cli/install/claude_desktop.py +210 -0
  351. fastmcp-3.0.0b1/src/fastmcp/cli/install/cursor.py +333 -0
  352. fastmcp-3.0.0b1/src/fastmcp/cli/install/gemini_cli.py +237 -0
  353. fastmcp-3.0.0b1/src/fastmcp/cli/install/mcp_json.py +191 -0
  354. fastmcp-3.0.0b1/src/fastmcp/cli/run.py +366 -0
  355. fastmcp-3.0.0b1/src/fastmcp/client/__init__.py +30 -0
  356. fastmcp-3.0.0b1/src/fastmcp/client/auth/oauth.py +329 -0
  357. fastmcp-3.0.0b1/src/fastmcp/client/client.py +848 -0
  358. fastmcp-3.0.0b1/src/fastmcp/client/elicitation.py +80 -0
  359. fastmcp-3.0.0b1/src/fastmcp/client/mixins/__init__.py +13 -0
  360. fastmcp-3.0.0b1/src/fastmcp/client/mixins/prompts.py +295 -0
  361. fastmcp-3.0.0b1/src/fastmcp/client/mixins/resources.py +325 -0
  362. fastmcp-3.0.0b1/src/fastmcp/client/mixins/task_management.py +157 -0
  363. fastmcp-3.0.0b1/src/fastmcp/client/mixins/tools.py +397 -0
  364. fastmcp-3.0.0b1/src/fastmcp/client/sampling/handlers/anthropic.py +387 -0
  365. fastmcp-3.0.0b1/src/fastmcp/client/sampling/handlers/openai.py +399 -0
  366. fastmcp-3.0.0b1/src/fastmcp/client/tasks.py +551 -0
  367. fastmcp-3.0.0b1/src/fastmcp/client/telemetry.py +47 -0
  368. fastmcp-3.0.0b1/src/fastmcp/client/transports/__init__.py +38 -0
  369. fastmcp-3.0.0b1/src/fastmcp/client/transports/base.py +82 -0
  370. fastmcp-3.0.0b1/src/fastmcp/client/transports/config.py +170 -0
  371. fastmcp-3.0.0b1/src/fastmcp/client/transports/http.py +145 -0
  372. fastmcp-3.0.0b1/src/fastmcp/client/transports/inference.py +154 -0
  373. fastmcp-3.0.0b1/src/fastmcp/client/transports/memory.py +90 -0
  374. fastmcp-3.0.0b1/src/fastmcp/client/transports/sse.py +89 -0
  375. fastmcp-3.0.0b1/src/fastmcp/client/transports/stdio.py +543 -0
  376. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/README.md +164 -0
  377. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/__init__.py +3 -0
  378. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/component_manager.py +121 -0
  379. fastmcp-3.0.0b1/src/fastmcp/contrib/component_manager/example.py +59 -0
  380. fastmcp-3.0.0b1/src/fastmcp/contrib/mcp_mixin/example.py +52 -0
  381. fastmcp-3.0.0b1/src/fastmcp/contrib/mcp_mixin/mcp_mixin.py +283 -0
  382. fastmcp-3.0.0b1/src/fastmcp/decorators.py +41 -0
  383. fastmcp-3.0.0b1/src/fastmcp/dependencies.py +36 -0
  384. fastmcp-3.0.0b1/src/fastmcp/exceptions.py +43 -0
  385. fastmcp-3.0.0b1/src/fastmcp/experimental/server/openapi/__init__.py +40 -0
  386. fastmcp-3.0.0b1/src/fastmcp/mcp_config.py +347 -0
  387. fastmcp-3.0.0b1/src/fastmcp/prompts/__init__.py +12 -0
  388. fastmcp-3.0.0b1/src/fastmcp/prompts/function_prompt.py +465 -0
  389. fastmcp-3.0.0b1/src/fastmcp/prompts/prompt.py +431 -0
  390. fastmcp-3.0.0b1/src/fastmcp/resources/__init__.py +24 -0
  391. fastmcp-3.0.0b1/src/fastmcp/resources/function_resource.py +335 -0
  392. fastmcp-3.0.0b1/src/fastmcp/resources/resource.py +450 -0
  393. fastmcp-3.0.0b1/src/fastmcp/resources/template.py +585 -0
  394. fastmcp-3.0.0b1/src/fastmcp/resources/types.py +172 -0
  395. fastmcp-3.0.0b1/src/fastmcp/server/__init__.py +6 -0
  396. fastmcp-3.0.0b1/src/fastmcp/server/auth/__init__.py +39 -0
  397. fastmcp-3.0.0b1/src/fastmcp/server/auth/auth.py +558 -0
  398. fastmcp-3.0.0b1/src/fastmcp/server/auth/authorization.py +190 -0
  399. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/__init__.py +14 -0
  400. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/consent.py +361 -0
  401. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/models.py +178 -0
  402. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/proxy.py +1528 -0
  403. fastmcp-3.0.0b1/src/fastmcp/server/auth/oauth_proxy/ui.py +277 -0
  404. fastmcp-3.0.0b1/src/fastmcp/server/auth/oidc_proxy.py +419 -0
  405. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/auth0.py +123 -0
  406. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/aws.py +194 -0
  407. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/azure.py +358 -0
  408. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/descope.py +198 -0
  409. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/discord.py +247 -0
  410. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/github.py +240 -0
  411. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/google.py +278 -0
  412. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/introspection.py +262 -0
  413. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/jwt.py +527 -0
  414. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/oci.py +170 -0
  415. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/scalekit.py +200 -0
  416. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/supabase.py +164 -0
  417. fastmcp-3.0.0b1/src/fastmcp/server/auth/providers/workos.py +334 -0
  418. fastmcp-3.0.0b1/src/fastmcp/server/context.py +1109 -0
  419. fastmcp-3.0.0b1/src/fastmcp/server/dependencies.py +916 -0
  420. fastmcp-3.0.0b1/src/fastmcp/server/elicitation.py +464 -0
  421. fastmcp-3.0.0b1/src/fastmcp/server/event_store.py +177 -0
  422. fastmcp-3.0.0b1/src/fastmcp/server/http.py +376 -0
  423. fastmcp-3.0.0b1/src/fastmcp/server/lifespan.py +198 -0
  424. fastmcp-3.0.0b1/src/fastmcp/server/low_level.py +315 -0
  425. fastmcp-3.0.0b1/src/fastmcp/server/middleware/__init__.py +15 -0
  426. fastmcp-3.0.0b1/src/fastmcp/server/middleware/authorization.py +312 -0
  427. fastmcp-3.0.0b1/src/fastmcp/server/middleware/caching.py +523 -0
  428. fastmcp-3.0.0b1/src/fastmcp/server/middleware/middleware.py +205 -0
  429. fastmcp-3.0.0b1/src/fastmcp/server/middleware/ping.py +70 -0
  430. fastmcp-3.0.0b1/src/fastmcp/server/middleware/tool_injection.py +116 -0
  431. fastmcp-3.0.0b1/src/fastmcp/server/mixins/__init__.py +7 -0
  432. fastmcp-3.0.0b1/src/fastmcp/server/mixins/lifespan.py +217 -0
  433. fastmcp-3.0.0b1/src/fastmcp/server/mixins/mcp_operations.py +392 -0
  434. fastmcp-3.0.0b1/src/fastmcp/server/mixins/transport.py +342 -0
  435. fastmcp-3.0.0b1/src/fastmcp/server/openapi/__init__.py +55 -0
  436. fastmcp-3.0.0b1/src/fastmcp/server/openapi/components.py +28 -0
  437. fastmcp-3.0.0b1/src/fastmcp/server/openapi/routing.py +46 -0
  438. fastmcp-3.0.0b1/src/fastmcp/server/openapi/server.py +127 -0
  439. fastmcp-3.0.0b1/src/fastmcp/server/providers/__init__.py +71 -0
  440. fastmcp-3.0.0b1/src/fastmcp/server/providers/aggregate.py +261 -0
  441. fastmcp-3.0.0b1/src/fastmcp/server/providers/base.py +578 -0
  442. fastmcp-3.0.0b1/src/fastmcp/server/providers/fastmcp_provider.py +674 -0
  443. fastmcp-3.0.0b1/src/fastmcp/server/providers/filesystem.py +226 -0
  444. fastmcp-3.0.0b1/src/fastmcp/server/providers/filesystem_discovery.py +327 -0
  445. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/__init__.py +11 -0
  446. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/__init__.py +15 -0
  447. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/prompts.py +256 -0
  448. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/resources.py +240 -0
  449. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/decorators/tools.py +315 -0
  450. fastmcp-3.0.0b1/src/fastmcp/server/providers/local_provider/local_provider.py +465 -0
  451. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/__init__.py +39 -0
  452. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/components.py +332 -0
  453. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/provider.py +405 -0
  454. fastmcp-3.0.0b1/src/fastmcp/server/providers/openapi/routing.py +109 -0
  455. fastmcp-3.0.0b1/src/fastmcp/server/providers/proxy.py +867 -0
  456. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/__init__.py +59 -0
  457. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/_common.py +101 -0
  458. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/claude_provider.py +44 -0
  459. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/directory_provider.py +153 -0
  460. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/skill_provider.py +432 -0
  461. fastmcp-3.0.0b1/src/fastmcp/server/providers/skills/vendor_providers.py +142 -0
  462. fastmcp-3.0.0b1/src/fastmcp/server/providers/wrapped_provider.py +140 -0
  463. fastmcp-3.0.0b1/src/fastmcp/server/proxy.py +41 -0
  464. fastmcp-3.0.0b1/src/fastmcp/server/sampling/run.py +640 -0
  465. fastmcp-3.0.0b1/src/fastmcp/server/sampling/sampling_tool.py +109 -0
  466. fastmcp-3.0.0b1/src/fastmcp/server/server.py +2144 -0
  467. fastmcp-3.0.0b1/src/fastmcp/server/tasks/__init__.py +22 -0
  468. fastmcp-3.0.0b1/src/fastmcp/server/tasks/capabilities.py +42 -0
  469. fastmcp-3.0.0b1/src/fastmcp/server/tasks/config.py +152 -0
  470. fastmcp-3.0.0b1/src/fastmcp/server/tasks/handlers.py +157 -0
  471. fastmcp-3.0.0b1/src/fastmcp/server/tasks/keys.py +91 -0
  472. fastmcp-3.0.0b1/src/fastmcp/server/tasks/requests.py +474 -0
  473. fastmcp-3.0.0b1/src/fastmcp/server/tasks/routing.py +76 -0
  474. fastmcp-3.0.0b1/src/fastmcp/server/tasks/subscriptions.py +212 -0
  475. fastmcp-3.0.0b1/src/fastmcp/server/telemetry.py +131 -0
  476. fastmcp-3.0.0b1/src/fastmcp/server/transforms/__init__.py +244 -0
  477. fastmcp-3.0.0b1/src/fastmcp/server/transforms/namespace.py +193 -0
  478. fastmcp-3.0.0b1/src/fastmcp/server/transforms/prompts_as_tools.py +175 -0
  479. fastmcp-3.0.0b1/src/fastmcp/server/transforms/resources_as_tools.py +190 -0
  480. fastmcp-3.0.0b1/src/fastmcp/server/transforms/tool_transform.py +96 -0
  481. fastmcp-3.0.0b1/src/fastmcp/server/transforms/version_filter.py +124 -0
  482. fastmcp-3.0.0b1/src/fastmcp/server/transforms/visibility.py +526 -0
  483. fastmcp-3.0.0b1/src/fastmcp/settings.py +365 -0
  484. fastmcp-3.0.0b1/src/fastmcp/telemetry.py +122 -0
  485. fastmcp-3.0.0b1/src/fastmcp/tools/__init__.py +12 -0
  486. fastmcp-3.0.0b1/src/fastmcp/tools/function_parsing.py +201 -0
  487. fastmcp-3.0.0b1/src/fastmcp/tools/function_tool.py +467 -0
  488. fastmcp-3.0.0b1/src/fastmcp/tools/tool.py +496 -0
  489. fastmcp-3.0.0b1/src/fastmcp/tools/tool_transform.py +960 -0
  490. fastmcp-3.0.0b1/src/fastmcp/utilities/async_utils.py +69 -0
  491. fastmcp-3.0.0b1/src/fastmcp/utilities/components.py +242 -0
  492. fastmcp-3.0.0b1/src/fastmcp/utilities/inspect.py +494 -0
  493. fastmcp-3.0.0b1/src/fastmcp/utilities/json_schema.py +401 -0
  494. fastmcp-3.0.0b1/src/fastmcp/utilities/json_schema_type.py +650 -0
  495. fastmcp-3.0.0b1/src/fastmcp/utilities/lifespan.py +56 -0
  496. fastmcp-3.0.0b1/src/fastmcp/utilities/logging.py +238 -0
  497. fastmcp-3.0.0b1/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +447 -0
  498. fastmcp-3.0.0b1/src/fastmcp/utilities/openapi/parser.py +821 -0
  499. fastmcp-3.0.0b1/src/fastmcp/utilities/pagination.py +80 -0
  500. fastmcp-3.0.0b1/src/fastmcp/utilities/skills.py +253 -0
  501. fastmcp-3.0.0b1/src/fastmcp/utilities/tests.py +270 -0
  502. fastmcp-3.0.0b1/src/fastmcp/utilities/timeout.py +47 -0
  503. fastmcp-3.0.0b1/src/fastmcp/utilities/types.py +496 -0
  504. fastmcp-3.0.0b1/src/fastmcp/utilities/versions.py +285 -0
  505. fastmcp-3.0.0b1/tests/cli/test_cli.py +618 -0
  506. fastmcp-3.0.0b1/tests/cli/test_config.py +461 -0
  507. fastmcp-3.0.0b1/tests/cli/test_mcp_server_config_integration.py +293 -0
  508. fastmcp-3.0.0b1/tests/cli/test_run.py +628 -0
  509. fastmcp-3.0.0b1/tests/cli/test_server_args.py +135 -0
  510. fastmcp-3.0.0b1/tests/cli/test_tasks.py +51 -0
  511. fastmcp-3.0.0b1/tests/client/auth/test_oauth_client.py +358 -0
  512. fastmcp-3.0.0b1/tests/client/client/test_auth.py +82 -0
  513. fastmcp-3.0.0b1/tests/client/client/test_client.py +719 -0
  514. fastmcp-3.0.0b1/tests/client/client/test_error_handling.py +166 -0
  515. fastmcp-3.0.0b1/tests/client/client/test_initialize.py +115 -0
  516. fastmcp-3.0.0b1/tests/client/client/test_session.py +137 -0
  517. fastmcp-3.0.0b1/tests/client/client/test_timeout.py +50 -0
  518. fastmcp-3.0.0b1/tests/client/client/test_transport.py +137 -0
  519. fastmcp-3.0.0b1/tests/client/tasks/test_client_prompt_tasks.py +102 -0
  520. fastmcp-3.0.0b1/tests/client/tasks/test_client_resource_tasks.py +107 -0
  521. fastmcp-3.0.0b1/tests/client/tasks/test_client_tool_tasks.py +87 -0
  522. fastmcp-3.0.0b1/tests/client/telemetry/test_client_tracing.py +624 -0
  523. fastmcp-3.0.0b1/tests/client/test_elicitation.py +1132 -0
  524. fastmcp-3.0.0b1/tests/client/test_notifications.py +124 -0
  525. fastmcp-3.0.0b1/tests/client/test_openapi.py +202 -0
  526. fastmcp-3.0.0b1/tests/client/test_sampling.py +1002 -0
  527. fastmcp-3.0.0b1/tests/client/test_sse.py +200 -0
  528. fastmcp-3.0.0b1/tests/client/test_stdio.py +364 -0
  529. fastmcp-3.0.0b1/tests/client/test_streamable_http.py +271 -0
  530. fastmcp-3.0.0b1/tests/client/transports/test_transports.py +42 -0
  531. fastmcp-3.0.0b1/tests/conftest.py +301 -0
  532. fastmcp-3.0.0b1/tests/contrib/test_component_manager.py +602 -0
  533. fastmcp-3.0.0b1/tests/contrib/test_mcp_mixin.py +339 -0
  534. fastmcp-3.0.0b1/tests/deprecated/__init__.py +1 -0
  535. fastmcp-3.0.0b1/tests/deprecated/conftest.py +9 -0
  536. fastmcp-3.0.0b1/tests/deprecated/openapi/test_openapi.py +170 -0
  537. fastmcp-3.0.0b1/tests/deprecated/server/__init__.py +1 -0
  538. fastmcp-3.0.0b1/tests/deprecated/server/test_include_exclude_tags.py +68 -0
  539. fastmcp-3.0.0b1/tests/deprecated/test_add_tool_transformation.py +104 -0
  540. fastmcp-3.0.0b1/tests/deprecated/test_exclude_args.py +122 -0
  541. fastmcp-3.0.0b1/tests/deprecated/test_function_component_imports.py +121 -0
  542. fastmcp-3.0.0b1/tests/deprecated/test_import_server.py +714 -0
  543. fastmcp-3.0.0b1/tests/deprecated/test_openapi_deprecations.py +78 -0
  544. fastmcp-3.0.0b1/tests/deprecated/test_settings.py +319 -0
  545. fastmcp-3.0.0b1/tests/deprecated/test_tool_serializer.py +182 -0
  546. fastmcp-3.0.0b1/tests/fs/test_discovery.py +353 -0
  547. fastmcp-3.0.0b1/tests/fs/test_provider.py +421 -0
  548. fastmcp-3.0.0b1/tests/integration_tests/auth/test_github_provider_integration.py +394 -0
  549. fastmcp-3.0.0b1/tests/integration_tests/conftest.py +72 -0
  550. fastmcp-3.0.0b1/tests/integration_tests/test_github_mcp_remote.py +123 -0
  551. fastmcp-3.0.0b1/tests/prompts/test_prompt.py +606 -0
  552. fastmcp-3.0.0b1/tests/prompts/test_standalone_decorator.py +138 -0
  553. fastmcp-3.0.0b1/tests/resources/test_file_resources.py +121 -0
  554. fastmcp-3.0.0b1/tests/resources/test_function_resources.py +334 -0
  555. fastmcp-3.0.0b1/tests/resources/test_resource_template.py +1009 -0
  556. fastmcp-3.0.0b1/tests/resources/test_resources.py +356 -0
  557. fastmcp-3.0.0b1/tests/resources/test_standalone_decorator.py +154 -0
  558. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/conftest.py +309 -0
  559. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_authorization.py +196 -0
  560. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_client_registration.py +43 -0
  561. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_config.py +210 -0
  562. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_e2e.py +240 -0
  563. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_oauth_proxy.py +69 -0
  564. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_tokens.py +495 -0
  565. fastmcp-3.0.0b1/tests/server/auth/oauth_proxy/test_ui.py +99 -0
  566. fastmcp-3.0.0b1/tests/server/auth/providers/test_auth0.py +98 -0
  567. fastmcp-3.0.0b1/tests/server/auth/providers/test_aws.py +107 -0
  568. fastmcp-3.0.0b1/tests/server/auth/providers/test_azure.py +809 -0
  569. fastmcp-3.0.0b1/tests/server/auth/providers/test_descope.py +238 -0
  570. fastmcp-3.0.0b1/tests/server/auth/providers/test_discord.py +70 -0
  571. fastmcp-3.0.0b1/tests/server/auth/providers/test_github.py +129 -0
  572. fastmcp-3.0.0b1/tests/server/auth/providers/test_google.py +118 -0
  573. fastmcp-3.0.0b1/tests/server/auth/providers/test_introspection.py +551 -0
  574. fastmcp-3.0.0b1/tests/server/auth/providers/test_scalekit.py +220 -0
  575. fastmcp-3.0.0b1/tests/server/auth/providers/test_supabase.py +202 -0
  576. fastmcp-3.0.0b1/tests/server/auth/providers/test_workos.py +152 -0
  577. fastmcp-3.0.0b1/tests/server/auth/test_authorization.py +613 -0
  578. fastmcp-3.0.0b1/tests/server/auth/test_jwt_provider.py +1101 -0
  579. fastmcp-3.0.0b1/tests/server/auth/test_oauth_consent_flow.py +1024 -0
  580. fastmcp-3.0.0b1/tests/server/auth/test_oauth_proxy_redirect_validation.py +202 -0
  581. fastmcp-3.0.0b1/tests/server/http/test_bearer_auth_backend.py +179 -0
  582. fastmcp-3.0.0b1/tests/server/http/test_http_dependencies.py +128 -0
  583. fastmcp-3.0.0b1/tests/server/middleware/test_caching.py +617 -0
  584. fastmcp-3.0.0b1/tests/server/middleware/test_error_handling.py +630 -0
  585. fastmcp-3.0.0b1/tests/server/middleware/test_initialization_middleware.py +432 -0
  586. fastmcp-3.0.0b1/tests/server/middleware/test_logging.py +654 -0
  587. fastmcp-3.0.0b1/tests/server/middleware/test_middleware.py +1070 -0
  588. fastmcp-3.0.0b1/tests/server/middleware/test_ping.py +241 -0
  589. fastmcp-3.0.0b1/tests/server/middleware/test_rate_limiting.py +457 -0
  590. fastmcp-3.0.0b1/tests/server/middleware/test_timing.py +305 -0
  591. fastmcp-3.0.0b1/tests/server/middleware/test_tool_injection.py +509 -0
  592. fastmcp-3.0.0b1/tests/server/mount/__init__.py +0 -0
  593. fastmcp-3.0.0b1/tests/server/mount/test_advanced.py +489 -0
  594. fastmcp-3.0.0b1/tests/server/mount/test_filtering.py +97 -0
  595. fastmcp-3.0.0b1/tests/server/mount/test_mount.py +542 -0
  596. fastmcp-3.0.0b1/tests/server/mount/test_prompts.py +50 -0
  597. fastmcp-3.0.0b1/tests/server/mount/test_proxy.py +306 -0
  598. fastmcp-3.0.0b1/tests/server/mount/test_resources.py +136 -0
  599. fastmcp-3.0.0b1/tests/server/providers/__init__.py +0 -0
  600. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/__init__.py +0 -0
  601. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_context.py +162 -0
  602. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_decorator.py +341 -0
  603. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_enabled.py +132 -0
  604. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_local_provider_tools.py +274 -0
  605. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_output_schema.py +284 -0
  606. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_parameters.py +416 -0
  607. fastmcp-3.0.0b1/tests/server/providers/local_provider_tools/test_tags.py +94 -0
  608. fastmcp-3.0.0b1/tests/server/providers/openapi/test_comprehensive.py +741 -0
  609. fastmcp-3.0.0b1/tests/server/providers/openapi/test_deepobject_style.py +346 -0
  610. fastmcp-3.0.0b1/tests/server/providers/openapi/test_end_to_end_compatibility.py +221 -0
  611. fastmcp-3.0.0b1/tests/server/providers/openapi/test_openapi_features.py +414 -0
  612. fastmcp-3.0.0b1/tests/server/providers/openapi/test_openapi_performance.py +136 -0
  613. fastmcp-3.0.0b1/tests/server/providers/openapi/test_parameter_collisions.py +225 -0
  614. fastmcp-3.0.0b1/tests/server/providers/openapi/test_performance_comparison.py +286 -0
  615. fastmcp-3.0.0b1/tests/server/providers/openapi/test_server.py +305 -0
  616. fastmcp-3.0.0b1/tests/server/providers/proxy/__init__.py +0 -0
  617. fastmcp-3.0.0b1/tests/server/providers/proxy/test_proxy_client.py +430 -0
  618. fastmcp-3.0.0b1/tests/server/providers/proxy/test_proxy_server.py +734 -0
  619. fastmcp-3.0.0b1/tests/server/providers/proxy/test_stateful_proxy_client.py +147 -0
  620. fastmcp-3.0.0b1/tests/server/providers/test_base_provider.py +91 -0
  621. fastmcp-3.0.0b1/tests/server/providers/test_fastmcp_provider.py +446 -0
  622. fastmcp-3.0.0b1/tests/server/providers/test_local_provider.py +834 -0
  623. fastmcp-3.0.0b1/tests/server/providers/test_local_provider_prompts.py +473 -0
  624. fastmcp-3.0.0b1/tests/server/providers/test_local_provider_resources.py +974 -0
  625. fastmcp-3.0.0b1/tests/server/providers/test_skills_provider.py +591 -0
  626. fastmcp-3.0.0b1/tests/server/providers/test_skills_vendor_providers.py +201 -0
  627. fastmcp-3.0.0b1/tests/server/providers/test_transforming_provider.py +299 -0
  628. fastmcp-3.0.0b1/tests/server/sampling/__init__.py +0 -0
  629. fastmcp-3.0.0b1/tests/server/tasks/test_custom_subclass_tasks.py +184 -0
  630. fastmcp-3.0.0b1/tests/server/tasks/test_resource_task_meta_parameter.py +287 -0
  631. fastmcp-3.0.0b1/tests/server/tasks/test_server_tasks_parameter.py +388 -0
  632. fastmcp-3.0.0b1/tests/server/tasks/test_sync_function_task_disabled.py +229 -0
  633. fastmcp-3.0.0b1/tests/server/tasks/test_task_config.py +393 -0
  634. fastmcp-3.0.0b1/tests/server/tasks/test_task_dependencies.py +273 -0
  635. fastmcp-3.0.0b1/tests/server/tasks/test_task_meta_parameter.py +314 -0
  636. fastmcp-3.0.0b1/tests/server/tasks/test_task_mount.py +965 -0
  637. fastmcp-3.0.0b1/tests/server/tasks/test_task_prompts.py +91 -0
  638. fastmcp-3.0.0b1/tests/server/tasks/test_task_proxy.py +169 -0
  639. fastmcp-3.0.0b1/tests/server/tasks/test_task_resources.py +107 -0
  640. fastmcp-3.0.0b1/tests/server/tasks/test_task_return_types.py +662 -0
  641. fastmcp-3.0.0b1/tests/server/tasks/test_task_tools.py +101 -0
  642. fastmcp-3.0.0b1/tests/server/telemetry/__init__.py +1 -0
  643. fastmcp-3.0.0b1/tests/server/telemetry/test_provider_tracing.py +129 -0
  644. fastmcp-3.0.0b1/tests/server/telemetry/test_server_tracing.py +340 -0
  645. fastmcp-3.0.0b1/tests/server/test_context.py +407 -0
  646. fastmcp-3.0.0b1/tests/server/test_dependencies.py +1047 -0
  647. fastmcp-3.0.0b1/tests/server/test_event_store.py +238 -0
  648. fastmcp-3.0.0b1/tests/server/test_file_server.py +134 -0
  649. fastmcp-3.0.0b1/tests/server/test_input_validation.py +365 -0
  650. fastmcp-3.0.0b1/tests/server/test_log_level.py +90 -0
  651. fastmcp-3.0.0b1/tests/server/test_logging.py +192 -0
  652. fastmcp-3.0.0b1/tests/server/test_pagination.py +243 -0
  653. fastmcp-3.0.0b1/tests/server/test_providers.py +448 -0
  654. fastmcp-3.0.0b1/tests/server/test_server.py +360 -0
  655. fastmcp-3.0.0b1/tests/server/test_server_docket.py +227 -0
  656. fastmcp-3.0.0b1/tests/server/test_server_lifespan.py +464 -0
  657. fastmcp-3.0.0b1/tests/server/test_session_visibility.py +620 -0
  658. fastmcp-3.0.0b1/tests/server/test_tool_annotations.py +255 -0
  659. fastmcp-3.0.0b1/tests/server/test_tool_transformation.py +120 -0
  660. fastmcp-3.0.0b1/tests/server/transforms/test_prompts_as_tools.py +210 -0
  661. fastmcp-3.0.0b1/tests/server/transforms/test_resources_as_tools.py +227 -0
  662. fastmcp-3.0.0b1/tests/server/transforms/test_visibility.py +271 -0
  663. fastmcp-3.0.0b1/tests/server/versioning/__init__.py +0 -0
  664. fastmcp-3.0.0b1/tests/server/versioning/test_calls.py +361 -0
  665. fastmcp-3.0.0b1/tests/server/versioning/test_filtering.py +492 -0
  666. fastmcp-3.0.0b1/tests/server/versioning/test_mounting.py +342 -0
  667. fastmcp-3.0.0b1/tests/server/versioning/test_versioning.py +258 -0
  668. fastmcp-3.0.0b1/tests/telemetry/__init__.py +1 -0
  669. fastmcp-3.0.0b1/tests/telemetry/test_module.py +29 -0
  670. fastmcp-3.0.0b1/tests/test_mcp_config.py +932 -0
  671. fastmcp-3.0.0b1/tests/tools/__init__.py +0 -0
  672. fastmcp-3.0.0b1/tests/tools/test_standalone_decorator.py +138 -0
  673. fastmcp-3.0.0b1/tests/tools/test_tool_timeout.py +192 -0
  674. fastmcp-3.0.0b1/tests/tools/tool/__init__.py +0 -0
  675. fastmcp-3.0.0b1/tests/tools/tool/test_callable.py +102 -0
  676. fastmcp-3.0.0b1/tests/tools/tool/test_content.py +550 -0
  677. fastmcp-3.0.0b1/tests/tools/tool/test_output_schema.py +534 -0
  678. fastmcp-3.0.0b1/tests/tools/tool/test_results.py +184 -0
  679. fastmcp-3.0.0b1/tests/tools/tool/test_title.py +95 -0
  680. fastmcp-3.0.0b1/tests/tools/tool/test_tool.py +595 -0
  681. fastmcp-3.0.0b1/tests/tools/tool_transform/__init__.py +0 -0
  682. fastmcp-3.0.0b1/tests/tools/tool_transform/test_args.py +456 -0
  683. fastmcp-3.0.0b1/tests/tools/tool_transform/test_metadata.py +172 -0
  684. fastmcp-3.0.0b1/tests/tools/tool_transform/test_schemas.py +534 -0
  685. fastmcp-3.0.0b1/tests/tools/tool_transform/test_tool_transform.py +530 -0
  686. fastmcp-3.0.0b1/tests/utilities/json_schema_type/__init__.py +0 -0
  687. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_advanced.py +913 -0
  688. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_constraints.py +132 -0
  689. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_containers.py +201 -0
  690. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_formats.py +114 -0
  691. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_json_schema_type.py +170 -0
  692. fastmcp-3.0.0b1/tests/utilities/json_schema_type/test_unions.py +128 -0
  693. fastmcp-3.0.0b1/tests/utilities/openapi/test_models.py +476 -0
  694. fastmcp-3.0.0b1/tests/utilities/openapi/test_nullable_fields.py +385 -0
  695. fastmcp-3.0.0b1/tests/utilities/openapi/test_schemas.py +641 -0
  696. fastmcp-3.0.0b1/tests/utilities/test_components.py +417 -0
  697. fastmcp-3.0.0b1/tests/utilities/test_inspect.py +1111 -0
  698. fastmcp-3.0.0b1/tests/utilities/test_json_schema.py +543 -0
  699. fastmcp-3.0.0b1/tests/utilities/test_logging.py +100 -0
  700. fastmcp-3.0.0b1/tests/utilities/test_skills.py +269 -0
  701. fastmcp-3.0.0b1/tests/utilities/test_types.py +673 -0
  702. fastmcp-3.0.0b1/uv.lock +3040 -0
  703. fastmcp-3.0.0b1/v3-notes/get-methods-consolidation.md +69 -0
  704. fastmcp-3.0.0b1/v3-notes/prompt-internal-types.md +121 -0
  705. fastmcp-3.0.0b1/v3-notes/provider-architecture.md +116 -0
  706. fastmcp-3.0.0b1/v3-notes/provider-test-pattern.md +60 -0
  707. fastmcp-3.0.0b1/v3-notes/resource-internal-types.md +196 -0
  708. fastmcp-3.0.0b1/v3-notes/task-meta-parameter.md +109 -0
  709. fastmcp-3.0.0b1/v3-notes/visibility.md +113 -0
  710. fastmcp-2.14.4/.cursor/rules/core-mcp-objects.mdc +0 -13
  711. fastmcp-2.14.4/.cursor/worktrees.json +0 -6
  712. fastmcp-2.14.4/.github/workflows/martian-issue-triage.yml +0 -173
  713. fastmcp-2.14.4/.github/workflows/martian-test-failure.yml +0 -182
  714. fastmcp-2.14.4/.github/workflows/marvin-dedupe-issues.yml +0 -92
  715. fastmcp-2.14.4/.github/workflows/marvin-label-triage.yml +0 -143
  716. fastmcp-2.14.4/.github/workflows/marvin.yml +0 -78
  717. fastmcp-2.14.4/.github/workflows/update-config-schema.yml +0 -91
  718. fastmcp-2.14.4/.github/workflows/update-sdk-docs.yml +0 -74
  719. fastmcp-2.14.4/.gitignore +0 -77
  720. fastmcp-2.14.4/.loq_cache +0 -1
  721. fastmcp-2.14.4/.pre-commit-config.yaml +0 -48
  722. fastmcp-2.14.4/AGENTS.md +0 -266
  723. fastmcp-2.14.4/PKG-INFO +0 -559
  724. fastmcp-2.14.4/README.md +0 -515
  725. fastmcp-2.14.4/docs/clients/client.mdx +0 -340
  726. fastmcp-2.14.4/docs/clients/messages.mdx +0 -129
  727. fastmcp-2.14.4/docs/clients/sampling.mdx +0 -258
  728. fastmcp-2.14.4/docs/clients/tasks.mdx +0 -138
  729. fastmcp-2.14.4/docs/clients/tools.mdx +0 -295
  730. fastmcp-2.14.4/docs/css/style.css +0 -20
  731. fastmcp-2.14.4/docs/deployment/http.mdx +0 -736
  732. fastmcp-2.14.4/docs/deployment/running-server.mdx +0 -258
  733. fastmcp-2.14.4/docs/development/upgrade-guide.mdx +0 -153
  734. fastmcp-2.14.4/docs/docs.json +0 -531
  735. fastmcp-2.14.4/docs/getting-started/installation.mdx +0 -100
  736. fastmcp-2.14.4/docs/getting-started/welcome.mdx +0 -114
  737. fastmcp-2.14.4/docs/integrations/auth0.mdx +0 -277
  738. fastmcp-2.14.4/docs/integrations/authkit.mdx +0 -133
  739. fastmcp-2.14.4/docs/integrations/aws-cognito.mdx +0 -365
  740. fastmcp-2.14.4/docs/integrations/azure.mdx +0 -391
  741. fastmcp-2.14.4/docs/integrations/claude-desktop.mdx +0 -298
  742. fastmcp-2.14.4/docs/integrations/descope.mdx +0 -146
  743. fastmcp-2.14.4/docs/integrations/discord.mdx +0 -255
  744. fastmcp-2.14.4/docs/integrations/fastapi.mdx +0 -451
  745. fastmcp-2.14.4/docs/integrations/github.mdx +0 -253
  746. fastmcp-2.14.4/docs/integrations/google.mdx +0 -267
  747. fastmcp-2.14.4/docs/integrations/oci.mdx +0 -333
  748. fastmcp-2.14.4/docs/integrations/scalekit.mdx +0 -194
  749. fastmcp-2.14.4/docs/integrations/supabase.mdx +0 -148
  750. fastmcp-2.14.4/docs/integrations/workos.mdx +0 -288
  751. fastmcp-2.14.4/docs/patterns/cli.mdx +0 -577
  752. fastmcp-2.14.4/docs/patterns/tool-transformation.mdx +0 -707
  753. fastmcp-2.14.4/docs/python-sdk/fastmcp-cli-cli.mdx +0 -129
  754. fastmcp-2.14.4/docs/python-sdk/fastmcp-cli-run.mdx +0 -101
  755. fastmcp-2.14.4/docs/python-sdk/fastmcp-client-auth-oauth.mdx +0 -104
  756. fastmcp-2.14.4/docs/python-sdk/fastmcp-client-client.mdx +0 -684
  757. fastmcp-2.14.4/docs/python-sdk/fastmcp-client-sampling.mdx +0 -14
  758. fastmcp-2.14.4/docs/python-sdk/fastmcp-client-tasks.mdx +0 -219
  759. fastmcp-2.14.4/docs/python-sdk/fastmcp-client-transports.mdx +0 -312
  760. fastmcp-2.14.4/docs/python-sdk/fastmcp-dependencies.mdx +0 -14
  761. fastmcp-2.14.4/docs/python-sdk/fastmcp-exceptions.mdx +0 -65
  762. fastmcp-2.14.4/docs/python-sdk/fastmcp-mcp_config.mdx +0 -188
  763. fastmcp-2.14.4/docs/python-sdk/fastmcp-prompts-prompt.mdx +0 -117
  764. fastmcp-2.14.4/docs/python-sdk/fastmcp-prompts-prompt_manager.mdx +0 -71
  765. fastmcp-2.14.4/docs/python-sdk/fastmcp-resources-resource.mdx +0 -123
  766. fastmcp-2.14.4/docs/python-sdk/fastmcp-resources-resource_manager.mdx +0 -154
  767. fastmcp-2.14.4/docs/python-sdk/fastmcp-resources-template.mdx +0 -182
  768. fastmcp-2.14.4/docs/python-sdk/fastmcp-resources-types.mdx +0 -134
  769. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-auth.mdx +0 -262
  770. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-oauth_proxy.mdx +0 -420
  771. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-auth0.mdx +0 -47
  772. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-aws.mdx +0 -88
  773. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-azure.mdx +0 -76
  774. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-descope.mdx +0 -62
  775. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-discord.mdx +0 -72
  776. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-github.mdx +0 -72
  777. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-google.mdx +0 -72
  778. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-introspection.mdx +0 -77
  779. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-jwt.mdx +0 -152
  780. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-oci.mdx +0 -103
  781. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-scalekit.mdx +0 -63
  782. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-supabase.mdx +0 -68
  783. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-auth-providers-workos.mdx +0 -110
  784. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-context.mdx +0 -421
  785. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-dependencies.mdx +0 -262
  786. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-elicitation.mdx +0 -140
  787. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-http.mdx +0 -106
  788. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-low_level.mdx +0 -53
  789. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-middleware-caching.mdx +0 -189
  790. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-middleware-middleware.mdx +0 -112
  791. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-middleware-tool_injection.mdx +0 -91
  792. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-openapi-__init__.mdx +0 -9
  793. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-openapi-components.mdx +0 -62
  794. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-openapi-routing.mdx +0 -23
  795. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-openapi-server.mdx +0 -20
  796. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-proxy.mdx +0 -339
  797. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-server.mdx +0 -799
  798. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-tasks-capabilities.mdx +0 -24
  799. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-tasks-config.mdx +0 -66
  800. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-tasks-converters.mdx +0 -77
  801. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-tasks-handlers.mdx +0 -78
  802. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-tasks-keys.mdx +0 -91
  803. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-tasks-protocol.mdx +0 -88
  804. fastmcp-2.14.4/docs/python-sdk/fastmcp-server-tasks-subscriptions.mdx +0 -35
  805. fastmcp-2.14.4/docs/python-sdk/fastmcp-settings.mdx +0 -56
  806. fastmcp-2.14.4/docs/python-sdk/fastmcp-tools-tool.mdx +0 -128
  807. fastmcp-2.14.4/docs/python-sdk/fastmcp-tools-tool_manager.mdx +0 -113
  808. fastmcp-2.14.4/docs/python-sdk/fastmcp-tools-tool_transform.mdx +0 -290
  809. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-cli.mdx +0 -55
  810. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-components.mdx +0 -121
  811. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-inspect.mdx +0 -143
  812. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-json_schema.mdx +0 -25
  813. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-json_schema_type.mdx +0 -110
  814. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-logging.mdx +0 -58
  815. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-mcp_config.mdx +0 -28
  816. fastmcp-2.14.4/docs/python-sdk/fastmcp-utilities-tests.mdx +0 -106
  817. fastmcp-2.14.4/docs/servers/auth/authentication.mdx +0 -266
  818. fastmcp-2.14.4/docs/servers/auth/oauth-proxy.mdx +0 -594
  819. fastmcp-2.14.4/docs/servers/auth/oidc-proxy.mdx +0 -269
  820. fastmcp-2.14.4/docs/servers/auth/remote-oauth.mdx +0 -226
  821. fastmcp-2.14.4/docs/servers/composition.mdx +0 -326
  822. fastmcp-2.14.4/docs/servers/context.mdx +0 -613
  823. fastmcp-2.14.4/docs/servers/elicitation.mdx +0 -462
  824. fastmcp-2.14.4/docs/servers/logging.mdx +0 -249
  825. fastmcp-2.14.4/docs/servers/middleware.mdx +0 -816
  826. fastmcp-2.14.4/docs/servers/progress.mdx +0 -189
  827. fastmcp-2.14.4/docs/servers/prompts.mdx +0 -353
  828. fastmcp-2.14.4/docs/servers/proxy.mdx +0 -349
  829. fastmcp-2.14.4/docs/servers/resources.mdx +0 -663
  830. fastmcp-2.14.4/docs/servers/sampling.mdx +0 -488
  831. fastmcp-2.14.4/docs/servers/server.mdx +0 -436
  832. fastmcp-2.14.4/docs/servers/tools.mdx +0 -986
  833. fastmcp-2.14.4/docs/snippets/version-badge.mdx +0 -7
  834. fastmcp-2.14.4/examples/mount_example.py +0 -116
  835. fastmcp-2.14.4/examples/serializer.py +0 -32
  836. fastmcp-2.14.4/examples/smart_home/src/smart_home/hub.py +0 -30
  837. fastmcp-2.14.4/examples/smart_home/src/smart_home/lights/server.py +0 -307
  838. fastmcp-2.14.4/examples/testing_demo/uv.lock +0 -1569
  839. fastmcp-2.14.4/justfile +0 -29
  840. fastmcp-2.14.4/pyproject.toml +0 -185
  841. fastmcp-2.14.4/src/fastmcp/cli/cli.py +0 -873
  842. fastmcp-2.14.4/src/fastmcp/cli/install/claude_code.py +0 -244
  843. fastmcp-2.14.4/src/fastmcp/cli/install/claude_desktop.py +0 -214
  844. fastmcp-2.14.4/src/fastmcp/cli/install/cursor.py +0 -337
  845. fastmcp-2.14.4/src/fastmcp/cli/install/gemini_cli.py +0 -241
  846. fastmcp-2.14.4/src/fastmcp/cli/install/mcp_json.py +0 -196
  847. fastmcp-2.14.4/src/fastmcp/cli/run.py +0 -225
  848. fastmcp-2.14.4/src/fastmcp/client/__init__.py +0 -32
  849. fastmcp-2.14.4/src/fastmcp/client/auth/oauth.py +0 -328
  850. fastmcp-2.14.4/src/fastmcp/client/client.py +0 -1618
  851. fastmcp-2.14.4/src/fastmcp/client/elicitation.py +0 -80
  852. fastmcp-2.14.4/src/fastmcp/client/sampling/handlers/anthropic.py +0 -387
  853. fastmcp-2.14.4/src/fastmcp/client/sampling/handlers/openai.py +0 -399
  854. fastmcp-2.14.4/src/fastmcp/client/tasks.py +0 -551
  855. fastmcp-2.14.4/src/fastmcp/client/transports.py +0 -1170
  856. fastmcp-2.14.4/src/fastmcp/contrib/component_manager/README.md +0 -170
  857. fastmcp-2.14.4/src/fastmcp/contrib/component_manager/__init__.py +0 -4
  858. fastmcp-2.14.4/src/fastmcp/contrib/component_manager/component_manager.py +0 -186
  859. fastmcp-2.14.4/src/fastmcp/contrib/component_manager/component_service.py +0 -209
  860. fastmcp-2.14.4/src/fastmcp/contrib/component_manager/example.py +0 -59
  861. fastmcp-2.14.4/src/fastmcp/contrib/mcp_mixin/example.py +0 -52
  862. fastmcp-2.14.4/src/fastmcp/contrib/mcp_mixin/mcp_mixin.py +0 -276
  863. fastmcp-2.14.4/src/fastmcp/dependencies.py +0 -25
  864. fastmcp-2.14.4/src/fastmcp/exceptions.py +0 -39
  865. fastmcp-2.14.4/src/fastmcp/experimental/server/openapi/__init__.py +0 -37
  866. fastmcp-2.14.4/src/fastmcp/mcp_config.py +0 -338
  867. fastmcp-2.14.4/src/fastmcp/prompts/__init__.py +0 -9
  868. fastmcp-2.14.4/src/fastmcp/prompts/prompt.py +0 -381
  869. fastmcp-2.14.4/src/fastmcp/prompts/prompt_manager.py +0 -117
  870. fastmcp-2.14.4/src/fastmcp/resources/__init__.py +0 -22
  871. fastmcp-2.14.4/src/fastmcp/resources/resource.py +0 -240
  872. fastmcp-2.14.4/src/fastmcp/resources/resource_manager.py +0 -338
  873. fastmcp-2.14.4/src/fastmcp/resources/template.py +0 -413
  874. fastmcp-2.14.4/src/fastmcp/resources/types.py +0 -157
  875. fastmcp-2.14.4/src/fastmcp/server/__init__.py +0 -6
  876. fastmcp-2.14.4/src/fastmcp/server/auth/__init__.py +0 -25
  877. fastmcp-2.14.4/src/fastmcp/server/auth/auth.py +0 -538
  878. fastmcp-2.14.4/src/fastmcp/server/auth/oauth_proxy.py +0 -2282
  879. fastmcp-2.14.4/src/fastmcp/server/auth/oidc_proxy.py +0 -419
  880. fastmcp-2.14.4/src/fastmcp/server/auth/providers/auth0.py +0 -193
  881. fastmcp-2.14.4/src/fastmcp/server/auth/providers/aws.py +0 -263
  882. fastmcp-2.14.4/src/fastmcp/server/auth/providers/azure.py +0 -446
  883. fastmcp-2.14.4/src/fastmcp/server/auth/providers/descope.py +0 -229
  884. fastmcp-2.14.4/src/fastmcp/server/auth/providers/discord.py +0 -308
  885. fastmcp-2.14.4/src/fastmcp/server/auth/providers/github.py +0 -304
  886. fastmcp-2.14.4/src/fastmcp/server/auth/providers/google.py +0 -341
  887. fastmcp-2.14.4/src/fastmcp/server/auth/providers/introspection.py +0 -281
  888. fastmcp-2.14.4/src/fastmcp/server/auth/providers/jwt.py +0 -564
  889. fastmcp-2.14.4/src/fastmcp/server/auth/providers/oci.py +0 -233
  890. fastmcp-2.14.4/src/fastmcp/server/auth/providers/scalekit.py +0 -238
  891. fastmcp-2.14.4/src/fastmcp/server/auth/providers/supabase.py +0 -193
  892. fastmcp-2.14.4/src/fastmcp/server/auth/providers/workos.py +0 -427
  893. fastmcp-2.14.4/src/fastmcp/server/context.py +0 -1156
  894. fastmcp-2.14.4/src/fastmcp/server/dependencies.py +0 -626
  895. fastmcp-2.14.4/src/fastmcp/server/elicitation.py +0 -462
  896. fastmcp-2.14.4/src/fastmcp/server/event_store.py +0 -177
  897. fastmcp-2.14.4/src/fastmcp/server/http.py +0 -366
  898. fastmcp-2.14.4/src/fastmcp/server/low_level.py +0 -225
  899. fastmcp-2.14.4/src/fastmcp/server/middleware/__init__.py +0 -11
  900. fastmcp-2.14.4/src/fastmcp/server/middleware/caching.py +0 -476
  901. fastmcp-2.14.4/src/fastmcp/server/middleware/middleware.py +0 -208
  902. fastmcp-2.14.4/src/fastmcp/server/middleware/tool_injection.py +0 -116
  903. fastmcp-2.14.4/src/fastmcp/server/openapi/__init__.py +0 -35
  904. fastmcp-2.14.4/src/fastmcp/server/openapi/components.py +0 -351
  905. fastmcp-2.14.4/src/fastmcp/server/openapi/routing.py +0 -130
  906. fastmcp-2.14.4/src/fastmcp/server/openapi/server.py +0 -452
  907. fastmcp-2.14.4/src/fastmcp/server/proxy.py +0 -707
  908. fastmcp-2.14.4/src/fastmcp/server/sampling/run.py +0 -301
  909. fastmcp-2.14.4/src/fastmcp/server/sampling/sampling_tool.py +0 -108
  910. fastmcp-2.14.4/src/fastmcp/server/server.py +0 -3101
  911. fastmcp-2.14.4/src/fastmcp/server/tasks/__init__.py +0 -21
  912. fastmcp-2.14.4/src/fastmcp/server/tasks/capabilities.py +0 -30
  913. fastmcp-2.14.4/src/fastmcp/server/tasks/config.py +0 -89
  914. fastmcp-2.14.4/src/fastmcp/server/tasks/converters.py +0 -206
  915. fastmcp-2.14.4/src/fastmcp/server/tasks/handlers.py +0 -365
  916. fastmcp-2.14.4/src/fastmcp/server/tasks/keys.py +0 -93
  917. fastmcp-2.14.4/src/fastmcp/server/tasks/protocol.py +0 -359
  918. fastmcp-2.14.4/src/fastmcp/server/tasks/subscriptions.py +0 -203
  919. fastmcp-2.14.4/src/fastmcp/settings.py +0 -427
  920. fastmcp-2.14.4/src/fastmcp/tools/__init__.py +0 -5
  921. fastmcp-2.14.4/src/fastmcp/tools/tool.py +0 -643
  922. fastmcp-2.14.4/src/fastmcp/tools/tool_manager.py +0 -170
  923. fastmcp-2.14.4/src/fastmcp/tools/tool_transform.py +0 -943
  924. fastmcp-2.14.4/src/fastmcp/utilities/components.py +0 -181
  925. fastmcp-2.14.4/src/fastmcp/utilities/inspect.py +0 -506
  926. fastmcp-2.14.4/src/fastmcp/utilities/json_schema.py +0 -394
  927. fastmcp-2.14.4/src/fastmcp/utilities/json_schema_type.py +0 -648
  928. fastmcp-2.14.4/src/fastmcp/utilities/logging.py +0 -230
  929. fastmcp-2.14.4/src/fastmcp/utilities/mcp_config.py +0 -56
  930. fastmcp-2.14.4/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +0 -447
  931. fastmcp-2.14.4/src/fastmcp/utilities/openapi/parser.py +0 -821
  932. fastmcp-2.14.4/src/fastmcp/utilities/tests.py +0 -286
  933. fastmcp-2.14.4/src/fastmcp/utilities/types.py +0 -496
  934. fastmcp-2.14.4/tests/cli/test_cli.py +0 -616
  935. fastmcp-2.14.4/tests/cli/test_config.py +0 -434
  936. fastmcp-2.14.4/tests/cli/test_mcp_server_config_integration.py +0 -293
  937. fastmcp-2.14.4/tests/cli/test_run.py +0 -602
  938. fastmcp-2.14.4/tests/cli/test_server_args.py +0 -135
  939. fastmcp-2.14.4/tests/cli/test_tasks.py +0 -50
  940. fastmcp-2.14.4/tests/client/auth/test_oauth_client.py +0 -251
  941. fastmcp-2.14.4/tests/client/tasks/conftest.py +0 -3
  942. fastmcp-2.14.4/tests/client/tasks/test_client_prompt_tasks.py +0 -103
  943. fastmcp-2.14.4/tests/client/tasks/test_client_resource_tasks.py +0 -108
  944. fastmcp-2.14.4/tests/client/tasks/test_client_tool_tasks.py +0 -88
  945. fastmcp-2.14.4/tests/client/tasks/test_prompt_task_mcp_message.py +0 -57
  946. fastmcp-2.14.4/tests/client/test_client.py +0 -1289
  947. fastmcp-2.14.4/tests/client/test_elicitation.py +0 -1083
  948. fastmcp-2.14.4/tests/client/test_notifications.py +0 -422
  949. fastmcp-2.14.4/tests/client/test_openapi.py +0 -192
  950. fastmcp-2.14.4/tests/client/test_sampling.py +0 -988
  951. fastmcp-2.14.4/tests/client/test_sse.py +0 -189
  952. fastmcp-2.14.4/tests/client/test_stdio.py +0 -364
  953. fastmcp-2.14.4/tests/client/test_streamable_http.py +0 -263
  954. fastmcp-2.14.4/tests/client/transports/test_transports.py +0 -39
  955. fastmcp-2.14.4/tests/conftest.py +0 -83
  956. fastmcp-2.14.4/tests/contrib/test_component_manager.py +0 -730
  957. fastmcp-2.14.4/tests/contrib/test_mcp_mixin.py +0 -322
  958. fastmcp-2.14.4/tests/deprecated/__init__.py +0 -4
  959. fastmcp-2.14.4/tests/deprecated/test_exclude_args.py +0 -124
  960. fastmcp-2.14.4/tests/deprecated/test_openapi_deprecations.py +0 -73
  961. fastmcp-2.14.4/tests/deprecated/test_settings.py +0 -300
  962. fastmcp-2.14.4/tests/integration_tests/auth/test_github_provider_integration.py +0 -401
  963. fastmcp-2.14.4/tests/integration_tests/conftest.py +0 -72
  964. fastmcp-2.14.4/tests/integration_tests/test_github_mcp_remote.py +0 -122
  965. fastmcp-2.14.4/tests/prompts/test_prompt.py +0 -499
  966. fastmcp-2.14.4/tests/prompts/test_prompt_manager.py +0 -464
  967. fastmcp-2.14.4/tests/resources/test_file_resources.py +0 -116
  968. fastmcp-2.14.4/tests/resources/test_function_resources.py +0 -131
  969. fastmcp-2.14.4/tests/resources/test_resource_manager.py +0 -760
  970. fastmcp-2.14.4/tests/resources/test_resource_template.py +0 -991
  971. fastmcp-2.14.4/tests/resources/test_resources.py +0 -116
  972. fastmcp-2.14.4/tests/server/auth/providers/test_auth0.py +0 -284
  973. fastmcp-2.14.4/tests/server/auth/providers/test_aws.py +0 -251
  974. fastmcp-2.14.4/tests/server/auth/providers/test_azure.py +0 -882
  975. fastmcp-2.14.4/tests/server/auth/providers/test_descope.py +0 -264
  976. fastmcp-2.14.4/tests/server/auth/providers/test_discord.py +0 -119
  977. fastmcp-2.14.4/tests/server/auth/providers/test_github.py +0 -245
  978. fastmcp-2.14.4/tests/server/auth/providers/test_google.py +0 -164
  979. fastmcp-2.14.4/tests/server/auth/providers/test_introspection.py +0 -463
  980. fastmcp-2.14.4/tests/server/auth/providers/test_scalekit.py +0 -259
  981. fastmcp-2.14.4/tests/server/auth/providers/test_supabase.py +0 -226
  982. fastmcp-2.14.4/tests/server/auth/providers/test_workos.py +0 -208
  983. fastmcp-2.14.4/tests/server/auth/test_jwt_provider.py +0 -1101
  984. fastmcp-2.14.4/tests/server/auth/test_oauth_consent_flow.py +0 -1062
  985. fastmcp-2.14.4/tests/server/auth/test_oauth_proxy.py +0 -1865
  986. fastmcp-2.14.4/tests/server/auth/test_oauth_proxy_redirect_validation.py +0 -201
  987. fastmcp-2.14.4/tests/server/http/test_bearer_auth_backend.py +0 -178
  988. fastmcp-2.14.4/tests/server/http/test_http_dependencies.py +0 -122
  989. fastmcp-2.14.4/tests/server/middleware/test_caching.py +0 -528
  990. fastmcp-2.14.4/tests/server/middleware/test_error_handling.py +0 -652
  991. fastmcp-2.14.4/tests/server/middleware/test_initialization_middleware.py +0 -375
  992. fastmcp-2.14.4/tests/server/middleware/test_logging.py +0 -670
  993. fastmcp-2.14.4/tests/server/middleware/test_middleware.py +0 -905
  994. fastmcp-2.14.4/tests/server/middleware/test_rate_limiting.py +0 -456
  995. fastmcp-2.14.4/tests/server/middleware/test_timing.py +0 -317
  996. fastmcp-2.14.4/tests/server/middleware/test_tool_injection.py +0 -498
  997. fastmcp-2.14.4/tests/server/openapi/test_comprehensive.py +0 -727
  998. fastmcp-2.14.4/tests/server/openapi/test_deepobject_style.py +0 -333
  999. fastmcp-2.14.4/tests/server/openapi/test_end_to_end_compatibility.py +0 -325
  1000. fastmcp-2.14.4/tests/server/openapi/test_openapi_features.py +0 -401
  1001. fastmcp-2.14.4/tests/server/openapi/test_openapi_performance.py +0 -136
  1002. fastmcp-2.14.4/tests/server/openapi/test_parameter_collisions.py +0 -212
  1003. fastmcp-2.14.4/tests/server/openapi/test_performance_comparison.py +0 -285
  1004. fastmcp-2.14.4/tests/server/openapi/test_server.py +0 -337
  1005. fastmcp-2.14.4/tests/server/proxy/test_proxy_client.py +0 -425
  1006. fastmcp-2.14.4/tests/server/proxy/test_proxy_server.py +0 -789
  1007. fastmcp-2.14.4/tests/server/proxy/test_stateful_proxy_client.py +0 -147
  1008. fastmcp-2.14.4/tests/server/tasks/conftest.py +0 -3
  1009. fastmcp-2.14.4/tests/server/tasks/test_server_tasks_parameter.py +0 -336
  1010. fastmcp-2.14.4/tests/server/tasks/test_sync_function_task_disabled.py +0 -229
  1011. fastmcp-2.14.4/tests/server/tasks/test_task_config_modes.py +0 -350
  1012. fastmcp-2.14.4/tests/server/tasks/test_task_dependencies.py +0 -272
  1013. fastmcp-2.14.4/tests/server/tasks/test_task_mount.py +0 -550
  1014. fastmcp-2.14.4/tests/server/tasks/test_task_prompts.py +0 -92
  1015. fastmcp-2.14.4/tests/server/tasks/test_task_proxy.py +0 -165
  1016. fastmcp-2.14.4/tests/server/tasks/test_task_resources.py +0 -108
  1017. fastmcp-2.14.4/tests/server/tasks/test_task_return_types.py +0 -660
  1018. fastmcp-2.14.4/tests/server/tasks/test_task_tools.py +0 -102
  1019. fastmcp-2.14.4/tests/server/test_context.py +0 -182
  1020. fastmcp-2.14.4/tests/server/test_dependencies.py +0 -779
  1021. fastmcp-2.14.4/tests/server/test_event_store.py +0 -237
  1022. fastmcp-2.14.4/tests/server/test_file_server.py +0 -127
  1023. fastmcp-2.14.4/tests/server/test_import_server.py +0 -627
  1024. fastmcp-2.14.4/tests/server/test_input_validation.py +0 -353
  1025. fastmcp-2.14.4/tests/server/test_log_level.py +0 -88
  1026. fastmcp-2.14.4/tests/server/test_logging.py +0 -192
  1027. fastmcp-2.14.4/tests/server/test_mount.py +0 -1426
  1028. fastmcp-2.14.4/tests/server/test_server.py +0 -1526
  1029. fastmcp-2.14.4/tests/server/test_server_docket.py +0 -170
  1030. fastmcp-2.14.4/tests/server/test_server_interactions.py +0 -2804
  1031. fastmcp-2.14.4/tests/server/test_server_lifespan.py +0 -71
  1032. fastmcp-2.14.4/tests/server/test_tool_annotations.py +0 -255
  1033. fastmcp-2.14.4/tests/server/test_tool_transformation.py +0 -68
  1034. fastmcp-2.14.4/tests/test_mcp_config.py +0 -771
  1035. fastmcp-2.14.4/tests/tools/test_tool.py +0 -1950
  1036. fastmcp-2.14.4/tests/tools/test_tool_manager.py +0 -1083
  1037. fastmcp-2.14.4/tests/tools/test_tool_transform.py +0 -1693
  1038. fastmcp-2.14.4/tests/utilities/openapi/test_models.py +0 -476
  1039. fastmcp-2.14.4/tests/utilities/openapi/test_nullable_fields.py +0 -375
  1040. fastmcp-2.14.4/tests/utilities/openapi/test_schemas.py +0 -635
  1041. fastmcp-2.14.4/tests/utilities/test_components.py +0 -438
  1042. fastmcp-2.14.4/tests/utilities/test_inspect.py +0 -1112
  1043. fastmcp-2.14.4/tests/utilities/test_json_schema.py +0 -766
  1044. fastmcp-2.14.4/tests/utilities/test_json_schema_type.py +0 -1586
  1045. fastmcp-2.14.4/tests/utilities/test_logging.py +0 -56
  1046. fastmcp-2.14.4/tests/utilities/test_types.py +0 -673
  1047. fastmcp-2.14.4/uv.lock +0 -2761
  1048. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.ccignore +0 -0
  1049. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
  1050. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  1051. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  1052. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/copilot-instructions.md +0 -0
  1053. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/dependabot.yml +0 -0
  1054. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/pull_request_template.md +0 -0
  1055. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/release.yml +0 -0
  1056. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/workflows/auto-close-duplicates.yml +0 -0
  1057. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/workflows/auto-close-needs-mre.yml +0 -0
  1058. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/workflows/publish.yml +0 -0
  1059. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/workflows/run-static.yml +0 -0
  1060. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/.github/workflows/run-tests.yml +0 -0
  1061. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/CLAUDE.md +0 -0
  1062. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/CODE_OF_CONDUCT.md +0 -0
  1063. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/LICENSE +0 -0
  1064. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/SECURITY.md +0 -0
  1065. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/.ccignore +0 -0
  1066. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/.cursor/rules/mintlify.mdc +0 -0
  1067. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/blue-logo.png +0 -0
  1068. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/f-watercolor-waves-dark.png +0 -0
  1069. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/f-watercolor-waves.png +0 -0
  1070. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/favicon.svg +0 -0
  1071. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/thumbnail-background.png +0 -0
  1072. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-padded.png +0 -0
  1073. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-rainbow-dark.png +0 -0
  1074. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-rainbow.png +0 -0
  1075. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-waves-dark.png +0 -0
  1076. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-watercolor-waves.png +0 -0
  1077. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-white-padded.png +0 -0
  1078. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark-white.png +0 -0
  1079. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/brand/wordmark.png +0 -0
  1080. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/connect.png +0 -0
  1081. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/create_project.png +0 -0
  1082. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/deployment.png +0 -0
  1083. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/images/fastmcp_cloud/quickstart.png +0 -0
  1084. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/images/oauth-proxy-consent-screen.png +0 -0
  1085. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/images/tutorial-rest-api-result.png +0 -0
  1086. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/schemas/mcp_server_config/latest.json +0 -0
  1087. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/schemas/mcp_server_config/v1.json +0 -0
  1088. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/assets/updates/release-2-7.png +0 -0
  1089. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/changelog.mdx +0 -0
  1090. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/clients/auth/bearer.mdx +0 -0
  1091. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/community/README.md +0 -0
  1092. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/community/showcase.mdx +0 -0
  1093. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/css/banner.css +0 -0
  1094. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/css/python-sdk.css +0 -0
  1095. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/css/version-badge.css +0 -0
  1096. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/deployment/fastmcp-cloud.mdx +0 -0
  1097. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/deployment/server-configuration.mdx +0 -0
  1098. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/development/contributing.mdx +0 -0
  1099. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/development/releases.mdx +0 -0
  1100. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/development/tests.mdx +0 -0
  1101. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/getting-started/quickstart.mdx +0 -0
  1102. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/anthropic.mdx +0 -0
  1103. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/claude-code.mdx +0 -0
  1104. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/cursor-install-mcp.png +0 -0
  1105. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/cursor.mdx +0 -0
  1106. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/eunomia-authorization.mdx +0 -0
  1107. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/gemini.mdx +0 -0
  1108. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/authkit/enable_dcr.png +0 -0
  1109. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ociaddapplication.png +0 -0
  1110. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ocieditdomainsettings.png +0 -0
  1111. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ocieditdomainsettingsbutton.png +0 -0
  1112. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/oci/ocioauthconfiguration.png +0 -0
  1113. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/permit/abac_condition_example.png +0 -0
  1114. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/permit/abac_policy_example.png +0 -0
  1115. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/permit/policy_mapping.png +0 -0
  1116. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/images/permit/role_assignement.png +0 -0
  1117. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/mcp-json-configuration.mdx +0 -0
  1118. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/openai.mdx +0 -0
  1119. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/integrations/permit.mdx +0 -0
  1120. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/patterns/contrib.mdx +0 -0
  1121. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/patterns/testing.mdx +0 -0
  1122. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/public/schemas/fastmcp.json/latest.json +0 -0
  1123. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/public/schemas/fastmcp.json/v1.json +0 -0
  1124. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-__init__.mdx +0 -0
  1125. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-__init__.mdx +0 -0
  1126. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-claude_code.mdx +0 -0
  1127. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-claude_desktop.mdx +0 -0
  1128. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-cursor.mdx +0 -0
  1129. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-gemini_cli.mdx +0 -0
  1130. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-mcp_json.mdx +0 -0
  1131. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-install-shared.mdx +0 -0
  1132. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-cli-tasks.mdx +0 -0
  1133. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-__init__.mdx +0 -0
  1134. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-auth-__init__.mdx +0 -0
  1135. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-auth-bearer.mdx +0 -0
  1136. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-elicitation.mdx +0 -0
  1137. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-logging.mdx +0 -0
  1138. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-messages.mdx +0 -0
  1139. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-oauth_callback.mdx +0 -0
  1140. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-progress.mdx +0 -0
  1141. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-client-roots.mdx +0 -0
  1142. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-prompts-__init__.mdx +0 -0
  1143. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-resources-__init__.mdx +0 -0
  1144. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-__init__.mdx +0 -0
  1145. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-__init__.mdx +0 -0
  1146. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-jwt_issuer.mdx +0 -0
  1147. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-middleware.mdx +0 -0
  1148. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-oidc_proxy.mdx +0 -0
  1149. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-providers-__init__.mdx +0 -0
  1150. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-providers-debug.mdx +0 -0
  1151. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-providers-in_memory.mdx +0 -0
  1152. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-auth-redirect_validation.mdx +0 -0
  1153. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-event_store.mdx +0 -0
  1154. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-__init__.mdx +0 -0
  1155. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-error_handling.mdx +0 -0
  1156. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-logging.mdx +0 -0
  1157. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-rate_limiting.mdx +0 -0
  1158. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-middleware-timing.mdx +0 -0
  1159. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-server-tasks-__init__.mdx +0 -0
  1160. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-tools-__init__.mdx +0 -0
  1161. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-__init__.mdx +0 -0
  1162. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-auth.mdx +0 -0
  1163. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-exceptions.mdx +0 -0
  1164. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-http.mdx +0 -0
  1165. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-__init__.mdx +0 -0
  1166. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-__init__.mdx +0 -0
  1167. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-__init__.mdx +0 -0
  1168. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-base.mdx +0 -0
  1169. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-environments-uv.mdx +0 -0
  1170. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-mcp_server_config.mdx +0 -0
  1171. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-__init__.mdx +0 -0
  1172. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-base.mdx +0 -0
  1173. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-mcp_server_config-v1-sources-filesystem.mdx +0 -0
  1174. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-__init__.mdx +0 -0
  1175. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-director.mdx +0 -0
  1176. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-formatters.mdx +0 -0
  1177. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-json_schema_converter.mdx +0 -0
  1178. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-models.mdx +0 -0
  1179. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-parser.mdx +0 -0
  1180. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-openapi-schemas.mdx +0 -0
  1181. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-types.mdx +0 -0
  1182. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/python-sdk/fastmcp-utilities-ui.mdx +0 -0
  1183. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/servers/auth/full-oauth-server.mdx +0 -0
  1184. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/servers/storage-backends.mdx +0 -0
  1185. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/snippets/local-focus.mdx +0 -0
  1186. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/snippets/youtube-embed.mdx +0 -0
  1187. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/tutorials/create-mcp-server.mdx +0 -0
  1188. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/tutorials/mcp.mdx +0 -0
  1189. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/docs/tutorials/rest-api.mdx +0 -0
  1190. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/auth/oauth.mdx +0 -0
  1191. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/elicitation.mdx +0 -0
  1192. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/logging.mdx +0 -0
  1193. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/progress.mdx +0 -0
  1194. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/prompts.mdx +0 -0
  1195. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/resources.mdx +0 -0
  1196. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/roots.mdx +0 -0
  1197. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/clients/transports.mdx +0 -0
  1198. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/integrations/chatgpt.mdx +0 -0
  1199. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/integrations/gemini-cli.mdx +0 -0
  1200. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/integrations/openapi.mdx +0 -0
  1201. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/patterns/decorating-methods.mdx +0 -0
  1202. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/servers/auth/token-verification.mdx +0 -0
  1203. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/servers/icons.mdx +0 -0
  1204. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/servers/tasks.mdx +0 -0
  1205. {fastmcp-2.14.4/docs → fastmcp-3.0.0b1/docs/v2}/updates.mdx +0 -0
  1206. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/README.md +0 -0
  1207. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/demo.py +0 -0
  1208. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/fastmcp.json +0 -0
  1209. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/pyproject.toml +0 -0
  1210. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/__init__.py +0 -0
  1211. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/__main__.py +0 -0
  1212. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/__init__.py +0 -0
  1213. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_client.py +0 -0
  1214. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_posts.py +0 -0
  1215. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_profile.py +0 -0
  1216. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_read.py +0 -0
  1217. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/_atproto/_social.py +0 -0
  1218. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/py.typed +0 -0
  1219. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/server.py +0 -0
  1220. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/settings.py +0 -0
  1221. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/atproto_mcp/src/atproto_mcp/types.py +0 -0
  1222. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/authkit_dcr/README.md +0 -0
  1223. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/authkit_dcr/client.py +0 -0
  1224. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/authkit_dcr/server.py +0 -0
  1225. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/README.md +0 -0
  1226. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/client.py +0 -0
  1227. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/requirements.txt +0 -0
  1228. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/aws_oauth/server.py +0 -0
  1229. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/azure_oauth/README.md +0 -0
  1230. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/azure_oauth/client.py +0 -0
  1231. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/azure_oauth/server.py +0 -0
  1232. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/discord_oauth/README.md +0 -0
  1233. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/discord_oauth/client.py +0 -0
  1234. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/discord_oauth/server.py +0 -0
  1235. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/github_oauth/README.md +0 -0
  1236. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/github_oauth/client.py +0 -0
  1237. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/github_oauth/server.py +0 -0
  1238. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/google_oauth/README.md +0 -0
  1239. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/google_oauth/client.py +0 -0
  1240. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/google_oauth/server.py +0 -0
  1241. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/mounted/README.md +0 -0
  1242. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/mounted/client.py +0 -0
  1243. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/mounted/server.py +0 -0
  1244. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/scalekit_oauth/README.md +0 -0
  1245. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/scalekit_oauth/client.py +0 -0
  1246. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/scalekit_oauth/server.py +0 -0
  1247. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/workos_oauth/README.md +0 -0
  1248. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/workos_oauth/client.py +0 -0
  1249. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/auth/workos_oauth/server.py +0 -0
  1250. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/complex_inputs.py +0 -0
  1251. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/config_server.py +0 -0
  1252. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/desktop.py +0 -0
  1253. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/echo.py +0 -0
  1254. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config/env_interpolation_example.json +0 -0
  1255. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config/fastmcp.json +0 -0
  1256. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config/full_example.fastmcp.json +0 -0
  1257. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config/server.py +0 -0
  1258. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config/simple.fastmcp.json +0 -0
  1259. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config_demo/README.md +0 -0
  1260. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config_demo/fastmcp.json +0 -0
  1261. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/fastmcp_config_demo/server.py +0 -0
  1262. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/get_file.py +0 -0
  1263. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/in_memory_proxy_example.py +0 -0
  1264. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/memory.fastmcp.json +0 -0
  1265. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/memory.py +0 -0
  1266. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/mount_example.fastmcp.json +0 -0
  1267. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/sampling/README.md +0 -0
  1268. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/sampling/server_fallback.py +0 -0
  1269. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/sampling/structured_output.py +0 -0
  1270. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/sampling/text.py +0 -0
  1271. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/sampling/tool_use.py +0 -0
  1272. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/screenshot.fastmcp.json +0 -0
  1273. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/screenshot.py +0 -0
  1274. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/simple_echo.py +0 -0
  1275. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/README.md +0 -0
  1276. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/hub.fastmcp.json +0 -0
  1277. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/lights.fastmcp.json +0 -0
  1278. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/pyproject.toml +0 -0
  1279. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/__init__.py +0 -0
  1280. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/__main__.py +0 -0
  1281. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/lights/__init__.py +0 -0
  1282. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/lights/hue_utils.py +0 -0
  1283. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/py.typed +0 -0
  1284. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/smart_home/src/smart_home/settings.py +0 -0
  1285. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/tags_example.py +0 -0
  1286. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/tasks/README.md +0 -0
  1287. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/tasks/client.py +0 -0
  1288. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/tasks/docker-compose.yml +0 -0
  1289. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/tasks/server.py +0 -0
  1290. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/testing_demo/README.md +0 -0
  1291. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/testing_demo/pyproject.toml +0 -0
  1292. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/testing_demo/server.py +0 -0
  1293. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/testing_demo/tests/test_server.py +0 -0
  1294. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/text_me.py +0 -0
  1295. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/examples/tool_result_echo.py +0 -0
  1296. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/logo.py +0 -0
  1297. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/scripts/auto_close_duplicates.py +0 -0
  1298. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/scripts/auto_close_needs_mre.py +0 -0
  1299. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/__init__.py +0 -0
  1300. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/cli/__init__.py +0 -0
  1301. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/cli/__main__.py +0 -0
  1302. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/cli/install/__init__.py +0 -0
  1303. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/cli/install/shared.py +0 -0
  1304. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/cli/tasks.py +0 -0
  1305. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/auth/__init__.py +0 -0
  1306. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/auth/bearer.py +0 -0
  1307. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/logging.py +0 -0
  1308. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/messages.py +0 -0
  1309. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/oauth_callback.py +0 -0
  1310. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/progress.py +0 -0
  1311. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/roots.py +0 -0
  1312. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/sampling/__init__.py +0 -0
  1313. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/client/sampling/handlers/__init__.py +0 -0
  1314. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/contrib/README.md +0 -0
  1315. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/README.md +0 -0
  1316. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/__init__.py +0 -0
  1317. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py +0 -0
  1318. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/contrib/bulk_tool_caller/example.py +0 -0
  1319. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/contrib/mcp_mixin/README.md +0 -0
  1320. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/contrib/mcp_mixin/__init__.py +0 -0
  1321. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/experimental/sampling/__init__.py +0 -0
  1322. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/experimental/sampling/handlers/__init__.py +0 -0
  1323. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/experimental/sampling/handlers/openai.py +0 -0
  1324. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/experimental/utilities/openapi/__init__.py +0 -0
  1325. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/py.typed +0 -0
  1326. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/handlers/authorize.py +0 -0
  1327. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/jwt_issuer.py +0 -0
  1328. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/middleware.py +0 -0
  1329. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/providers/__init__.py +0 -0
  1330. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/providers/debug.py +0 -0
  1331. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/providers/in_memory.py +0 -0
  1332. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/auth/redirect_validation.py +0 -0
  1333. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/error_handling.py +0 -0
  1334. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/logging.py +0 -0
  1335. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/rate_limiting.py +0 -0
  1336. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/middleware/timing.py +0 -0
  1337. {fastmcp-2.14.4/src/fastmcp/server → fastmcp-3.0.0b1/src/fastmcp/server/providers}/openapi/README.md +0 -0
  1338. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/server/sampling/__init__.py +0 -0
  1339. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/__init__.py +0 -0
  1340. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/auth.py +0 -0
  1341. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/cli.py +0 -0
  1342. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/exceptions.py +0 -0
  1343. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/http.py +0 -0
  1344. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/__init__.py +0 -0
  1345. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/__init__.py +0 -0
  1346. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/environments/__init__.py +0 -0
  1347. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/environments/base.py +0 -0
  1348. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/environments/uv.py +0 -0
  1349. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/schema.json +0 -0
  1350. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/sources/__init__.py +0 -0
  1351. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/sources/base.py +0 -0
  1352. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py +0 -0
  1353. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/README.md +0 -0
  1354. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/__init__.py +0 -0
  1355. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/director.py +0 -0
  1356. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/formatters.py +0 -0
  1357. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/json_schema_converter.py +0 -0
  1358. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/models.py +0 -0
  1359. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/openapi/schemas.py +0 -0
  1360. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/ui.py +0 -0
  1361. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/src/fastmcp/utilities/version_check.py +0 -0
  1362. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/__init__.py +0 -0
  1363. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/__init__.py +0 -0
  1364. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/test_cursor.py +0 -0
  1365. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/test_install.py +0 -0
  1366. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/test_mcp_server_config_schema.py +0 -0
  1367. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/test_project_prepare.py +0 -0
  1368. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/test_run_config.py +0 -0
  1369. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/test_shared.py +0 -0
  1370. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/cli/test_with_argv.py +0 -0
  1371. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/__init__.py +0 -0
  1372. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/auth/__init__.py +0 -0
  1373. {fastmcp-2.14.4/tests/client/sampling → fastmcp-3.0.0b1/tests/client/client}/__init__.py +0 -0
  1374. {fastmcp-2.14.4/tests/client/sampling/handlers → fastmcp-3.0.0b1/tests/client/sampling}/__init__.py +0 -0
  1375. {fastmcp-2.14.4/tests/client/transports → fastmcp-3.0.0b1/tests/client/sampling/handlers}/__init__.py +0 -0
  1376. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/sampling/handlers/test_anthropic_handler.py +0 -0
  1377. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/sampling/handlers/test_openai_handler.py +0 -0
  1378. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/tasks/test_client_task_notifications.py +0 -0
  1379. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/tasks/test_client_task_protocol.py +0 -0
  1380. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/tasks/test_task_context_validation.py +0 -0
  1381. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/tasks/test_task_result_caching.py +0 -0
  1382. {fastmcp-2.14.4/tests/experimental → fastmcp-3.0.0b1/tests/client/telemetry}/__init__.py +0 -0
  1383. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/test_logs.py +0 -0
  1384. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/test_oauth_callback_xss.py +0 -0
  1385. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/test_progress.py +0 -0
  1386. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/test_roots.py +0 -0
  1387. {fastmcp-2.14.4/tests/integration_tests → fastmcp-3.0.0b1/tests/client/transports}/__init__.py +0 -0
  1388. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/client/transports/test_uv_transport.py +0 -0
  1389. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/contrib/__init__.py +0 -0
  1390. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/contrib/test_bulk_tool_caller.py +0 -0
  1391. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/deprecated/test_deprecated.py +0 -0
  1392. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/experimental/README.md +0 -0
  1393. {fastmcp-2.14.4/tests/integration_tests/auth → fastmcp-3.0.0b1/tests/experimental}/__init__.py +0 -0
  1394. {fastmcp-2.14.4/tests/prompts → fastmcp-3.0.0b1/tests/integration_tests}/__init__.py +0 -0
  1395. {fastmcp-2.14.4/tests/resources → fastmcp-3.0.0b1/tests/integration_tests/auth}/__init__.py +0 -0
  1396. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/integration_tests/test_timeout_fix.py +0 -0
  1397. {fastmcp-2.14.4/tests/server → fastmcp-3.0.0b1/tests/prompts}/__init__.py +0 -0
  1398. {fastmcp-2.14.4/tests/server/auth → fastmcp-3.0.0b1/tests/resources}/__init__.py +0 -0
  1399. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/resources/test_resource_template_meta.py +0 -0
  1400. {fastmcp-2.14.4/tests/server/auth/providers → fastmcp-3.0.0b1/tests/server}/__init__.py +0 -0
  1401. {fastmcp-2.14.4/tests/server/http → fastmcp-3.0.0b1/tests/server/auth}/__init__.py +0 -0
  1402. {fastmcp-2.14.4/tests/server/middleware → fastmcp-3.0.0b1/tests/server/auth/oauth_proxy}/__init__.py +0 -0
  1403. {fastmcp-2.14.4/tests/server/proxy → fastmcp-3.0.0b1/tests/server/auth/providers}/__init__.py +0 -0
  1404. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_auth_provider.py +0 -0
  1405. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_debug_verifier.py +0 -0
  1406. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_enhanced_error_responses.py +0 -0
  1407. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_jwt_issuer.py +0 -0
  1408. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_oauth_mounting.py +0 -0
  1409. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_oauth_proxy_storage.py +0 -0
  1410. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_oidc_proxy.py +0 -0
  1411. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_redirect_validation.py +0 -0
  1412. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_remote_auth_provider.py +0 -0
  1413. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/auth/test_static_token_verifier.py +0 -0
  1414. {fastmcp-2.14.4/tests/server/sampling → fastmcp-3.0.0b1/tests/server/http}/__init__.py +0 -0
  1415. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/http/test_custom_routes.py +0 -0
  1416. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/http/test_http_auth_middleware.py +0 -0
  1417. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/http/test_http_middleware.py +0 -0
  1418. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/http/test_stale_access_token.py +0 -0
  1419. {fastmcp-2.14.4/tests/tools → fastmcp-3.0.0b1/tests/server/middleware}/__init__.py +0 -0
  1420. {fastmcp-2.14.4/tests/server → fastmcp-3.0.0b1/tests/server/providers}/openapi/__init__.py +0 -0
  1421. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/sampling/test_sampling_tool.py +0 -0
  1422. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/__init__.py +0 -0
  1423. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_progress_dependency.py +0 -0
  1424. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_capabilities.py +0 -0
  1425. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_metadata.py +0 -0
  1426. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_methods.py +0 -0
  1427. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_protocol.py +0 -0
  1428. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_security.py +0 -0
  1429. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_status_notifications.py +0 -0
  1430. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/tasks/test_task_ttl.py +0 -0
  1431. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/test_app_state.py +0 -0
  1432. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/test_auth_integration.py +0 -0
  1433. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/test_icons.py +0 -0
  1434. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/test_run_server.py +0 -0
  1435. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/server/test_streamable_http_no_redirect.py +0 -0
  1436. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/tools/test_tool_future_annotations.py +0 -0
  1437. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/__init__.py +0 -0
  1438. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/__init__.py +0 -0
  1439. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/conftest.py +0 -0
  1440. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_allof_requestbody.py +0 -0
  1441. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_direct_array_schemas.py +0 -0
  1442. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_director.py +0 -0
  1443. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_legacy_compatibility.py +0 -0
  1444. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_parser.py +0 -0
  1445. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/openapi/test_transitive_references.py +0 -0
  1446. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/test_cli.py +0 -0
  1447. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/test_tests.py +0 -0
  1448. {fastmcp-2.14.4 → fastmcp-3.0.0b1}/tests/utilities/test_typeadapter.py +0 -0
  1449. {fastmcp-2.14.4 → 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