AI Slop Code RIsk Monitor

PrefectHQ/fastmcp

🚀 The fast, Pythonic way to build MCP servers and clients.

40.0 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for PrefectHQ/fastmcp, a Python project with 28,034 GitHub stars. SynthScan examined 286,785 lines of code across 1085 source files, recording 8882 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 40.0 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

40.0
Adjusted Signal
40.0
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
28.0K
Stars
Python
Language
286.8K
Lines of Code
1.1K
Files
8.9K
Pattern Hits
2026-10-12
Scan Date
0.21
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 73.2/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 7255 finding(s).

Hallucinated Dependency & Supply Chain Risk 12.8/100 · LOW

Are imports declared and package/API names verified? 558 finding(s).

Agent Over-Engineering Ratio 80.8/100 · CRITICAL

Are wrappers, guards, and repeated structures necessary? 7686 finding(s).

PR Review Velocity Impact 87.0/100 · CRITICAL

Which changes need focused human review? 8882 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 2HIGH 223MEDIUM 832LOW 7825

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 8882 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers6531 hits · 6236 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/models.py193def missing_capability_error_data() -> dict[str, Any]:CODE
LOWfastmcp_tasks/fastmcp_tasks/input_store.py498async def acquire_update_lock_blocking(CODE
LOWfastmcp_tasks/fastmcp_tasks/creation.py164async def registered_component_for_key(server: FastMCP, component_key: str) -> Tool:CODE
LOWfastmcp_tasks/fastmcp_tasks/creation.py205async def _registered_task_component(context: Context, tool: Tool) -> Tool:CODE
LOWfastmcp_tasks/fastmcp_tasks/client.py303def _inlined_call_tool_result(result: dict[str, Any] | None) -> CallToolResult:CODE
LOW⚡fastmcp_tasks/fastmcp_tasks/client.py380def _build_tasks_client_extension(CODE
LOWfastmcp_tasks/fastmcp_tasks/keys.py178def get_client_task_id_from_key(task_key: str) -> str:CODE
LOWfastmcp_tasks/fastmcp_tasks/wire_production.py54def _serialize_with_task_production(CODE
LOWfastmcp_tasks/fastmcp_tasks/context.py436 def remove_connection_session() -> None:CODE
LOWfastmcp_tasks/fastmcp_tasks/context.py538def _apply_snapshot_to_context(snapshot: TaskContextSnapshot) -> None:CODE
LOWfastmcp_tasks/fastmcp_tasks/extension.py145 def _require_tasks_capability(self, ctx: ServerRequestContext[Any, Any]) -> None:CODE
LOWfastmcp_tasks/fastmcp_tasks/extension.py165 def _require_matching_task_route(self, task_id: str) -> None:CODE
LOWfastmcp_tasks/fastmcp_tasks/components.py54def register_component_with_docket(component: FastMCPComponent, docket: Docket) -> None:CODE
LOWfastmcp_tasks/fastmcp_tasks/worker_cli.py54def check_distributed_backend(settings: DocketSettings) -> None:CODE
LOWfastmcp_slim/fastmcp/telemetry.py109def suppress_fastmcp_telemetry() -> Iterator[None]:CODE
LOWfastmcp_slim/fastmcp/telemetry.py209def restore_dropped_attributes(CODE
LOWfastmcp_slim/fastmcp/settings.py304 def parse_disabled_session_idle_timeout(cls, v):CODE
LOWfastmcp_slim/fastmcp/mcp_config.py55def infer_transport_type_from_url(CODE
LOWfastmcp_slim/fastmcp/mcp_config.py75def _coerce_tool_transform_configs(tools: dict[str, Any]) -> dict[str, Any]:CODE
LOWfastmcp_slim/fastmcp/mcp_config.py104 def _require_at_least_one_transform_field(CODE
LOWfastmcp_slim/fastmcp/mcp_config.py123 def _to_server_and_underlying_transport(CODE
LOW…tmcp_slim/fastmcp/experimental/transforms/code_mode.py680 def _build_execute_description(self) -> str:CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py632 def _create_forwarding_transform(CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py849 def _merge_schema_with_precedence(CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py1027def apply_transformations_to_tools(CODE
LOWfastmcp_slim/fastmcp/tools/function_parsing.py57def _is_unconstrained_sequence(tp: Any) -> bool:CODE
LOWfastmcp_slim/fastmcp/tools/base.py496def _convert_to_single_content_block(CODE
LOWfastmcp_slim/fastmcp/resources/security.py63 def __get_pydantic_core_schema__(CODE
LOWfastmcp_slim/fastmcp/resources/types.py96 def set_binary_from_mime_type(cls, is_binary: bool, info: ValidationInfo) -> bool:CODE
LOWfastmcp_slim/fastmcp/resources/template.py88def extract_exploded_query_params(uri_template: str) -> set[str]:CODE
LOWfastmcp_slim/fastmcp/resources/base.py242def convert_raw_to_resource_result(CODE
LOWfastmcp_slim/fastmcp/server/sessions.py343def session_id_parameter_names(fn: Callable[..., object]) -> tuple[str, ...]:CODE
LOWfastmcp_slim/fastmcp/server/server.py137def _validation_error_summary(error: PydanticValidationError) -> dict[str, Any]:CODE
LOWfastmcp_slim/fastmcp/server/server.py618 async def _dispatch_component_middleware(CODE
LOWfastmcp_slim/fastmcp/server/server.py702 async def _rebind_prefab_tool_names(self, result: Any) -> Any:CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py60def get_session_span_attributes() -> dict[str, str]:CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py74def get_protocol_span_attributes() -> dict[str, str]:CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py89def _get_parent_trace_context() -> Context | None:CODE
LOWfastmcp_slim/fastmcp/server/low_level.py111def client_supports_extension(session: ServerSession, extension_id: str) -> bool:CODE
LOWfastmcp_slim/fastmcp/server/low_level.py512 def create_initialization_options(CODE
LOWfastmcp_slim/fastmcp/server/extensions.py90def _extension_tool_call_scope(server: FastMCP) -> Iterator[None]:CODE
LOWfastmcp_slim/fastmcp/server/extensions.py108def _delegate_extension_interceptors(server: FastMCP) -> Iterator[None]:CODE
LOWfastmcp_slim/fastmcp/server/extensions.py284def _extract_client_extension_settings(CODE
LOWfastmcp_slim/fastmcp/server/extensions.py302def read_client_extension_settings(CODE
LOWfastmcp_slim/fastmcp/server/extensions.py345def wrap_tool_call_interceptor(CODE
LOWfastmcp_slim/fastmcp/server/context.py337 def client_extension_settings(self, identifier: str) -> dict[str, Any] | None:CODE
LOWfastmcp_slim/fastmcp/server/context.py658 def client_supports_extension(self, extension_id: str) -> bool:CODE
LOWfastmcp_slim/fastmcp/server/context.py1296def _detached_request_context(context: Context) -> ServerRequestContext:CODE
LOWfastmcp_slim/fastmcp/server/context.py1329async def _log_to_server_and_client(CODE
LOWfastmcp_slim/fastmcp/server/http.py304 def _allow_same_origin_fallback(self, scope: Scope, host: str) -> bool:CODE
LOWfastmcp_slim/fastmcp/server/http.py346def _host_origin_guard_middleware(CODE
LOWfastmcp_slim/fastmcp/server/http.py447def _served_resource_metadata_url(CODE
LOWfastmcp_slim/fastmcp/server/http.py624def create_streamable_http_app(CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py168def parse_elicit_response_type(CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py426def validate_elicitation_json_schema(schema: dict[str, Any]) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py194def set_background_context_factory(CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py216def set_worker_server_resolver(CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py261def _serving_client_tool_call() -> Generator[None, None, None]:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py340def transform_context_annotations(fn: Callable[..., Any]) -> Callable[..., Any]:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py724def without_injected_parameters(CODE
6471 more matches not shown…
Decorative Section Separators655 hits · 2234 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py135# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py137# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py237# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py239# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py321# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py323# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py69# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py134# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py136# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py168# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py170# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py243# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py245# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py319# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py321# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_tasks/fastmcp_tasks/client.py387# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_tasks/fastmcp_tasks/client.py389# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py28# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py30# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py42# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py44# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py133# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py135# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py315# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py317# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py602# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py604# ---------------------------------------------------------------------------COMMENT
MEDIUM…mcp_slim/fastmcp/experimental/transforms/jev_search.py191 # ------------------------------------------------------------------COMMENT
MEDIUM…mcp_slim/fastmcp/experimental/transforms/jev_search.py193 # ------------------------------------------------------------------COMMENT
MEDIUM…mcp_slim/fastmcp/experimental/transforms/jev_search.py214 # ------------------------------------------------------------------COMMENT
MEDIUM…mcp_slim/fastmcp/experimental/transforms/jev_search.py216 # ------------------------------------------------------------------COMMENT
MEDIUM…mcp_slim/fastmcp/experimental/transforms/jev_search.py238 # ------------------------------------------------------------------COMMENT
MEDIUM…mcp_slim/fastmcp/experimental/transforms/jev_search.py240 # ------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py774 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py776 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py2473# -----------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py2475# -----------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/context.py1185 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/context.py1187 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/models.py23# -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/models.py25# -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/models.py39# -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/models.py41# -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py743 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py745 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py769 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py771 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py825 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py827 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1524 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1526 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1649 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1651 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2356 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2358 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py868 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py870 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py921 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py923 # -------------------------------------------------------------------------COMMENT
595 more matches not shown…
Unused Imports478 hits · 464 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/encryption.py13CODE
LOWfastmcp_tasks/fastmcp_tasks/models.py20CODE
LOWfastmcp_tasks/fastmcp_tasks/input_store.py27CODE
LOWfastmcp_tasks/fastmcp_tasks/creation.py14CODE
LOWfastmcp_tasks/fastmcp_tasks/client.py24CODE
LOWfastmcp_tasks/fastmcp_tasks/handlers.py21CODE
LOWfastmcp_tasks/fastmcp_tasks/__init__.py6CODE
LOWfastmcp_tasks/fastmcp_tasks/__init__.py6CODE
LOWfastmcp_tasks/fastmcp_tasks/__init__.py7CODE
LOWfastmcp_tasks/fastmcp_tasks/wire_production.py34CODE
LOWfastmcp_tasks/fastmcp_tasks/client_models.py18CODE
LOWfastmcp_tasks/fastmcp_tasks/context.py9CODE
LOWfastmcp_tasks/fastmcp_tasks/input_loop.py26CODE
LOWfastmcp_tasks/fastmcp_tasks/extension.py26CODE
LOWfastmcp_tasks/fastmcp_tasks/settings.py9CODE
LOWfastmcp_tasks/fastmcp_tasks/dependencies.py14CODE
LOWfastmcp_tasks/fastmcp_tasks/worker_cli.py3CODE
LOWfastmcp_tasks/fastmcp_tasks/lifespan.py12CODE
LOWfastmcp_slim/fastmcp/types.py21CODE
LOWfastmcp_slim/fastmcp/settings.py1CODE
LOWfastmcp_slim/fastmcp/mcp_config.py25CODE
LOWfastmcp_slim/fastmcp/_compat.py30CODE
LOWfastmcp_slim/fastmcp/dependencies.py14CODE
LOWfastmcp_slim/fastmcp/dependencies.py14CODE
LOWfastmcp_slim/fastmcp/dependencies.py14CODE
LOWfastmcp_slim/fastmcp/dependencies.py14CODE
LOWfastmcp_slim/fastmcp/dependencies.py14CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/dependencies.py16CODE
LOWfastmcp_slim/fastmcp/decorators.py3CODE
LOW…mcp_slim/fastmcp/experimental/transforms/jev_search.py20CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py1CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py1CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py2CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py2CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py2CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py3CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py3CODE
LOWfastmcp_slim/fastmcp/tools/function_parsing.py3CODE
LOWfastmcp_slim/fastmcp/resources/security.py19CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py1CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py1CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py2CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py2CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py2CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py3CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py4CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py5CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py5CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py5CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py5CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py5CODE
LOWfastmcp_slim/fastmcp/resources/types.py3CODE
LOWfastmcp_slim/fastmcp/server/sessions.py36CODE
418 more matches not shown…
Cross-File Repetition80 hits · 400 pts
SeverityFileLineSnippetContext
HIGHfastmcp_slim/fastmcp/server/auth/auth.py0verify a bearer token and return access info if valid. this method implements the tokenverifier protocol by delegating tSTRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/in_memory.py0verify a bearer token and return access info if valid. this method implements the tokenverifier protocol by delegating tSTRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/jwt.py0verify a bearer token and return access info if valid. this method implements the tokenverifier protocol by delegating tSTRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/supabase.py0get oauth routes including authkit authorization server metadata forwarding. this returns the standard protected resourcSTRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/scalekit.py0get oauth routes including authkit authorization server metadata forwarding. this returns the standard protected resourcSTRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/workos.py0get oauth routes including authkit authorization server metadata forwarding. this returns the standard protected resourcSTRING
HIGHfastmcp_slim/fastmcp/cli/install/claude_desktop.py0install fastmcp server in cursor. args: file: path to the server file server_object: optional server object name (for :oSTRING
HIGHfastmcp_slim/fastmcp/cli/install/gemini_cli.py0install fastmcp server in cursor. args: file: path to the server file server_object: optional server object name (for :oSTRING
HIGHfastmcp_slim/fastmcp/cli/install/claude_code.py0install fastmcp server in cursor. args: file: path to the server file server_object: optional server object name (for :oSTRING
HIGHfastmcp_slim/fastmcp/cli/install/cursor.py0install fastmcp server in cursor. args: file: path to the server file server_object: optional server object name (for :oSTRING
HIGHtests/tasks/server/test_task_config.py0run a `tools/call` with the tasks opt-in bound (used to prove sync paths).STRING
HIGHtests/tasks/server/test_server_tasks_parameter.py0run a `tools/call` with the tasks opt-in bound (used to prove sync paths).STRING
HIGHtests/tasks/server/test_task_tools.py0run a `tools/call` with the tasks opt-in bound (used to prove sync paths).STRING
HIGHtests/tools/test_standalone_decorator.py0decorated function should still be directly callable.STRING
HIGHtests/resources/test_standalone_decorator.py0decorated function should still be directly callable.STRING
HIGHtests/prompts/test_standalone_decorator.py0decorated function should still be directly callable.STRING
HIGHtests/tools/tool/test_callable.py0test that callable objects with sync __call__ work.STRING
HIGHtests/resources/test_function_resources.py0test that callable objects with sync __call__ work.STRING
HIGHtests/prompts/test_prompt.py0test that callable objects with sync __call__ work.STRING
HIGHtests/tools/tool/test_callable.py0test that callable objects with async __call__ work.STRING
HIGHtests/resources/test_function_resources.py0test that callable objects with async __call__ work.STRING
HIGHtests/prompts/test_prompt.py0test that callable objects with async __call__ work.STRING
HIGHtests/server/auth/test_oidc_proxy.py0create a valid oci oidc configuration dict for testing.STRING
HIGHtests/server/auth/test_oidc_proxy_token.py0create a valid oci oidc configuration dict for testing.STRING
HIGHtests/server/auth/providers/test_auth0.py0create a valid oci oidc configuration dict for testing.STRING
HIGHtests/server/auth/providers/test_oci.py0create a valid oci oidc configuration dict for testing.STRING
HIGHtests/server/auth/providers/test_github.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_workos.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_discord.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_clerk.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_azure_scopes.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_azure.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_google.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_huggingface.py0provide a memorystore for tests to avoid sqlite initialization on windows.STRING
HIGHtests/server/auth/providers/test_workos.py0test that oauth endpoints are configured correctly.STRING
HIGHtests/server/auth/providers/test_discord.py0test that oauth endpoints are configured correctly.STRING
HIGHtests/server/auth/providers/test_azure.py0test that oauth endpoints are configured correctly.STRING
HIGHtests/server/auth/providers/test_google.py0test that oauth endpoints are configured correctly.STRING
HIGHtests/server/auth/providers/test_workos.py0client with headless oauth that bypasses browser interaction.STRING
HIGHtests/server/auth/providers/test_supabase.py0client with headless oauth that bypasses browser interaction.STRING
HIGHtests/server/auth/providers/test_descope.py0client with headless oauth that bypasses browser interaction.STRING
HIGHtests/server/auth/providers/test_scalekit.py0client with headless oauth that bypasses browser interaction.STRING
HIGHtests/client/auth/test_oauth_client.py0client with headless oauth that bypasses browser interaction.STRING
HIGHtests/server/auth/providers/test_supabase.py0test that environment variables are loaded correctly.STRING
HIGHtests/server/auth/providers/test_descope.py0test that environment variables are loaded correctly.STRING
HIGHtests/server/auth/providers/test_scalekit.py0test that environment variables are loaded correctly.STRING
HIGH…/server/providers/local_provider_tools/test_enabled.py0normalize the order of items in anyof arrays for consistent comparison.STRING
HIGH…r/providers/local_provider_tools/test_output_schema.py0normalize the order of items in anyof arrays for consistent comparison.STRING
HIGH…ders/local_provider_tools/test_local_provider_tools.py0normalize the order of items in anyof arrays for consistent comparison.STRING
HIGH…sts/server/providers/local_provider_tools/test_tags.py0normalize the order of items in anyof arrays for consistent comparison.STRING
HIGH…rver/providers/local_provider_tools/test_parameters.py0normalize the order of items in anyof arrays for consistent comparison.STRING
HIGH…/server/providers/local_provider_tools/test_context.py0normalize the order of items in anyof arrays for consistent comparison.STRING
HIGH…erver/providers/local_provider_tools/test_decorator.py0normalize the order of items in anyof arrays for consistent comparison.STRING
HIGH…erver/providers/openapi/test_performance_comparison.py0helper to create a fastmcp server with openapiprovider.STRING
HIGHtests/server/providers/openapi/test_deepobject_style.py0helper to create a fastmcp server with openapiprovider.STRING
HIGHtests/server/providers/openapi/test_openapi_features.py0helper to create a fastmcp server with openapiprovider.STRING
HIGH…server/providers/openapi/test_openapi_discriminator.py0helper to create a fastmcp server with openapiprovider.STRING
HIGH…ver/providers/openapi/test_end_to_end_compatibility.py0helper to create a fastmcp server with openapiprovider.STRING
HIGH…/server/providers/openapi/test_parameter_collisions.py0helper to create a fastmcp server with openapiprovider.STRING
HIGHtests/server/providers/openapi/test_comprehensive.py0helper to create a fastmcp server with openapiprovider.STRING
20 more matches not shown…
Self-Referential Comments119 hits · 356 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_slim/fastmcp/server/server.py2527 # Create a proxy to a remote serverSTRING
MEDIUMfastmcp_slim/fastmcp/server/server.py2530 # Create a proxy to another FastMCP serverSTRING
MEDIUMfastmcp_slim/fastmcp/server/http.py675 # Create the ASGI app wrapper (session manager is set each lifespan cycle)COMMENT
MEDIUMfastmcp_slim/fastmcp/server/http.py739 # Create a lifespan manager to start and stop the session managerCOMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py993 # Create a ProxyDCRClient with configured redirect URI validationCOMMENT
MEDIUMfastmcp_slim/fastmcp/server/providers/proxy.py876 # Create a proxy provider for a remote serverSTRING
MEDIUMfastmcp_slim/fastmcp/server/providers/proxy.py1449 # Create a proxy server using create_proxy (recommended)STRING
MEDIUMfastmcp_slim/fastmcp/server/providers/filesystem.py193 # Create the lock lazily in the active async backend.COMMENT
MEDIUM…tmcp/server/providers/local_provider/local_provider.py11# Create a reusable provider with toolsSTRING
MEDIUM…slim/fastmcp/server/providers/skills/skill_provider.py128 # Create a SkillFileResource that can read the fileCOMMENT
MEDIUMfastmcp_slim/fastmcp/cli/install/__init__.py13# Create a cyclopts app for install subcommandsCOMMENT
MEDIUMfastmcp_slim/fastmcp/cli/install/cursor.py35 # Create the configuration structure expected by CursorCOMMENT
MEDIUMfastmcp_slim/fastmcp/cli/install/cursor.py128 # Create the config file if it doesn't existCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/logging.py79 # Create a standard StreamHandler for stderrCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/json_schema_type.py819 # Create a copy of the schema for each type, but keep all constraintsCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/types.py236 # Create a copy of annotations without the excluded parametersCOMMENT
MEDIUM⚡fastmcp_slim/fastmcp/utilities/cli.py207 # Create the logo textCOMMENT
MEDIUM⚡fastmcp_slim/fastmcp/utilities/cli.py211 # Create the main titleCOMMENT
MEDIUM⚡fastmcp_slim/fastmcp/utilities/cli.py214 # Create the information tableCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/openapi/schemas.py167 # Create a new schema that allows null in addition to the original typeCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/openapi/schemas.py890 # Create a wrapped schema that contains the original schema under a "result" keyCOMMENT
MEDIUMfastmcp_slim/fastmcp/client/client.py783 # Create a fresh session kwargs dict so the clone doesn't shareCOMMENT
MEDIUMfastmcp_slim/fastmcp/client/client.py765 # Create a fresh client for each concurrent operationSTRING
MEDIUMfastmcp_slim/fastmcp/client/auth/oauth.py315 # Create the full static client info directly which will avoid DCR.COMMENT
MEDIUMfastmcp_slim/fastmcp/client/transports/config.py55 # Create a config with multiple serversSTRING
MEDIUMfastmcp_slim/fastmcp/client/transports/config.py69 # Create a client with the configSTRING
MEDIUMtests/test_mcp_config.py1222 # Create a config with multiple serversCOMMENT
MEDIUMtests/tools/test_tool_future_annotations.py47 # Create a simple 1x1 white pixel PNGCOMMENT
MEDIUM⚡tests/tools/test_tool_future_annotations.py141 # Define a tool with modern union syntaxCOMMENT
MEDIUMtests/server/test_auth_integration.py116 # Create a RefreshToken object that matches what is expected in later codeCOMMENT
MEDIUMtests/server/test_auth_integration.py830 # Create a test client with the tokenCOMMENT
MEDIUMtests/server/test_auth_integration_errors.py115 # Create a RefreshToken object that matches what is expected in later codeCOMMENT
MEDIUMtests/server/test_server.py168 # Create a server with resourcesCOMMENT
MEDIUMtests/server/test_server.py183 # Create a main server and mount the resource serverCOMMENT
MEDIUMtests/server/test_event_store.py353 # Create a realistic JSON-RPC request wrapped in JSONRPCMessageCOMMENT
MEDIUMtests/server/middleware/test_timing.py287 # Create a custom logger that writes to a string bufferCOMMENT
MEDIUMtests/server/auth/test_oauth_consent_page.py146 # Create a transaction manuallyCOMMENT
MEDIUMtests/server/auth/test_oauth_consent_page.py208 # Create a transactionCOMMENT
MEDIUMtests/server/auth/test_oauth_consent_page.py274 # Create a transactionCOMMENT
MEDIUMtests/server/auth/test_auth_provider.py253 # Create a static token verifier with a test tokenCOMMENT
MEDIUMtests/server/auth/test_oauth_consent_flow.py282 # Create a test app with OAuth routesCOMMENT
MEDIUMtests/server/auth/test_oauth_consent_flow.py1153 # Create a tampered cookie (invalid signature)COMMENT
MEDIUMtests/server/auth/test_jwt_provider.py500 # Create a token with a different secretCOMMENT
MEDIUMtests/server/auth/test_jwt_provider_bearer.py398 # Create a token with a different key pairCOMMENT
MEDIUMtests/server/auth/test_ssrf_protection.py393 # Create a dummy token to trigger JWKS fetchCOMMENT
MEDIUMtests/server/auth/test_enhanced_error_responses.py895 # Create a valid token with wrong scopesCOMMENT
MEDIUMtests/server/auth/oauth_proxy/test_ui.py67 # Create a minimal OAuth proxyCOMMENT
MEDIUMtests/server/auth/oauth_proxy/test_tokens.py482 # Create a mock 401 response like the SDK returns for auth failuresCOMMENT
MEDIUMtests/server/auth/oauth_proxy/test_tokens.py527 # Create a mock 400 response like the SDK returns for invalid_grantCOMMENT
MEDIUM⚡tests/server/providers/test_skills_provider.py913 # Create a file outside the skill directoryCOMMENT
MEDIUMtests/server/providers/test_skills_provider.py529 # Create a simple skillCOMMENT
MEDIUMtests/server/providers/test_skills_provider.py544 # Create a skill with supporting filesCOMMENT
MEDIUMtests/server/providers/proxy/test_proxy_client.py530 # Create a disconnected client (should use fresh sessions per request)COMMENT
MEDIUM…s/server/providers/openapi/test_openapi_performance.py75 # Create a medium-sized synthetic schemaCOMMENT
MEDIUMtests/server/providers/openapi/test_comprehensive.py480 # Create a mock client that tracks requestsCOMMENT
MEDIUMtests/server/http/test_custom_routes.py40 # Create the app by calling the constructor function directlyCOMMENT
MEDIUMtests/server/http/test_custom_routes.py56 # Create the app by calling the constructor function directlyCOMMENT
MEDIUMtests/server/http/test_stale_access_token.py74 # Create a mock request with fresh token in scopeCOMMENT
MEDIUMtests/server/http/test_http_middleware.py70 # Create the app with custom middlewareCOMMENT
MEDIUMtests/server/http/test_http_middleware.py73 # Create a test clientCOMMENT
59 more matches not shown…
Docstring Block Structure53 hits · 265 pts
SeverityFileLineSnippetContext
HIGHfastmcp_tasks/fastmcp_tasks/keys.py85Build Docket task key with embedded metadata. When ``task_scope`` is ``None`` the task is anonymous and lives in thSTRING
HIGHfastmcp_tasks/fastmcp_tasks/keys.py119Parse Docket task key to extract metadata. Args: task_key: Encoded task key from Docket Returns: STRING
HIGHfastmcp_tasks/fastmcp_tasks/keys.py179Extract just the client task ID from a task key. Args: task_key: Full encoded task key Returns: STRING
HIGHfastmcp_slim/fastmcp/tools/tool_transform.py48Forward to parent tool with argument transformation applied. This function can only be called from within a transfoSTRING
HIGHfastmcp_slim/fastmcp/tools/tool_transform.py78Forward directly to parent tool without transformation. This function bypasses all argument transformation and valiSTRING
HIGHfastmcp_slim/fastmcp/tools/tool_transform.py418Create a transformed tool from a parent tool. Args: tool: The parent tool to transform. STRING
HIGHfastmcp_slim/fastmcp/server/server.py1365Call a tool by name. This is the public API for executing tools. By default, middleware is applied. ArSTRING
HIGHfastmcp_slim/fastmcp/server/server.py1541Read a resource by URI. This is the public API for reading resources. By default, middleware is applied. STRING
HIGHfastmcp_slim/fastmcp/server/server.py1700Render a prompt by name. This is the public API for rendering prompts. By default, middleware is applied. STRING
HIGHfastmcp_slim/fastmcp/server/dependencies.py1426Get a specific claim from the access token. This dependency extracts a single claim value from the current access tSTRING
HIGHfastmcp_slim/fastmcp/server/lifespan.py95Compose with another lifespan using the | operator. Args: other: Another Lifespan instance. STRING
HIGHfastmcp_slim/fastmcp/server/auth/identity_assertion.py330Validate an ID-JAG and return its claims. Args: assertion: The compact-serialized ID-JAG JWT. STRING
HIGHfastmcp_slim/fastmcp/server/auth/ssrf.py180Resolve hostname to IP addresses using DNS. Args: hostname: Hostname to resolve port: Port number (STRING
HIGHfastmcp_slim/fastmcp/server/auth/ssrf.py279Validate URL for SSRF and resolve to IPs. Args: url: URL to validate require_path: If True, requireSTRING
HIGHfastmcp_slim/fastmcp/server/auth/ssrf.py382Fetch URL with comprehensive SSRF protection and DNS pinning. Security measures: 1. HTTPS only 2. DNS resolSTRING
HIGHfastmcp_slim/fastmcp/server/auth/cimd.py316Fetch and validate a CIMD document with SSRF protection. Uses ssrf_safe_fetch_response for the HTTP layer, whicSTRING
HIGHfastmcp_slim/fastmcp/server/auth/cimd.py534Validate JWT assertion from client. Args: assertion: The JWT assertion string client_idSTRING
HIGHfastmcp_slim/fastmcp/server/auth/cimd.py654Extract public key from inline JWKS. Args: token: JWT token to extract kid from jwks: JSTRING
HIGHfastmcp_slim/fastmcp/server/auth/cimd.py803Validate JWT assertion for private_key_jwt auth. Args: assertion: JWT assertion string from client STRING
HIGHfastmcp_slim/fastmcp/server/auth/jwt_issuer.py237Verify and decode a FastMCP token. Validates JWT signature, expiration, issuer, audience, and token type. STRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/azure.py652Get a cached or new OnBehalfOfCredential for OBO token exchange. Credentials are cached by user assertion so thSTRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/azure.py894Exchange the user's Entra token for a downstream API token via OBO. This dependency performs a Microsoft Entra On-BSTRING
HIGH…_slim/fastmcp/server/providers/filesystem_discovery.py145Import a Python file as a module. If the file is part of a package (directory has __init__.py), imports it as aSTRING
HIGHfastmcp_slim/fastmcp/utilities/auth.py15Decode a JWT part (header or payload) without signature verification. Args: token: JWT token string (headerSTRING
HIGHfastmcp_slim/fastmcp/utilities/auth.py37Decode JWT header without signature verification. Useful for extracting the key ID (kid) for JWKS lookup. ArgsSTRING
HIGHfastmcp_slim/fastmcp/utilities/auth.py54Decode JWT payload without signature verification. Use only for tokens received directly from trusted sources (e.g.STRING
HIGHfastmcp_slim/fastmcp/utilities/skills.py88Get the manifest for a specific skill. Args: client: Connected FastMCP client skill_name: Name of tSTRING
HIGHfastmcp_slim/fastmcp/utilities/skills.py134Download a skill and all its files to a local directory. Creates a subdirectory named after the skill containing alSTRING
HIGHfastmcp_slim/fastmcp/utilities/json_schema_type.py283Convert JSON schema to appropriate Python type with validation. Args: schema: A JSON Schema dictionary defiSTRING
HIGHfastmcp_slim/fastmcp/utilities/pagination.py65Paginate a sequence of items. Args: items: The full sequence to paginate. cursor: Optional cursor fSTRING
HIGHfastmcp_slim/fastmcp/utilities/openapi/parser.py626 Extract only the schema definitions needed for input (parameters and request body). Args: STRING
HIGHfastmcp_slim/fastmcp/utilities/openapi/schemas.py80 Replace openapi $ref with jsonschema $defs recursively. Examples: - {"type": "object", "properties": {"$reSTRING
HIGHfastmcp_slim/fastmcp/utilities/openapi/director.py401 Build URL by substituting path parameters in the template. Args: path_template: OpenAPI paSTRING
HIGH…cp/utilities/mcp_server_config/v1/mcp_server_config.py224Load configuration from a JSON file. Args: file_path: Path to the configuration file ReturSTRING
HIGHfastmcp_slim/fastmcp/apps/file_upload.py297Read a file's contents by name. Args: name: The filename to read. ctx: The current requSTRING
HIGHfastmcp_slim/fastmcp/client/client.py897Send an initialize request to the server. This method performs the MCP initialization handshake with the serverSTRING
HIGHfastmcp_slim/fastmcp/client/client.py1166Await a coroutine while monitoring the session task for errors. When using HTTP transports, server errors (4xx/STRING
HIGHfastmcp_slim/fastmcp/client/client.py1470Send a completion request and return the complete MCP protocol result. Args: ref (mcp_types.ResourcSTRING
HIGHfastmcp_slim/fastmcp/client/client.py1501Send a completion request to the server. Args: ref (mcp_types.ResourceTemplateReference | mcp_typesSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py39Send a tools/list request and return the complete MCP protocol result. Args: cursor: Optional paginSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py95Retrieve all tools available on the server. This method automatically fetches all pages if the server paginatesSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py153Send a tools/call request and return the complete MCP protocol result. This method returns the raw CallToolResuSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py293Call a tool on the server. Unlike call_tool_mcp, this method raises a ToolError if the tool call results in an STRING
HIGHfastmcp_slim/fastmcp/client/mixins/prompts.py34Send a prompts/list request and return the complete MCP protocol result. Args: cursor: Optional pagSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/prompts.py76Retrieve all prompts available on the server. This method automatically fetches all pages if the server paginatSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/prompts.py126Send a prompts/get request and return the complete MCP protocol result. Args: name (str): The name STRING
HIGHfastmcp_slim/fastmcp/client/mixins/prompts.py194Retrieve a rendered prompt message list from the server. Args: name (str): The name of the prompt tSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/resources.py34Send a resources/list request and return the complete MCP protocol result. Args: cursor: Optional pSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/resources.py76Retrieve all resources available on the server. This method automatically fetches all pages if the server paginSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/resources.py125Send a resources/listResourceTemplates request and return the complete MCP protocol result. Args: cSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/resources.py170Retrieve all resource templates available on the server. This method automatically fetches all pages if the serSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/resources.py218Send a resources/read request and return the complete MCP protocol result. Args: uri (AnyUrl | str)STRING
HIGHfastmcp_slim/fastmcp/client/mixins/resources.py274Read the contents of a resource or resolved template. Args: uri (AnyUrl | str): The URI of the resoSTRING
Cross-Language Confusion43 hits · 259 pts
SeverityFileLineSnippetContext
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py767 if (d && typeof d === "object") return d.msg || d.message || JSON.stringify(d);CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py767 if (d && typeof d === "object") return d.msg || d.message || JSON.stringify(d);CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py768 return d || b.params.level || "";CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py772 if (b.error) return "error: " + (b.error.message || JSON.stringify(b.error));CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py773 if (b.result && typeof b.result === "object") {CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py779 if (first && first.text) {CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py889 var atBottom = !panelVisible || entries.scrollHeight - entries.scrollTop - entries.clientHeight < 40;CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py896 if (atBottom || (firstPoll && panelVisible)) entries.scrollTop = entries.scrollHeight;CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py905 if (!frame || event.source !== frame.contentWindow) return;CODE
HIGH⚡fastmcp_slim/fastmcp/cli/apps_dev.py910 if (!data || typeof data !== "object") return;CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py626 if (activeFilters[allFilterKeys[i]]) on.push(allFilterKeys[i]);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py638 var qs = params.toString();CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py640 history.replaceState(null, "", url);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py709 if (fp !== null) {CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py748 if (lv && levelOrder.indexOf(lv) < minLevel) return false;CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py798 && (entry.body.error || (entry.body.result && entry.body.result.isError));CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py827 if (entry.direction === "notification" && entry.body && entry.body.params) {CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py849 navigator.clipboard.writeText(JSON.stringify(entry.body, null, 2));CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py869 detail.textContent = JSON.stringify(entry.body, null, 2);CODE
HIGHfastmcp_slim/fastmcp/utilities/json_schema_type.py797 # Check if one of the types is None (null)COMMENT
HIGHfastmcp_slim/fastmcp/utilities/json_schema_type.py6- Basic types (string, number, integer, boolean, null)STRING
HIGHfastmcp_slim/fastmcp/utilities/openapi/schemas.py163 # If it's already nullable (type includes null), don't modifyCOMMENT
HIGHfastmcp_slim/fastmcp/apps/file_upload.py379 with If(STATE.stored.length()):CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py381 STATE.stored.length(),CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py400 with If(STATE.pending.length()), Column(gap=2):CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py431 with If(STATE.stored.length()):CODE
HIGH⚡fastmcp_slim/fastmcp/apps/file_upload.py456 with If(STATE.stored.length()):CODE
HIGH⚡fastmcp_slim/fastmcp/apps/file_upload.py458 f"{STATE.stored.length()}"CODE
HIGH⚡fastmcp_slim/fastmcp/apps/file_upload.py459 f" {STATE.stored.length().pluralize('file')}"CODE
HIGH⚡tests/tasks/server/test_wire_models.py168 # Drop the other None optionals the runner would also drop, keeping ttlMs=null,COMMENT
HIGH⚡tests/tasks/server/test_snapshot_encryption.py106 EncryptedCodec(KEY).decode('{"access_token_json": null}')CODE
HIGHtests/tools/tool/test_content.py58 ([None], "[null]"),CODE
HIGHtests/tools/tool/test_content.py59 ([None, None], "[null,null]"),CODE
HIGHtests/tools/tool/test_content.py78 ([1, "two", None, {"c": 3}, False], '[1,"two",null,{"c":3},false]'),CODE
HIGHtests/server/middleware/test_logging.py144 "payload": '{"method":"tools/call","params":{"_meta":null,"inputResponses":null,"requestState":null,CODE
HIGHtests/server/middleware/test_logging.py299 '{"event": "request_start", "method": "test_method", "source": "client", "payload": "{\\"method\\":\\"reCODE
HIGHtests/server/middleware/test_logging.py327 '{"event": "request_start", "method": "test_method", "source": "client", "payload": "{\\"name\\":\\"tmplCODE
HIGHtests/server/middleware/test_logging.py359 '{"event": "request_start", "method": "test_method", "source": "client", "payload": "{\\"method\\":\\"toCODE
HIGHtests/server/middleware/test_logging.py534 'event=request_start method=tools/call source=client payload={"_meta":null,"inputResponses":null,"requesCODE
HIGHtests/server/middleware/test_logging.py557 '{"event": "request_start", "method": "tools/call", "source": "client", "payload": "{\\"_meta\\":null,\\CODE
HIGHtests/server/middleware/test_logging.py650event=request_start method=tools/call source=client payload={"_meta":null,"inputResponses":null,"requestState":null,"namCODE
HIGH⚡tests/cli/test_apps_dev_server.py541 assert "new PostMessageTransport(iframe.contentWindow, null)" not in pageCODE
HIGHtests/utilities/openapi/test_nullable_fields.py440 """Test that nullable enum validates null, enum values, and rejects invalid values."""STRING
Excessive Try-Catch Wrapping189 hits · 201 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/handlers.py323 except Exception as unexpected:CODE
LOWfastmcp_tasks/fastmcp_tasks/context.py383 except Exception:CODE
LOWfastmcp_tasks/fastmcp_tasks/input_loop.py155 except Exception as exc:CODE
LOWfastmcp_tasks/fastmcp_tasks/lifespan.py56 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/tools/function_parsing.py426 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py111 except Exception:CODE
LOWfastmcp_slim/fastmcp/resources/types.py114 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/resources/types.py177 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/resources/types.py192 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1494 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1617 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1676 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1766 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py216 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py279 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py299 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py333 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/context.py1148 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/http.py777 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py372 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py713 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py802 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py875 except Exception as error:CODE
LOWfastmcp_slim/fastmcp/server/middleware/logging.py41 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/middleware/logging.py141 except Exception as e:CODE
LOW…stmcp_slim/fastmcp/server/middleware/error_handling.py77 except Exception as callback_error:CODE
LOW…stmcp_slim/fastmcp/server/middleware/error_handling.py113 except Exception as error:CODE
LOW…stmcp_slim/fastmcp/server/middleware/error_handling.py201 except Exception as error:CODE
LOWfastmcp_slim/fastmcp/server/middleware/timing.py51 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/middleware/timing.py103 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/auth.py879 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/cimd.py414 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oidc_proxy.py157 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oidc_proxy.py222 except Exception:CODE
LOW⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2352 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1801 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2291 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2308 except Exception as reload_error:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2450 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2839 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2890 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py157 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py185 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py237 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py346 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/supabase.py163 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py203 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py236 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/azure.py647 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/azure.py715 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/discord.py161 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py212 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py242 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py71 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py356 except Exception as metadata_error:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py365 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/scalekit.py200 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/debug.py112 except Exception as e:CODE
LOW…cp_slim/fastmcp/server/auth/providers/introspection.py338 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/github.py183 except Exception as e:CODE
129 more matches not shown…
Empty Error Handlers42 hits · 200 pts
SeverityFileLineSnippetContext
HIGHfastmcp_tasks/fastmcp_tasks/handlers.py99except (ValueError, AttributeError):CODE
HIGHfastmcp_slim/fastmcp/decorators.py39except ValueError:CODE
HIGHfastmcp_slim/fastmcp/server/telemetry.py55except RuntimeError:CODE
HIGHfastmcp_slim/fastmcp/server/telemetry.py69except RuntimeError:CODE
HIGHfastmcp_slim/fastmcp/server/context.py512except LookupError:CODE
HIGHfastmcp_slim/fastmcp/server/dependencies.py686except RuntimeError:CODE
HIGHfastmcp_slim/fastmcp/server/dependencies.py1295except LookupError:CODE
HIGHfastmcp_slim/fastmcp/server/auth/auth.py120except (json.JSONDecodeError, AttributeError):CODE
HIGHfastmcp_slim/fastmcp/server/auth/auth.py140except (json.JSONDecodeError, AttributeError):CODE
HIGHfastmcp_slim/fastmcp/server/auth/ssrf.py510except ValueError:CODE
HIGHfastmcp_slim/fastmcp/cli/run.py372except asyncio.TimeoutError:CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py187except (json.JSONDecodeError, TypeError):CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py1916except asyncio.CancelledError:CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py1570except (json.JSONDecodeError, TypeError):CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py1613except (CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py1519except (json.JSONDecodeError, TypeError):CODE
HIGHfastmcp_slim/fastmcp/cli/cli.py893except (json.JSONDecodeError, FileNotFoundError):CODE
HIGHfastmcp_slim/fastmcp/cli/install/gemini_cli.py33except (subprocess.CalledProcessError, FileNotFoundError):CODE
HIGHfastmcp_slim/fastmcp/cli/install/claude_code.py38except (subprocess.CalledProcessError, FileNotFoundError):CODE
HIGHfastmcp_slim/fastmcp/utilities/cli.py96except (json.JSONDecodeError, FileNotFoundError):CODE
HIGHfastmcp_slim/fastmcp/utilities/cli.py93except ValidationError:CODE
HIGHfastmcp_slim/fastmcp/utilities/version_check.py62except OSError:CODE
HIGHfastmcp_slim/fastmcp/client/client.py1008except asyncio.CancelledError:CODE
HIGHfastmcp_slim/fastmcp/client/transports/stdio.py183except asyncio.CancelledError:CODE
HIGHtests/integration_tests/conftest.py29except Exception:CODE
HIGHtests/resources/test_file_resources.py26except FileNotFoundError:CODE
HIGHtests/server/test_logging.py58except (asyncio.CancelledError, asyncio.TimeoutError):CODE
HIGHtests/server/test_logging.py123except (asyncio.CancelledError, asyncio.TimeoutError):CODE
HIGHtests/server/test_logging.py191except (asyncio.CancelledError, asyncio.TimeoutError):CODE
HIGHtests/server/test_log_level.py32except asyncio.TimeoutError:CODE
HIGHtests/server/middleware/test_error_handling.py521except Exception:CODE
HIGHtests/server/middleware/test_error_handling.py710except Exception:CODE
HIGH…s/server/providers/proxy/test_stateful_proxy_client.py88except asyncio.CancelledError:CODE
HIGHtests/docs/test_upgrade_guide_api_claims.py205except TypeError:CODE
HIGHtests/cli/test_install.py37except SystemExit:CODE
HIGHtests/downstream/smoke_langchain_mcp.py203except TimeoutError:CODE
HIGHtests/downstream/smoke_pydantic_ai.py192except TimeoutError:CODE
HIGHtests/client/test_sse.py137except asyncio.CancelledError:CODE
HIGHtests/client/test_stdio.py567except CRASH_RECOVERY_EXCEPTIONS:CODE
HIGHtests/client/auth/test_oauth_client.py428except StopAsyncIteration:CODE
HIGHtests/client/auth/test_oauth_client.py426except StopAsyncIteration:CODE
HIGHtests/client/client/test_session.py84except ValueError:CODE
Deep Nesting195 hits · 177 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/input_store.py532CODE
LOWfastmcp_tasks/fastmcp_tasks/components.py54CODE
LOWfastmcp_tasks/fastmcp_tasks/components.py98CODE
LOWfastmcp_tasks/fastmcp_tasks/lifespan.py29CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py315CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py404CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py632CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py849CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py734CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py450CODE
LOWfastmcp_slim/fastmcp/resources/template.py197CODE
LOWfastmcp_slim/fastmcp/resources/template.py272CODE
LOWfastmcp_slim/fastmcp/resources/template.py307CODE
LOWfastmcp_slim/fastmcp/resources/template.py604CODE
LOWfastmcp_slim/fastmcp/server/server.py964CODE
LOWfastmcp_slim/fastmcp/server/server.py1049CODE
LOWfastmcp_slim/fastmcp/server/server.py1099CODE
LOWfastmcp_slim/fastmcp/server/server.py1181CODE
LOWfastmcp_slim/fastmcp/server/server.py1235CODE
LOWfastmcp_slim/fastmcp/server/server.py1307CODE
LOWfastmcp_slim/fastmcp/server/server.py1534CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py168CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py426CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py340CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py821CODE
LOWfastmcp_slim/fastmcp/server/middleware/dereference.py67CODE
LOW…stmcp_slim/fastmcp/server/middleware/error_handling.py80CODE
LOWfastmcp_slim/fastmcp/server/auth/auth.py775CODE
LOWfastmcp_slim/fastmcp/server/auth/auth.py845CODE
LOWfastmcp_slim/fastmcp/server/auth/ssrf.py417CODE
LOWfastmcp_slim/fastmcp/server/auth/cimd.py240CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/models.py256CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2168CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2360CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2457CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2650CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py430CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py595CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py94CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/jwt.py394CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/jwt.py517CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/jwt.py534CODE
LOWfastmcp_slim/fastmcp/server/auth/handlers/authorize.py207CODE
LOWfastmcp_slim/fastmcp/server/providers/aggregate.py184CODE
LOWfastmcp_slim/fastmcp/server/providers/aggregate.py222CODE
LOWfastmcp_slim/fastmcp/server/providers/proxy.py530CODE
LOWfastmcp_slim/fastmcp/server/providers/filesystem.py155CODE
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py142CODE
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py290CODE
LOW…tmcp/server/providers/local_provider/local_provider.py113CODE
LOW…tmcp/server/providers/local_provider/local_provider.py178CODE
LOW…cp/server/providers/local_provider/decorators/tools.py112CODE
LOW…tmcp_slim/fastmcp/server/providers/openapi/provider.py81CODE
LOW…stmcp_slim/fastmcp/server/providers/openapi/routing.py86CODE
LOW…cp_slim/fastmcp/server/providers/openapi/components.py204CODE
LOW…cp_slim/fastmcp/server/providers/openapi/components.py309CODE
LOW…slim/fastmcp/server/providers/skills/skill_provider.py226CODE
LOW…slim/fastmcp/server/providers/skills/skill_provider.py333CODE
LOWfastmcp_slim/fastmcp/server/transforms/search/base.py43CODE
LOWfastmcp_slim/fastmcp/cli/run.py141CODE
135 more matches not shown…
Redundant / Tautological Comments70 hits · 107 pts
SeverityFileLineSnippetContext
LOWfastmcp_slim/fastmcp/mcp_config.py322 # Check if any values look like server configsCOMMENT
LOWfastmcp_slim/fastmcp/tools/tool_transform.py336 # Check if this parameter has a default_factory from transform_argsCOMMENT
LOWfastmcp_slim/fastmcp/tools/tool_transform.py517 # Check if function returns ToolResult (or subclass) - if so, don't fall back to parent.COMMENT
LOWfastmcp_slim/fastmcp/tools/tool_transform.py548 # Check if function is missing any parameters required after transformationCOMMENT
LOWfastmcp_slim/fastmcp/tools/tool_transform.py665 # Check if parameter is in transform_argsCOMMENT
LOWfastmcp_slim/fastmcp/tools/function_parsing.py523 # Check if schema is an object type, resolving $ref referencesCOMMENT
LOWfastmcp_slim/fastmcp/resources/template.py789 # Check if required parameters are a subset of the path parametersCOMMENT
LOWfastmcp_slim/fastmcp/resources/template.py795 # Check if all URI parameters are valid function parameters (skip if **kwargs present)COMMENT
LOWfastmcp_slim/fastmcp/server/elicitation.py85 # Check if items are enum/LiteralCOMMENT
LOWfastmcp_slim/fastmcp/server/elicitation.py97 # Check if items are Literal (which Pydantic represents differently)COMMENT
LOWfastmcp_slim/fastmcp/server/elicitation.py542 # Check if it's a primitive typeCOMMENT
LOW…cp_slim/fastmcp/server/middleware/response_limiting.py143 # Check if we should limit this toolCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/redirect_validation.py456 # Check if URI matches any allowed patternCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/cimd.py625 # Check if JTI was already used (and hasn't expired from cache)COMMENT
LOWfastmcp_slim/fastmcp/server/auth/middleware.py79 # Check if Bearer credentials are present. This mirrors the SDK'sCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1265 # Check if code expiredCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/discord.py99 # Check if token is expired (Discord returns ISO timestamp)COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/oci.py53 # Check if the signer exists for the token ID in memory cacheSTRING
LOW…cp_slim/fastmcp/server/auth/providers/introspection.py257 # Check if token is active (required field per RFC 7662)COMMENT
LOWfastmcp_slim/fastmcp/server/auth/handlers/authorize.py248 # Check if this is a client not found errorSTRING
LOW⚡fastmcp_slim/fastmcp/server/auth/handlers/authorize.py265 # Check if response body contains "not found" errorSTRING
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py169 # Check if this file is part of a packageCOMMENT
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py329 # Check if this object is a component typeCOMMENT
LOW…slim/fastmcp/server/providers/skills/skill_provider.py372 # Check if it's a known supporting fileCOMMENT
LOW…stmcp_slim/fastmcp/server/transforms/tool_transform.py79 # Check if this name is a transformed nameCOMMENT
LOWfastmcp_slim/fastmcp/cli/run.py181 # Check if it's an MCPConfig first (has canonical mcpServers key)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py309 # Set marker to prevent infinite loops when subprocess calls FastMCPCOMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py606 # Check if we were spawned by uv (or user explicitly set --skip-env)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py711 # Check if we need to use uv run (but skip if we're already in uv or user said to skip)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py750 # Set marker to prevent infinite loops when subprocess calls FastMCP againCOMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py870 # Check if we were spawned by uv (or user explicitly set --skip-env)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py884 # Check if it's an MCPConfig (which inspect doesn't support)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py899 # Check if we need to use uv run (but skip if we're already in uv or user said to skip)COMMENT
LOWfastmcp_slim/fastmcp/cli/install/shared.py209 # Check if it's an MCPConfig (has mcpServers key)COMMENT
LOWfastmcp_slim/fastmcp/cli/install/gemini_cli.py97 # Check if Gemini CLI is availableCOMMENT
LOWfastmcp_slim/fastmcp/cli/install/claude_code.py101 # Check if Claude Code CLI is availableCOMMENT
LOWfastmcp_slim/fastmcp/utilities/logging.py56 # Check if logging is disabled in settingsCOMMENT
LOWfastmcp_slim/fastmcp/utilities/skills.py173 # Check if directory existsCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py797 # Check if one of the types is None (null)COMMENT
LOWfastmcp_slim/fastmcp/utilities/types.py97 # Check if this is Annotated[Type, "string"] and convert to Annotated[Type, Field(description="string")]COMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema.py404 # Check if original had a $refCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema.py849 # Check if any definition that references this one is itself usedCOMMENT
LOWfastmcp_slim/fastmcp/utilities/cli.py79 # Check if it's an MCPConfig first (has canonical mcpServers key)COMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py240 # Check if any schema in the map needs conversionCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py262 # Check if nested schema needs conversionCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py288 # Check if any list item needs conversionCOMMENT
LOW…tmcp/utilities/mcp_server_config/v1/environments/uv.py117 # Check if uv is availableCOMMENT
LOW…p/utilities/mcp_server_config/v1/sources/filesystem.py36 # Check if it's a Windows path (e.g., C:\...)COMMENT
LOW…p/utilities/mcp_server_config/v1/sources/filesystem.py48 # Check if path contains an object specificationCOMMENT
LOW…p/utilities/mcp_server_config/v1/sources/filesystem.py51 # Check if it's a Windows path (e.g., C:\...)COMMENT
LOW…p/utilities/mcp_server_config/v1/sources/filesystem.py185 # Check if it's a function or coroutine functionCOMMENT
LOWfastmcp_slim/fastmcp/client/transports/stdio.py160 # Check if connect task completed with an exception (early failure)COMMENT
LOWfastmcp_slim/fastmcp/client/transports/stdio.py455 # Check if we need any environment setupCOMMENT
LOW⚡…_slim/fastmcp/client/sampling/handlers/google_genai.py329 # Check if the response only contained thinkingCOMMENT
LOWtests/conftest.py72 # Check if the test is in the integration_tests folderCOMMENT
LOW⚡tests/server/test_auth_integration.py132 # Check if refresh token existsCOMMENT
LOW⚡tests/server/test_auth_integration.py137 # Check if the access token existsCOMMENT
LOW⚡tests/server/test_auth_integration.py140 # Check if the token was issued to this clientCOMMENT
LOWtests/server/test_auth_integration.py175 # Check if token is expiredCOMMENT
LOW⚡tests/server/test_auth_integration_errors.py131 # Check if refresh token existsCOMMENT
10 more matches not shown…
Modern Structural Boilerplate96 hits · 96 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/models.py30__all__ = [CODE
LOWfastmcp_tasks/fastmcp_tasks/input_store.py44logger = logging.getLogger(__name__)CODE
LOWfastmcp_tasks/fastmcp_tasks/__init__.py20__all__ = ["TasksExtension", "ToolTask", "call_tool_task", "__version__"]CODE
LOWfastmcp_tasks/fastmcp_tasks/client_models.py26__all__ = [CODE
LOWfastmcp_tasks/fastmcp_tasks/input_loop.py46logger = logging.getLogger(__name__)CODE
LOWfastmcp_tasks/fastmcp_tasks/dependencies.py33__all__ = [CODE
LOWfastmcp_slim/fastmcp/__init__.py98__all__ = [CODE
LOWfastmcp_slim/fastmcp/telemetry.py304__all__ = [CODE
LOWfastmcp_slim/fastmcp/types.py34__all__ = [CODE
LOWfastmcp_slim/fastmcp/settings.py59 def set_setting(self, attr: str, value: Any) -> None:CODE
LOWfastmcp_slim/fastmcp/dependencies.py27__all__ = [CODE
LOW…tmcp_slim/fastmcp/experimental/transforms/code_mode.py759__all__ = [CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py950def _set_visibility_metadata(tool: Tool, *, enabled: bool) -> None:CODE
LOWfastmcp_slim/fastmcp/tools/__init__.py5__all__ = [CODE
LOWfastmcp_slim/fastmcp/tools/base.py601__all__ = ["InputRequiredToolResult", "Tool", "ToolResult"]CODE
LOWfastmcp_slim/fastmcp/resources/security.py29__all__ = ["ResourceSecurity"]CODE
LOWfastmcp_slim/fastmcp/resources/__init__.py13__all__ = [CODE
LOWfastmcp_slim/fastmcp/resources/base.py464__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/__init__.py32__all__ = ["Context", "FastMCP", "create_proxy"]CODE
LOWfastmcp_slim/fastmcp/server/telemetry.py338__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/extensions.py54__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py21__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py152__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1200 async def set_total(self, total: int) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1208 async def set_message(self, message: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1249 async def set_total(self, total: int) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1264 async def set_message(self, message: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1327 async def set_total(self, total: int) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1337 async def set_message(self, message: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/middleware/__init__.py9__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/middleware/authorization.py52logger = logging.getLogger(__name__)CODE
LOWfastmcp_slim/fastmcp/server/middleware/middleware.py28__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/middleware/middleware.py34logger = logging.getLogger(__name__)CODE
LOW…cp_slim/fastmcp/server/middleware/response_limiting.py17__all__ = ["ResponseLimitingMiddleware"]CODE
LOW…cp_slim/fastmcp/server/middleware/response_limiting.py19logger = logging.getLogger(__name__)CODE
LOWfastmcp_slim/fastmcp/server/mixins/mcp_operations.py110 def _setup_handlers(self: FastMCP) -> None:CODE
LOWfastmcp_slim/fastmcp/server/mixins/__init__.py7__all__ = ["LifespanMixin", "MCPOperationsMixin", "TransportMixin"]CODE
LOWfastmcp_slim/fastmcp/server/auth/auth.py380 def set_mcp_path(self, mcp_path: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/auth/auth.py888 def set_mcp_path(self, mcp_path: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/auth/__init__.py64__all__ = [CODE
LOW⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py747 def update_default_scopes(self, scopes: list[str]) -> None:CODE
LOW⚡fastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py773 def set_mcp_path(self, mcp_path: str | None) -> None:CODE
LOW…stmcp_slim/fastmcp/server/auth/oauth_proxy/__init__.py12__all__ = [CODE
LOW…stmcp_slim/fastmcp/server/auth/oauth_proxy/upstream.py32__all__ = ["AsyncOAuth2Client", "OAuthError"]CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/workos.py404 def set_mcp_path(self, mcp_path: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/auth0.py286 def set_mcp_path(self, mcp_path: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/providers/aggregate.py44logger = logging.getLogger(__name__)CODE
LOWfastmcp_slim/fastmcp/server/providers/proxy.py1496 def _setup_proxy_ping_handler(self) -> None:CODE
LOWfastmcp_slim/fastmcp/server/providers/__init__.py45__all__ = [CODE
LOW…im/fastmcp/server/providers/local_provider/__init__.py11__all__ = ["LocalProvider"]CODE
LOW…server/providers/local_provider/decorators/__init__.py11__all__ = [CODE
LOW…tmcp_slim/fastmcp/server/providers/openapi/provider.py44__all__ = [CODE
LOW…tmcp_slim/fastmcp/server/providers/openapi/__init__.py30__all__ = [CODE
LOW…stmcp_slim/fastmcp/server/providers/openapi/routing.py22__all__ = [CODE
LOW…cp_slim/fastmcp/server/providers/openapi/components.py49__all__ = [CODE
LOW…stmcp_slim/fastmcp/server/providers/skills/__init__.py43__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/transforms/__init__.py230__all__ = [CODE
LOW…tmcp_slim/fastmcp/server/transforms/search/__init__.py25__all__ = [CODE
LOW…mcp_slim/fastmcp/contrib/component_manager/__init__.py3__all__ = ["set_up_component_manager"]CODE
LOWfastmcp_slim/fastmcp/contrib/mcp_mixin/__init__.py3__all__ = [CODE
36 more matches not shown…
Verbosity Indicators43 hits · 80 pts
SeverityFileLineSnippetContext
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py112 # Step 1: Validate token via introspection (RFC 7662).COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py187 # Step 2: Fetch user profile via userinfo.COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py133 # Step 1: Verify token via tokeninfo endpoint.COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py199 # Step 2: Fetch user profile from v2 userinfo endpoint.COMMENT
LOW…fastmcp/contrib/component_manager/component_manager.py161 # We need to check if it's a template (contains {}) and use "template" if soCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py840 # Step 1: replace everything except [0-9a-zA-Z_] with underscoresCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py842 # Step 2: deduplicate underscoresCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py844 # Step 3: if the first char of original name isn't a letter or underscore, prepend field_COMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py847 # Step 4: deduplicate againCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py849 # Step 5: only strip trailing underscores if they weren't in the original nameCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py852 # Step 6: if result is a Python keyword, append an underscore (PEP 8 convention)COMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py104 # Step 0: Project readOnly/writeOnly while the annotations still exist; theCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py111 # Step 1: Handle nullable field conversion (OpenAPI 3.0 only)COMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py115 # Step 2: Convert oneOf to anyOf if requestedCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py119 # Step 3: Preserve discriminator tag presence before removing the keywordCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py122 # Step 4: Remove OpenAPI-specific fieldsCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py126 # Step 5: Recursively process nested schemasCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py106 # Step 1: Un-flatten arguments into path, query, body, etc. using parameter mapCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py115 # Step 2: Serialize query parameters according to OpenAPI style/explodeCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py118 # Step 3: Build base URL with path parametersCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py121 # Step 4: Prepare request dataCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py128 # Step 5: Determine the declared content type from the OpenAPI spec.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py145 # Step 6: Handle request body — dispatch on declared content type.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py224 # Step 7: Create httpx2.RequestCOMMENT
LOW…gration_tests/auth/test_github_provider_integration.py220 # Step 1: Register OAuth client (DCR)COMMENT
LOW…gration_tests/auth/test_github_provider_integration.py240 # Step 2: Test authorization endpoint redirects to consent pageCOMMENT
LOW…gration_tests/auth/test_github_provider_integration.py260 # Step 3: Visit consent page to get CSRF tokenCOMMENT
LOW…gration_tests/auth/test_github_provider_integration.py278 # Step 4: Approve consentCOMMENT
LOW⚡tests/server/test_auth_integration.py549 # Step 1: First, let's create a token and refresh token at the current timeCOMMENT
LOWtests/server/test_auth_integration.py568 # Step 2: Time travel forward 4 hours (tokens expire in 1 hour by default)COMMENT
LOW⚡tests/server/providers/test_prefab_roundtrip.py113 # Step 1: call UI tool, get structured_content with hashed refCOMMENT
LOW⚡tests/server/providers/test_prefab_roundtrip.py116 # Step 2: call the backend tool by its hashed nameCOMMENT
LOWexamples/search/client_regex.py74 # Step 1: list_tools shows only synthetic toolsCOMMENT
LOWexamples/search/client_regex.py92 # Step 2: regex patterns discover toolsCOMMENT
LOWexamples/search/client_regex.py128 # Step 3: call discovered toolsCOMMENT
LOWexamples/search/client_bm25.py74 # Step 1: list_tools shows only synthetic tools + pinned toolsCOMMENT
LOWexamples/search/client_bm25.py93 # Step 2: natural language search discovers tools by relevanceCOMMENT
LOWexamples/search/client_bm25.py129 # Step 3: call a discovered toolCOMMENT
LOWexamples/code_mode/client.py77 # Step 1: list_tools only returns two synthetic meta-toolsCOMMENT
LOWexamples/code_mode/client.py95 # Step 2: search discovers available toolsCOMMENT
LOWexamples/code_mode/client.py112 # Step 3: execute chains tool calls in one round-tripCOMMENT
LOW.github/scripts/mention/gh-resolve-review-thread.sh28# Step 1: Post comment if providedCOMMENT
LOW.github/scripts/mention/gh-resolve-review-thread.sh48# Step 2: Resolve the threadCOMMENT
Structural Annotation Overuse43 hits · 80 pts
SeverityFileLineSnippetContext
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py112 # Step 1: Validate token via introspection (RFC 7662).COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py187 # Step 2: Fetch user profile via userinfo.COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py133 # Step 1: Verify token via tokeninfo endpoint.COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py199 # Step 2: Fetch user profile from v2 userinfo endpoint.COMMENT
LOW…cp/server/providers/local_provider/decorators/tools.py208 # NOTE: This method mirrors fastmcp.tools.tool() but adds registration andCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py840 # Step 1: replace everything except [0-9a-zA-Z_] with underscoresCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py842 # Step 2: deduplicate underscoresCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py844 # Step 3: if the first char of original name isn't a letter or underscore, prepend field_COMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py847 # Step 4: deduplicate againCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py849 # Step 5: only strip trailing underscores if they weren't in the original nameCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/json_schema_type.py852 # Step 6: if result is a Python keyword, append an underscore (PEP 8 convention)COMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py104 # Step 0: Project readOnly/writeOnly while the annotations still exist; theCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py111 # Step 1: Handle nullable field conversion (OpenAPI 3.0 only)COMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py115 # Step 2: Convert oneOf to anyOf if requestedCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py119 # Step 3: Preserve discriminator tag presence before removing the keywordCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py122 # Step 4: Remove OpenAPI-specific fieldsCOMMENT
LOW⚡…lim/fastmcp/utilities/openapi/json_schema_converter.py126 # Step 5: Recursively process nested schemasCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py106 # Step 1: Un-flatten arguments into path, query, body, etc. using parameter mapCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py115 # Step 2: Serialize query parameters according to OpenAPI style/explodeCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py118 # Step 3: Build base URL with path parametersCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py121 # Step 4: Prepare request dataCOMMENT
LOW⚡fastmcp_slim/fastmcp/utilities/openapi/director.py128 # Step 5: Determine the declared content type from the OpenAPI spec.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py145 # Step 6: Handle request body — dispatch on declared content type.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py224 # Step 7: Create httpx2.RequestCOMMENT
LOW…gration_tests/auth/test_github_provider_integration.py220 # Step 1: Register OAuth client (DCR)COMMENT
LOW…gration_tests/auth/test_github_provider_integration.py240 # Step 2: Test authorization endpoint redirects to consent pageCOMMENT
LOW…gration_tests/auth/test_github_provider_integration.py260 # Step 3: Visit consent page to get CSRF tokenCOMMENT
LOW…gration_tests/auth/test_github_provider_integration.py278 # Step 4: Approve consentCOMMENT
LOW⚡tests/server/test_auth_integration.py549 # Step 1: First, let's create a token and refresh token at the current timeCOMMENT
LOWtests/server/test_auth_integration.py568 # Step 2: Time travel forward 4 hours (tokens expire in 1 hour by default)COMMENT
LOW⚡tests/server/providers/test_prefab_roundtrip.py113 # Step 1: call UI tool, get structured_content with hashed refCOMMENT
LOW⚡tests/server/providers/test_prefab_roundtrip.py116 # Step 2: call the backend tool by its hashed nameCOMMENT
LOWexamples/search/client_regex.py74 # Step 1: list_tools shows only synthetic toolsCOMMENT
LOWexamples/search/client_regex.py92 # Step 2: regex patterns discover toolsCOMMENT
LOWexamples/search/client_regex.py128 # Step 3: call discovered toolsCOMMENT
LOWexamples/search/client_bm25.py74 # Step 1: list_tools shows only synthetic tools + pinned toolsCOMMENT
LOWexamples/search/client_bm25.py93 # Step 2: natural language search discovers tools by relevanceCOMMENT
LOWexamples/search/client_bm25.py129 # Step 3: call a discovered toolCOMMENT
LOWexamples/code_mode/client.py77 # Step 1: list_tools only returns two synthetic meta-toolsCOMMENT
LOWexamples/code_mode/client.py95 # Step 2: search discovers available toolsCOMMENT
LOWexamples/code_mode/client.py112 # Step 3: execute chains tool calls in one round-tripCOMMENT
LOW.github/scripts/mention/gh-resolve-review-thread.sh28# Step 1: Post comment if providedCOMMENT
LOW.github/scripts/mention/gh-resolve-review-thread.sh48# Step 2: Resolve the threadCOMMENT
Modern AI Meta-Vocabulary29 hits · 78 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_tasks/fastmcp_tasks/components.py67 # wrapper is signature-preserving, so Docket's dependency injection isCOMMENT
MEDIUMfastmcp_slim/fastmcp/server/context.py281 # Set current server for dependency injection (use weakref to avoid reference cycles)COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/providers/descope.py113 # An MCP server ID extends the project's agentic path and a tenant IDCOMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/providers/descope.py115 # The agentic path is checked first as the more specific of the two.COMMENT
MEDIUM⚡tests/server/auth/providers/test_descope.py487 # The agentic path with no MCP server ID.COMMENT
MEDIUM⚡tests/server/auth/providers/test_descope.py33 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py45 config_url="https://api.descope.com/v1/apps/agentic/P2env123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py58 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py66 config_url="http://localhost:8080/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py74 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py249 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py384 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py394 "https://api.descope.com/v1/apps/agentic/P2abc123/M123"CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py411 == "https://api.descope.com/v1/apps/agentic/P2abc123"CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py418 "https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py426 "https://api.descope.com/v1/apps/agentic/P2abc123/M123",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py484 "https://api.descope.com/v1/apps/agentic/P2other456/M123",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py486 "https://api.descope.com/v1/apps/agentic/P2abc123/M123/extra",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py488 "https://api.descope.com/v1/apps/agentic/P2abc123",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py490 "https://evil.example.com/v1/apps/agentic/P2abc123/M123",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py522 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py549 "FASTMCP_SERVER_AUTH_DESCOPEPROVIDER_CONFIG_URL": "https://api.descope.com/v1/apps/agentic/P2env123/M123CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py555 config_url="https://api.descope.com/v1/apps/agentic/P2env123/M123/.well-known/openid-configuration",CODE
MEDIUM⚡tests/server/auth/providers/test_descope.py595 config_url="https://api.descope.com/v1/apps/agentic/P2test123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py350 config_url="https://api.descope.com/v1/apps/agentic/P2new123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py366 config_url = "https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration"CODE
MEDIUMtests/server/auth/providers/test_descope.py467 "https://api.descope.com/v1/apps/agentic/P2abc123/M123",CODE
MEDIUMtests/server/auth/providers/test_descope.py569 config_url="https://api.descope.com/v1/apps/agentic/P2test123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py618 config_url="https://api.descope.com/v1/apps/agentic/P2test123/M123/.well-known/openid-configuration",CODE
AI Structural Patterns86 hits · 78 pts
SeverityFileLineSnippetContext
LOWfastmcp_slim/fastmcp/telemetry.py66CODE
LOW…mcp_slim/fastmcp/experimental/transforms/jev_search.py129CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py404CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py556CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py573CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py592CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py261CODE
LOWfastmcp_slim/fastmcp/tools/base.py311CODE
LOWfastmcp_slim/fastmcp/tools/base.py443CODE
LOWfastmcp_slim/fastmcp/resources/function_resource.py223CODE
LOWfastmcp_slim/fastmcp/resources/function_resource.py84CODE
LOWfastmcp_slim/fastmcp/resources/template.py341CODE
LOWfastmcp_slim/fastmcp/resources/template.py413CODE
LOWfastmcp_slim/fastmcp/resources/template.py644CODE
LOWfastmcp_slim/fastmcp/resources/template.py588CODE
LOWfastmcp_slim/fastmcp/resources/base.py331CODE
LOWfastmcp_slim/fastmcp/server/server.py320CODE
LOWfastmcp_slim/fastmcp/server/server.py1787CODE
LOWfastmcp_slim/fastmcp/server/server.py1808CODE
LOWfastmcp_slim/fastmcp/server/server.py1923CODE
LOWfastmcp_slim/fastmcp/server/server.py1828CODE
LOWfastmcp_slim/fastmcp/server/server.py1949CODE
LOWfastmcp_slim/fastmcp/server/server.py2080CODE
LOWfastmcp_slim/fastmcp/server/server.py2095CODE
LOWfastmcp_slim/fastmcp/server/server.py2109CODE
LOWfastmcp_slim/fastmcp/server/server.py2356CODE
LOWfastmcp_slim/fastmcp/server/http.py624CODE
LOWfastmcp_slim/fastmcp/server/middleware/logging.py167CODE
LOWfastmcp_slim/fastmcp/server/middleware/caching.py268CODE
LOWfastmcp_slim/fastmcp/server/mixins/transport.py253CODE
LOWfastmcp_slim/fastmcp/server/mixins/transport.py367CODE
LOWfastmcp_slim/fastmcp/server/auth/oidc_proxy.py264CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/ui.py20CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py300CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/clerk.py274CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/azure.py99CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/discord.py194CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/oci.py122CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py275CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/aws.py125CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py162CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/scalekit.py63CODE
LOW…cp_slim/fastmcp/server/auth/providers/introspection.py80CODE
LOW…tmcp_slim/fastmcp/server/auth/providers/huggingface.py178CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/github.py216CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/workos.py165CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/jwt.py227CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/auth0.py85CODE
LOW…cp/server/providers/local_provider/decorators/tools.py167CODE
LOW…cp/server/providers/local_provider/decorators/tools.py188CODE
LOW…cp/server/providers/local_provider/decorators/tools.py211CODE
LOW…/server/providers/local_provider/decorators/prompts.py73CODE
LOW…/server/providers/local_provider/decorators/prompts.py89CODE
LOW…/server/providers/local_provider/decorators/prompts.py104CODE
LOW…erver/providers/local_provider/decorators/resources.py111CODE
LOWfastmcp_slim/fastmcp/cli/run.py141CODE
LOWfastmcp_slim/fastmcp/cli/client.py714CODE
LOWfastmcp_slim/fastmcp/cli/client.py868CODE
LOWfastmcp_slim/fastmcp/cli/cli.py145CODE
LOWfastmcp_slim/fastmcp/cli/cli.py410CODE
26 more matches not shown…
Over-Commented Block40 hits · 37 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/pyproject.toml61 # pydocket 0.24.1 resolves CallArgument references through uncalled-for'sCOMMENT
LOWfastmcp_tasks/fastmcp_tasks/handlers.py361 # each enqueue a next leg (double execution). Waiting rather than droppingCOMMENT
LOWfastmcp_tasks/fastmcp_tasks/handlers.py401 # every request has an answer (SEP-2663 partial fulfillment).COMMENT
LOWfastmcp_tasks/fastmcp_tasks/input_loop.py201 # freed. The task is now input_required until tasks/update enqueues theCOMMENT
LOWfastmcp_slim/fastmcp/tools/function_parsing.py461 output_type, mcp_types.CallToolResultCOMMENT
LOWfastmcp_slim/fastmcp/server/sessions.py81# a tool that does not exist under that mount. Describing the capability keepsCOMMENT
LOWfastmcp_slim/fastmcp/server/server.py381 else fastmcp.settings.mask_error_detailsCOMMENT
LOWfastmcp_slim/fastmcp/server/low_level.py461 # clients still read NotificationOptions at create_initialization_optionsCOMMENT
LOWfastmcp_slim/fastmcp/server/dependencies.py221 _worker_server_resolver = resolverCOMMENT
LOWfastmcp_slim/fastmcp/server/middleware/caching.py481COMMENT
LOWfastmcp_slim/fastmcp/server/mixins/mcp_operations.py321 data={"uri": str(uri)},COMMENT
LOWfastmcp_slim/fastmcp/server/auth/ssrf.py321 # matching internally. Both were still predictions of a library withCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2581 self.service_documentation_url,COMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py41_MAX_REMEMBERED_CLIENTS = 25COMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py521 # meaning, and every token issued for the transaction stays valid untilCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/handlers/authorize.py221 response = await super().handle(request)COMMENT
LOWfastmcp_slim/fastmcp/server/providers/proxy.py401 # submission is a first-class params field rather than contextCOMMENT
LOWfastmcp_slim/fastmcp/server/providers/proxy.py441 )COMMENT
LOWfastmcp_slim/fastmcp/server/providers/proxy.py1721 forward_incoming_headers: bool = True,COMMENT
LOW…tmcp/server/providers/local_provider/local_provider.py461 if c.task_config.supports_tasks()COMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema.py721 if isinstance(ref, str) and ref.startswith("#/$defs/"):COMMENT
LOWfastmcp_slim/fastmcp/client/transports/config.py361 client = StatefulProxyClient(COMMENT
LOWtests/server/auth/providers/test_supabase.py201 async with Client(mcp_server_url) as client:COMMENT
LOWtests/client/test_stdio.py661 # The transport only notices a dead session once the SDK dispatcher'sCOMMENT
LOWtests/conformance/expected-failures.yml1# Scenarios the conformance suite runs that FastMCP does not pass.COMMENT
LOWexamples/skills/server.py21mcp = FastMCP("Skills Server")COMMENT
LOWexamples/skills/server.py41# - VSCodeSkillsProvider() → ~/.copilot/skills/COMMENT
LOWscripts/rank_issues_tui.py1#!/usr/bin/env pythonCOMMENT
LOW.github/workflows/require-issue-link.yml1# Require external PRs to reference an issue with an auto-close keywordCOMMENT
LOW.github/workflows/require-issue-link.yml21# version is split across four, forcing the label/comment/reopen helpersCOMMENT
LOW.github/scripts/triage-label.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/mention/gh-get-review-threads.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/mention/gh-resolve-review-thread.sh1#!/usr/bin/env bashCOMMENT
LOW.github/scripts/pr-review/pr-comment.sh1#!/bin/bashCOMMENT
LOW.github/scripts/pr-review/pr-comment.sh21# if err != nil {COMMENT
LOW.github/scripts/pr-review/pr-diff.sh1#!/bin/bashCOMMENT
LOW.github/scripts/pr-review/pr-remove-comment.sh1#!/bin/bashCOMMENT
LOW.github/scripts/pr-review/pr-existing-comments.sh1#!/bin/bashCOMMENT
LOW.github/scripts/pr-review/pr-review.sh1#!/bin/bashCOMMENT
LOW.github/actions/run-claude/action.yml1# Composite Action for running Claude Code ActionCOMMENT
Fake / Example Data30 hits · 34 pts
SeverityFileLineSnippetContext
LOWfastmcp_slim/fastmcp/utilities/openapi/formatters.py163 return "user@example.com"CODE
LOW⚡tests/resources/test_resource_template.py536 quoted_name = quote("John Doe", safe="")CODE
LOW⚡tests/resources/test_resource_template.py540 assert result == {"name": "John Doe", "email": "john@example.com"}CODE
LOW⚡tests/server/auth/test_jwt_provider_bearer.py578 verifier = JWTVerifier(public_key="dummy-key")CODE
LOW⚡tests/server/auth/test_jwt_provider_bearer.py579 assert verifier.public_key == "dummy-key"CODE
LOWtests/server/auth/providers/test_workos.py372 "email": "user@example.com",CODE
LOWtests/server/auth/providers/test_workos.py394 "email": "user@example.com",CODE
LOW⚡tests/server/auth/providers/test_clerk.py269 json={"email": "user@example.com"},CODE
LOWtests/server/auth/providers/test_clerk.py209 "email": "user@example.com",CODE
LOWtests/server/auth/providers/test_clerk.py241 assert result.claims["email"] == "user@example.com"CODE
LOWtests/server/auth/providers/test_clerk.py478 "email": "user@example.com",CODE
LOWtests/server/auth/providers/test_azure.py1356 await provider.get_obo_credential(user_assertion="fake-token")CODE
LOW⚡tests/server/auth/providers/test_google.py152 extra_authorize_params={"login_hint": "user@example.com"},CODE
LOW⚡tests/server/auth/providers/test_google.py157 assert provider._extra_authorize_params["login_hint"] == "user@example.com"CODE
LOW⚡tests/server/auth/providers/test_google.py298 "email": "user@example.com",CODE
LOW⚡tests/server/auth/providers/test_google.py308 "email": "user@example.com",CODE
LOW⚡tests/server/auth/providers/test_google.py440 "email": "user@example.com",CODE
LOW⚡tests/server/auth/providers/test_google.py447 json={"sub": "12345", "email": "user@example.com"},CODE
LOWtests/server/auth/providers/test_google.py326 assert result.claims["email"] == "user@example.com"CODE
LOW…ver/providers/openapi/test_end_to_end_compatibility.py178 "name": "John Doe", # Body parameterCODE
LOW⚡tests/cli/test_cimd_cli.py126 assert "placeholder" in captured.errCODE
LOW⚡tests/cli/test_cimd_cli.py136 assert "placeholder" not in captured.errCODE
LOWtests/utilities/openapi/test_director.py209 "name": "John Doe",CODE
LOWtests/utilities/openapi/test_director.py220 assert body_data["name"] == "John Doe"CODE
LOWtests/utilities/openapi/test_director.py300 "name": "John Doe",CODE
LOWtests/utilities/openapi/test_director.py309 assert body_data["name"] == "John Doe"CODE
LOWtests/utilities/openapi/test_director.py1107 flat_args = {path_param_name: 123, "name": "John Doe"}CODE
LOWtests/conformance/server.py220 name: str = Field(default="John Doe", description="User name")CODE
LOWdocs/v3/apps/demos/dashboard.py21 {"account": "Acme Corp", "value": "$84,000", "stage": "Won"},CODE
LOWdocs/apps/demos/dashboard.py21 {"account": "Acme Corp", "value": "$84,000", "stage": "Won"},CODE
AI Slop Vocabulary15 hits · 22 pts
SeverityFileLineSnippetContext
LOWfastmcp_slim/fastmcp/server/lifespan.py136 # self._fn is already a context manager factory, just call itCOMMENT
MEDIUMfastmcp_slim/fastmcp/server/middleware/logging.py149 """Middleware that provides comprehensive request and response logging.STRING
MEDIUMfastmcp_slim/fastmcp/server/auth/ssrf.py382 """Fetch URL with comprehensive SSRF protection and DNS pinning.STRING
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/consent.py582 # Keep the browser's consent state bounded. The cookie just set alwaysCOMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/providers/in_memory.py114 # The AuthorizationHandler already does robust validation using client.validate_redirect_uriCOMMENT
LOW⚡fastmcp_slim/fastmcp/server/auth/handlers/authorize.py276 # If we can't parse the response, just return the originalSTRING
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py50 # If root is a file, just return it (if it's a .py file)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py60 return "npx" # On Unix-like systems, just use npxCODE
MEDIUMfastmcp_slim/fastmcp/utilities/asgi_transport.py315 # A harness must surface a broken teardown rather than swallow it — but never atCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py1150 # Otherwise just use the dataCOMMENT
LOWfastmcp_slim/fastmcp/utilities/cli.py81 # MCPConfig - we don't process these here, just pass throughCOMMENT
LOWfastmcp_slim/fastmcp/utilities/cli.py94 # Not a valid MCPServerConfig, just pass throughCOMMENT
LOWfastmcp_slim/fastmcp/utilities/cli.py97 # Not a valid JSON file, just pass throughCOMMENT
MEDIUMtests/conftest.py287 """Fixture that creates a FastMCP server with comprehensive tool set for provider tests."""STRING
MEDIUMtests/server/providers/openapi/test_comprehensive.py374 """Test server initialization with comprehensive spec."""STRING
Magic Placeholder Names5 hits · 20 pts
SeverityFileLineSnippetContext
HIGH.gitleaks.toml33 '''YOUR_API_KEY''',STRING
HIGH.gitleaks.toml34 '''YOUR_TOKEN_HERE''',STRING
HIGH…stmcp_slim/fastmcp/contrib/component_manager/README.md114 -H "Authorization: Bearer YOUR_TOKEN_HERE" \CODE
HIGH…stmcp_slim/fastmcp/contrib/component_manager/README.md140 -H "Authorization: Bearer YOUR_TOKEN_HERE" \CODE
HIGH…stmcp_slim/fastmcp/contrib/component_manager/README.md146 -H "Authorization: Bearer YOUR_TOKEN_HERE" \CODE
Overly Generic Function Names18 hits · 18 pts
SeverityFileLineSnippetContext
LOWtests/tasks/task_helpers.py197async def run_task(CODE
LOWtests/tasks/server/test_server_tasks_parameter.py125 async def my_function() -> str:CODE
LOW⚡tests/tools/test_standalone_decorator.py162 def my_method() -> str:CODE
LOW⚡tests/tools/test_standalone_decorator.py176 def my_method(cls) -> str:CODE
LOWtests/server/test_dependencies.py202 def process_data(value: int, config: str = Depends(fetch_config)) -> str:CODE
LOWtests/server/test_input_validation.py396 def process_data(count: int, name: str) -> str:CODE
LOWtests/server/test_input_validation.py420 def process_data(count: int, name: str) -> str:CODE
LOWtests/server/test_icons.py80 def my_function(x: int) -> int:CODE
LOWtests/server/test_icons.py131 def my_function() -> str:CODE
LOWtests/server/test_icons.py186 def my_function(id: str) -> str:CODE
LOWtests/server/test_icons.py241 def my_function(topic: str):CODE
LOW⚡tests/server/providers/test_local_provider_prompts.py293 def my_function() -> str:CODE
LOWtests/server/providers/test_local_provider_prompts.py240 def my_function() -> str:CODE
LOW⚡…erver/providers/local_provider_tools/test_decorator.py313 def my_function(x: int) -> str:CODE
LOW⚡…erver/providers/local_provider_tools/test_decorator.py324 def my_function(x: int) -> str:CODE
LOW…erver/providers/local_provider_tools/test_decorator.py292 def my_function(x: int) -> str:CODE
LOWtests/utilities/test_typeadapter.py41 def do_something(self, x: int) -> int:CODE
LOWtests/prompts/test_prompt.py265 def process_data(CODE
Dead Code7 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_slim/fastmcp/client/transports/base.py124CODE
MEDIUMtests/server/test_extension_runtime.py270CODE
MEDIUMtests/utilities/test_run_server_async_startup.py17CODE
MEDIUMtests/utilities/test_tests.py64CODE
MEDIUMtests/client/auth/test_oauth_static_client.py171CODE
MEDIUMtests/client/transports/test_transports.py24CODE
MEDIUMtests/client/client/test_session.py28CODE
Example Usage Blocks7 hits · 10 pts
SeverityFileLineSnippetContext
LOW.github/scripts/mention/gh-get-review-threads.sh6# Usage:COMMENT
LOW.github/scripts/mention/gh-resolve-review-thread.sh6# Usage:COMMENT
LOW.github/scripts/pr-review/pr-comment.sh4# Usage:COMMENT
LOW.github/scripts/pr-review/pr-diff.sh4# Usage:COMMENT
LOW.github/scripts/pr-review/pr-remove-comment.sh4# Usage:COMMENT
LOW.github/scripts/pr-review/pr-existing-comments.sh4# Usage:COMMENT
LOW.github/actions/run-claude/action.yml6# Usage:COMMENT
Hallucination Indicators2 hits · 10 pts
SeverityFileLineSnippetContext
CRITICALtests/test_mcp_config.py839 assert client.transport.transport.auth.token.get_secret_value() == "test_token"STRING
CRITICALtests/test_mcp_config.py854 assert client.transport.transport.auth.token.get_secret_value() == "test_token"STRING
Slop Phrases6 hits · 7 pts
SeverityFileLineSnippetContext
LOWdocs/prefab-demo-payloads.js1window.__FASTMCP_PREFAB_DEMOS__ = {"bar-chart":"<!doctype html>\n<html lang=\"en\">\n<head>\n <title>Prefab</title>\n CODE
LOWdocs/v3/apps/demos/hitchhikers.py99 Text("Don't forget to bring it.")CODE
LOWdocs/apps/demos/hitchhikers.py99 Text("Don't forget to bring it.")CODE
LOWexamples/apps/showcase_server.py49 f"Thanks, {owner_input.rx}. Don't forget to bring it."CODE
LOWexamples/apps/showcase_server.py52 Text("Anonymous, I see? Don't forget to bring it.")CODE
MEDIUM.github/workflows/marvin-triage-issue.yml155 You may not be able to do all of these things, sometimes you may find that all you can do is provide in-deptCODE