Repository Analysis

PrefectHQ/fastmcp

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

40.8 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of PrefectHQ/fastmcp, a Python project with 27,424 GitHub stars. SynthScan v2.0 examined 254,359 lines of code across 996 source files, recording 7907 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 40.8 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

40.8
Adjusted Score
40.8
Raw Score
100%
Time Factor
2026-08-28
Last Push
27.4K
Stars
Python
Language
254.4K
Lines of Code
996
Files
7.9K
Pattern Hits
2026-08-29
Scan Date
0.18
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 2HIGH 177MEDIUM 803LOW 6925

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 7907 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers5653 hits · 5461 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/models.py193def missing_capability_error_data() -> dict[str, Any]:CODE
LOWfastmcp_tasks/fastmcp_tasks/input_store.py482async 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
LOWfastmcp_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.py141 def _require_tasks_capability(self, ctx: ServerRequestContext[Any, Any]) -> None:CODE
LOWfastmcp_tasks/fastmcp_tasks/extension.py161 def _require_matching_task_route(self, task_id: str) -> None:CODE
LOWfastmcp_tasks/fastmcp_tasks/components.py47def 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/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.py566 def _build_execute_description(self) -> str:CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py627 def _create_forwarding_transform(CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py844 def _merge_schema_with_precedence(CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py1022def apply_transformations_to_tools(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.py91 def set_binary_from_mime_type(cls, is_binary: bool, info: ValidationInfo) -> bool:CODE
LOWfastmcp_slim/fastmcp/resources/base.py270def 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.py579 async def _dispatch_component_middleware(CODE
LOWfastmcp_slim/fastmcp/server/server.py653 def _compose_tool_call_interceptors(CODE
LOWfastmcp_slim/fastmcp/server/server.py707 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.py514 def create_initialization_options(CODE
LOWfastmcp_slim/fastmcp/server/extensions.py217def _extract_client_extension_settings(CODE
LOWfastmcp_slim/fastmcp/server/extensions.py235def read_client_extension_settings(CODE
LOWfastmcp_slim/fastmcp/server/extensions.py278def 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.py1298def _detached_request_context(context: Context) -> ServerRequestContext:CODE
LOWfastmcp_slim/fastmcp/server/context.py1331async def _log_to_server_and_client(CODE
LOWfastmcp_slim/fastmcp/server/http.py300 def _allow_same_origin_fallback(self, scope: Scope, host: str) -> bool:CODE
LOWfastmcp_slim/fastmcp/server/http.py545def create_streamable_http_app(CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py143def parse_elicit_response_type(CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py395def validate_elicitation_json_schema(schema: dict[str, Any]) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py190def set_background_context_factory(CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py212def set_worker_server_resolver(CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py281def transform_context_annotations(fn: Callable[..., Any]) -> Callable[..., Any]:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py665def without_injected_parameters(CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py757async def _resolve_fastmcp_dependencies(CODE
LOWfastmcp_slim/fastmcp/server/middleware/dereference.py33 async def on_list_resource_templates(CODE
LOWfastmcp_slim/fastmcp/server/middleware/dereference.py58def _dereference_resource_template(template: ResourceTemplate) -> ResourceTemplate:CODE
LOWfastmcp_slim/fastmcp/server/middleware/authorization.py344 async def on_list_resource_templates(CODE
LOWfastmcp_slim/fastmcp/server/middleware/timing.py146 async def on_list_resource_templates(CODE
LOWfastmcp_slim/fastmcp/server/middleware/caching.py587 def _matches_tool_cache_settings(self, tool_name: str) -> bool:CODE
LOWfastmcp_slim/fastmcp/server/middleware/caching.py652def _make_call_tool_cache_key(CODE
LOWfastmcp_slim/fastmcp/server/middleware/caching.py660def _make_read_resource_cache_key(CODE
5593 more matches not shown…
Decorative Section Separators639 hits · 2185 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py135# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py137# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py221# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py223# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py305# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/input_store.py307# ---------------------------------------------------------------------------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
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py387# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_tasks/fastmcp_tasks/client.py389# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py25# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py27# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py39# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py41# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py72# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py74# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py201# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py203# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py488# ---------------------------------------------------------------------------COMMENT
MEDIUM…tmcp_slim/fastmcp/experimental/transforms/code_mode.py490# ---------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py779 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py781 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py2496# -----------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/server.py2498# -----------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/context.py1187 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/context.py1189 # -------------------------------------------------------------------------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
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py736 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py738 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py762 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py764 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py818 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py820 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1506 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1508 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1631 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1633 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2314 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2316 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py861 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py863 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py914 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py916 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1104 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1106 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1235 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1237 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2010 # -------------------------------------------------------------------------COMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2012 # -------------------------------------------------------------------------COMMENT
579 more matches not shown…
Unused Imports465 hits · 454 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/components.py23CODE
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
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
405 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 Comments121 hits · 362 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_slim/fastmcp/server/server.py2550 # Create a proxy to a remote serverSTRING
MEDIUMfastmcp_slim/fastmcp/server/server.py2553 # Create a proxy to another FastMCP serverSTRING
MEDIUMfastmcp_slim/fastmcp/server/http.py595 # Create the ASGI app wrapper (session manager is set each lifespan cycle)COMMENT
MEDIUMfastmcp_slim/fastmcp/server/http.py665 # Create a lifespan manager to start and stop the session managerCOMMENT
MEDIUMfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py986 # 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.py1462 # Create a proxy server using create_proxy (recommended)STRING
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.py519 # Create a copy of the schema for each type, but keep all constraintsCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/types.py211 # Create a copy of annotations without the excluded parametersCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/json_schema.py367 # Create a new schema by copying the referenced definitionCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/cli.py207 # Create the logo textCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/cli.py211 # Create the main titleCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/cli.py214 # Create the information tableCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/openapi/schemas.py161 # Create a new schema that allows null in addition to the original typeCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/openapi/schemas.py734 # Create a wrapped schema that contains the original schema under a "result" keyCOMMENT
MEDIUMfastmcp_slim/fastmcp/utilities/openapi/director.py209 # Create a mapping from parameter names to their locationsCOMMENT
MEDIUMfastmcp_slim/fastmcp/client/client.py781 # Create a fresh session kwargs dict so the clone doesn't shareCOMMENT
MEDIUMfastmcp_slim/fastmcp/client/client.py763 # Create a fresh client for each concurrent operationSTRING
MEDIUMfastmcp_slim/fastmcp/client/auth/oauth.py306 # 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.py1150 # Create a config with multiple serversCOMMENT
MEDIUMtests/tools/test_tool_future_annotations.py47 # Create a simple 1x1 white pixel PNGCOMMENT
MEDIUMtests/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.py41 # 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.py372 # Create a dummy token to trigger JWKS fetchCOMMENT
MEDIUMtests/server/auth/test_enhanced_error_responses.py859 # 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.py360 # Create a mock 401 response like the SDK returns for auth failuresCOMMENT
MEDIUMtests/server/auth/oauth_proxy/test_tokens.py405 # Create a mock 400 response like the SDK returns for invalid_grantCOMMENT
MEDIUMtests/server/providers/test_skills_provider.py751 # Create a file outside the skill directoryCOMMENT
MEDIUMtests/server/providers/test_skills_provider.py385 # Create a simple skillCOMMENT
MEDIUMtests/server/providers/test_skills_provider.py400 # Create a skill with supporting filesCOMMENT
MEDIUMtests/server/providers/proxy/test_proxy_client.py488 # 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
61 more matches not shown…
Docstring Block Structure52 hits · 260 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.py413Create a transformed tool from a parent tool. Args: tool: The parent tool to transform. STRING
HIGHfastmcp_slim/fastmcp/server/server.py1372Call a tool by name. This is the public API for executing tools. By default, middleware is applied. ArSTRING
HIGHfastmcp_slim/fastmcp/server/server.py1564Read a resource by URI. This is the public API for reading resources. By default, middleware is applied. STRING
HIGHfastmcp_slim/fastmcp/server/server.py1723Render a prompt by name. This is the public API for rendering prompts. By default, middleware is applied. STRING
HIGHfastmcp_slim/fastmcp/server/dependencies.py1362Get a specific claim from the access token. This dependency extracts a single claim value from the current access tSTRING
HIGHfastmcp_slim/fastmcp/server/lifespan.py91Compose 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.py176Resolve hostname to IP addresses using DNS. Args: hostname: Hostname to resolve port: Port number (STRING
HIGHfastmcp_slim/fastmcp/server/auth/ssrf.py275Validate URL for SSRF and resolve to IPs. Args: url: URL to validate require_path: If True, requireSTRING
HIGHfastmcp_slim/fastmcp/server/auth/ssrf.py378Fetch 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.py630Get a cached or new OnBehalfOfCredential for OBO token exchange. Credentials are cached by user assertion so thSTRING
HIGHfastmcp_slim/fastmcp/server/auth/providers/azure.py872Exchange 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.py143Import 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.py11Decode a JWT part (header or payload) without signature verification. Args: token: JWT token string (headerSTRING
HIGHfastmcp_slim/fastmcp/utilities/auth.py33Decode JWT header without signature verification. Useful for extracting the key ID (kid) for JWKS lookup. ArgsSTRING
HIGHfastmcp_slim/fastmcp/utilities/auth.py50Decode 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.py168Convert JSON schema to appropriate Python type with validation. Args: schema: A JSON Schema dictionary defiSTRING
HIGHfastmcp_slim/fastmcp/utilities/pagination.py55Paginate a sequence of items. Args: items: The full sequence to paginate. cursor: Optional cursor fSTRING
HIGHfastmcp_slim/fastmcp/utilities/openapi/parser.py621 Extract only the schema definitions needed for input (parameters and request body). Args: STRING
HIGHfastmcp_slim/fastmcp/utilities/openapi/schemas.py79 Replace openapi $ref with jsonschema $defs recursively. Examples: - {"type": "object", "properties": {"$reSTRING
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.py233Read a file's contents by name. Args: name: The filename to read. ctx: The current requSTRING
HIGHfastmcp_slim/fastmcp/client/client.py895Send an initialize request to the server. This method performs the MCP initialization handshake with the serverSTRING
HIGHfastmcp_slim/fastmcp/client/client.py1136Await a coroutine while monitoring the session task for errors. When using HTTP transports, server errors (4xx/STRING
HIGHfastmcp_slim/fastmcp/client/client.py1440Send a completion request and return the complete MCP protocol result. Args: ref (mcp_types.ResourcSTRING
HIGHfastmcp_slim/fastmcp/client/client.py1471Send a completion request to the server. Args: ref (mcp_types.ResourceTemplateReference | mcp_typesSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py40Send a tools/list request and return the complete MCP protocol result. Args: cursor: Optional paginSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py96Retrieve all tools available on the server. This method automatically fetches all pages if the server paginatesSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py154Send a tools/call request and return the complete MCP protocol result. This method returns the raw CallToolResuSTRING
HIGHfastmcp_slim/fastmcp/client/mixins/tools.py292Call 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 Confusion42 hits · 241 pts
SeverityFileLineSnippetContext
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py764 if (d && typeof d === "object") return d.msg || d.message || JSON.stringify(d);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py764 if (d && typeof d === "object") return d.msg || d.message || JSON.stringify(d);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py765 return d || b.params.level || "";CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py769 if (b.error) return "error: " + (b.error.message || JSON.stringify(b.error));CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py770 if (b.result && typeof b.result === "object") {CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py776 if (first && first.text) {CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py353 const transport = new PostMessageTransport(iframe.contentWindow, null);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py623 if (activeFilters[allFilterKeys[i]]) on.push(allFilterKeys[i]);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py635 var qs = params.toString();CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py637 history.replaceState(null, "", url);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py706 if (fp !== null) {CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py745 if (lv && levelOrder.indexOf(lv) < minLevel) return false;CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py795 && (entry.body.error || (entry.body.result && entry.body.result.isError));CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py824 if (entry.direction === "notification" && entry.body && entry.body.params) {CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py846 navigator.clipboard.writeText(JSON.stringify(entry.body, null, 2));CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py866 detail.textContent = JSON.stringify(entry.body, null, 2);CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py886 var atBottom = !panelVisible || entries.scrollHeight - entries.scrollTop - entries.clientHeight < 40;CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py893 if (atBottom || (firstPoll && panelVisible)) entries.scrollTop = entries.scrollHeight;CODE
HIGHfastmcp_slim/fastmcp/cli/apps_dev.py905 if (!data || typeof data !== "object") return;CODE
HIGHfastmcp_slim/fastmcp/utilities/json_schema_type.py497 # 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.py157 # If it's already nullable (type includes null), don't modifyCOMMENT
HIGHfastmcp_slim/fastmcp/apps/file_upload.py313 with If(STATE.stored.length()):CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py315 STATE.stored.length(),CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py334 with If(STATE.pending.length()), Column(gap=2):CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py365 with If(STATE.stored.length()):CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py390 with If(STATE.stored.length()):CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py392 f"{STATE.stored.length()}"CODE
HIGHfastmcp_slim/fastmcp/apps/file_upload.py393 f" {STATE.stored.length().pluralize('file')}"CODE
HIGHtests/tasks/server/test_wire_models.py153 # Drop the other None optionals the runner would also drop, keeping ttlMs=null,COMMENT
HIGHtests/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
HIGHtests/utilities/openapi/test_nullable_fields.py440 """Test that nullable enum validates null, enum values, and rejects invalid values."""STRING
Excessive Try-Catch Wrapping184 hits · 195 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/handlers.py319 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.py358 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py101 except Exception:CODE
LOWfastmcp_slim/fastmcp/resources/types.py109 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/resources/types.py172 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/resources/types.py187 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1522 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1640 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1699 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/server.py1789 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.py1150 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/http.py703 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py313 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py654 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py738 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py811 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.py198 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.py763 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/cimd.py414 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oidc_proxy.py135 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oidc_proxy.py174 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2310 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1780 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1819 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2252 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2269 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2379 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2766 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2817 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.py625 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/azure.py693 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/discord.py161 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py191 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py220 except Exception as e:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py70 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py299 except Exception:CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py301 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.py304 except Exception as e:CODE
124 more matches not shown…
Deep Nesting181 hits · 163 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/fastmcp_tasks/input_store.py516CODE
LOWfastmcp_tasks/fastmcp_tasks/components.py47CODE
LOWfastmcp_tasks/fastmcp_tasks/components.py91CODE
LOWfastmcp_tasks/fastmcp_tasks/lifespan.py29CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py315CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py399CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py627CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py844CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py729CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py403CODE
LOWfastmcp_slim/fastmcp/resources/template.py83CODE
LOWfastmcp_slim/fastmcp/resources/template.py389CODE
LOWfastmcp_slim/fastmcp/server/server.py834CODE
LOWfastmcp_slim/fastmcp/server/server.py917CODE
LOWfastmcp_slim/fastmcp/server/server.py971CODE
LOWfastmcp_slim/fastmcp/server/server.py1056CODE
LOWfastmcp_slim/fastmcp/server/server.py1106CODE
LOWfastmcp_slim/fastmcp/server/server.py1188CODE
LOWfastmcp_slim/fastmcp/server/server.py1242CODE
LOWfastmcp_slim/fastmcp/server/server.py1314CODE
LOWfastmcp_slim/fastmcp/server/server.py1364CODE
LOWfastmcp_slim/fastmcp/server/server.py1557CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py143CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py395CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py281CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py757CODE
LOWfastmcp_slim/fastmcp/server/middleware/dereference.py67CODE
LOW…stmcp_slim/fastmcp/server/middleware/error_handling.py80CODE
LOWfastmcp_slim/fastmcp/server/auth/ssrf.py413CODE
LOWfastmcp_slim/fastmcp/server/auth/cimd.py240CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/models.py256CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2135CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2386CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2579CODE
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.py345CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/jwt.py468CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/jwt.py485CODE
LOWfastmcp_slim/fastmcp/server/auth/handlers/authorize.py207CODE
LOWfastmcp_slim/fastmcp/server/providers/aggregate.py118CODE
LOWfastmcp_slim/fastmcp/server/providers/aggregate.py156CODE
LOWfastmcp_slim/fastmcp/server/providers/proxy.py534CODE
LOWfastmcp_slim/fastmcp/server/providers/filesystem.py149CODE
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py140CODE
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py285CODE
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.py197CODE
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.py42CODE
LOWfastmcp_slim/fastmcp/cli/run.py141CODE
LOWfastmcp_slim/fastmcp/cli/run.py384CODE
LOWfastmcp_slim/fastmcp/cli/discovery.py166CODE
LOWfastmcp_slim/fastmcp/cli/apps_dev.py166CODE
121 more matches not shown…
Redundant / Tautological Comments73 hits · 111 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.py512 # Check if function returns ToolResult (or subclass) - if so, don't fall back to parent.COMMENT
LOWfastmcp_slim/fastmcp/tools/tool_transform.py543 # Check if function is missing any parameters required after transformationCOMMENT
LOWfastmcp_slim/fastmcp/tools/tool_transform.py660 # Check if parameter is in transform_argsCOMMENT
LOWfastmcp_slim/fastmcp/tools/function_parsing.py442 # Check if schema is an object type, resolving $ref referencesCOMMENT
LOWfastmcp_slim/fastmcp/resources/template.py520 # Check if required parameters are a subset of the path parametersCOMMENT
LOWfastmcp_slim/fastmcp/resources/template.py526 # Check if all URI parameters are valid function parameters (skip if **kwargs present)COMMENT
LOWfastmcp_slim/fastmcp/server/elicitation.py61 # Check if items are enum/LiteralCOMMENT
LOWfastmcp_slim/fastmcp/server/elicitation.py73 # Check if items are Literal (which Pydantic represents differently)COMMENT
LOWfastmcp_slim/fastmcp/server/elicitation.py511 # Check if it's a primitive typeCOMMENT
LOW…cp_slim/fastmcp/server/middleware/response_limiting.py141 # 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.py75 # Check if Authorization header is presentCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1256 # 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.py245 # 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
LOWfastmcp_slim/fastmcp/server/auth/handlers/authorize.py265 # Check if response body contains "not found" errorSTRING
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py167 # Check if this file is part of a packageCOMMENT
LOW…_slim/fastmcp/server/providers/filesystem_discovery.py324 # 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.py709 # 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.py746 # Set marker to prevent infinite loops when subprocess calls FastMCP againCOMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py866 # Check if we were spawned by uv (or user explicitly set --skip-env)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py880 # Check if it's an MCPConfig (which inspect doesn't support)COMMENT
LOWfastmcp_slim/fastmcp/cli/cli.py895 # 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.py85 # 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.py497 # Check if one of the types is None (null)COMMENT
LOWfastmcp_slim/fastmcp/utilities/types.py72 # Check if this is Annotated[Type, "string"] and convert to Annotated[Type, Field(description="string")]COMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema.py294 # Check if original had a $refCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema.py718 # 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.py224 # Check if any schema in the map needs conversionCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py246 # Check if nested schema needs conversionCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py272 # Check if any list item needs conversionCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py219 # Check if it's a suffixed parameter (e.g., id__path)COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py233 # Check if it's a known parameterCOMMENT
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.py450 # 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
LOWtests/server/test_auth_integration.py132 # Check if refresh token existsCOMMENT
LOWtests/server/test_auth_integration.py137 # Check if the access token existsCOMMENT
LOWtests/server/test_auth_integration.py140 # Check if the token was issued to this clientCOMMENT
13 more matches not shown…
Modern Structural Boilerplate97 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__.py90__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.py638__all__ = [CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py945def _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.py492__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.py52__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/elicitation.py20__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py148__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1136 async def set_total(self, total: int) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1144 async def set_message(self, message: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1185 async def set_total(self, total: int) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1200 async def set_message(self, message: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1263 async def set_total(self, total: int) -> None:CODE
LOWfastmcp_slim/fastmcp/server/dependencies.py1273 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.py106 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.py373 def set_mcp_path(self, mcp_path: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/auth/auth.py772 def set_mcp_path(self, mcp_path: str | None) -> None:CODE
LOWfastmcp_slim/fastmcp/server/auth/__init__.py64__all__ = [CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py740 def update_default_scopes(self, scopes: list[str]) -> None:CODE
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py766 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.py396 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.py41logger = logging.getLogger(__name__)CODE
LOWfastmcp_slim/fastmcp/server/providers/proxy.py1509 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
37 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.py114 # Step 1: Verify token via tokeninfo endpoint.COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py178 # Step 2: Fetch user profile from v2 userinfo endpoint.COMMENT
LOW…fastmcp/contrib/component_manager/component_manager.py101 # We need to check if it's a template (contains {}) and use "template" if soCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py540 # Step 1: replace everything except [0-9a-zA-Z_] with underscoresCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py542 # Step 2: deduplicate underscoresCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py544 # Step 3: if the first char of original name isn't a letter or underscore, prepend field_COMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py547 # Step 4: deduplicate againCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py549 # Step 5: only strip trailing underscores if they weren't in the original nameCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py552 # Step 6: if result is a Python keyword, append an underscore (PEP 8 convention)COMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py92 # Step 1: Handle nullable field conversion (OpenAPI 3.0 only)COMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py96 # Step 2: Convert oneOf to anyOf if requestedCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py100 # Step 3: Preserve discriminator tag presence before removing the keywordCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py103 # Step 4: Remove OpenAPI-specific fieldsCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py107 # Step 5: Handle readOnly/writeOnly property removalCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py113 # Step 6: Recursively process nested schemasCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py57 # Step 1: Un-flatten arguments into path, query, body, etc. using parameter mapCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py66 # Step 2: Serialize query parameters according to OpenAPI style/explodeCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py69 # Step 3: Build base URL with path parametersCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py72 # Step 4: Prepare request dataCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py79 # Step 5: Determine the declared content type from the OpenAPI spec.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py96 # Step 6: Handle request body — dispatch on declared content type.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py143 # 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
LOWtests/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
LOWtests/server/providers/test_prefab_roundtrip.py113 # Step 1: call UI tool, get structured_content with hashed refCOMMENT
LOWtests/server/providers/test_prefab_roundtrip.py116 # Step 2: call the backend tool by its hashed nameCOMMENT
LOWexamples/search/client_regex.py73 # Step 1: list_tools shows only synthetic toolsCOMMENT
LOWexamples/search/client_regex.py91 # Step 2: regex patterns discover toolsCOMMENT
LOWexamples/search/client_regex.py127 # Step 3: call discovered toolsCOMMENT
LOWexamples/search/client_bm25.py73 # Step 1: list_tools shows only synthetic tools + pinned toolsCOMMENT
LOWexamples/search/client_bm25.py92 # Step 2: natural language search discovers tools by relevanceCOMMENT
LOWexamples/search/client_bm25.py128 # Step 3: call a discovered toolCOMMENT
LOWexamples/code_mode/client.py76 # Step 1: list_tools only returns two synthetic meta-toolsCOMMENT
LOWexamples/code_mode/client.py94 # Step 2: search discovers available toolsCOMMENT
LOWexamples/code_mode/client.py111 # 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.py114 # Step 1: Verify token via tokeninfo endpoint.COMMENT
LOWfastmcp_slim/fastmcp/server/auth/providers/google.py178 # Step 2: Fetch user profile from v2 userinfo endpoint.COMMENT
LOW…cp/server/providers/local_provider/decorators/tools.py204 # NOTE: This method mirrors fastmcp.tools.tool() but adds registration andCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py540 # Step 1: replace everything except [0-9a-zA-Z_] with underscoresCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py542 # Step 2: deduplicate underscoresCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py544 # Step 3: if the first char of original name isn't a letter or underscore, prepend field_COMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py547 # Step 4: deduplicate againCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py549 # Step 5: only strip trailing underscores if they weren't in the original nameCOMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema_type.py552 # Step 6: if result is a Python keyword, append an underscore (PEP 8 convention)COMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py92 # Step 1: Handle nullable field conversion (OpenAPI 3.0 only)COMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py96 # Step 2: Convert oneOf to anyOf if requestedCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py100 # Step 3: Preserve discriminator tag presence before removing the keywordCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py103 # Step 4: Remove OpenAPI-specific fieldsCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py107 # Step 5: Handle readOnly/writeOnly property removalCOMMENT
LOW…lim/fastmcp/utilities/openapi/json_schema_converter.py113 # Step 6: Recursively process nested schemasCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py57 # Step 1: Un-flatten arguments into path, query, body, etc. using parameter mapCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py66 # Step 2: Serialize query parameters according to OpenAPI style/explodeCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py69 # Step 3: Build base URL with path parametersCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py72 # Step 4: Prepare request dataCOMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py79 # Step 5: Determine the declared content type from the OpenAPI spec.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py96 # Step 6: Handle request body — dispatch on declared content type.COMMENT
LOWfastmcp_slim/fastmcp/utilities/openapi/director.py143 # 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
LOWtests/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
LOWtests/server/providers/test_prefab_roundtrip.py113 # Step 1: call UI tool, get structured_content with hashed refCOMMENT
LOWtests/server/providers/test_prefab_roundtrip.py116 # Step 2: call the backend tool by its hashed nameCOMMENT
LOWexamples/search/client_regex.py73 # Step 1: list_tools shows only synthetic toolsCOMMENT
LOWexamples/search/client_regex.py91 # Step 2: regex patterns discover toolsCOMMENT
LOWexamples/search/client_regex.py127 # Step 3: call discovered toolsCOMMENT
LOWexamples/search/client_bm25.py73 # Step 1: list_tools shows only synthetic tools + pinned toolsCOMMENT
LOWexamples/search/client_bm25.py92 # Step 2: natural language search discovers tools by relevanceCOMMENT
LOWexamples/search/client_bm25.py128 # Step 3: call a discovered toolCOMMENT
LOWexamples/code_mode/client.py76 # Step 1: list_tools only returns two synthetic meta-toolsCOMMENT
LOWexamples/code_mode/client.py94 # Step 2: search discovers available toolsCOMMENT
LOWexamples/code_mode/client.py111 # 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
AI Structural Patterns82 hits · 74 pts
SeverityFileLineSnippetContext
LOWfastmcp_slim/fastmcp/telemetry.py66CODE
LOWfastmcp_slim/fastmcp/tools/tool_transform.py399CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py512CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py529CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py548CODE
LOWfastmcp_slim/fastmcp/tools/function_tool.py217CODE
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.py167CODE
LOWfastmcp_slim/fastmcp/resources/template.py220CODE
LOWfastmcp_slim/fastmcp/resources/template.py429CODE
LOWfastmcp_slim/fastmcp/resources/template.py373CODE
LOWfastmcp_slim/fastmcp/resources/base.py359CODE
LOWfastmcp_slim/fastmcp/server/server.py285CODE
LOWfastmcp_slim/fastmcp/server/server.py1810CODE
LOWfastmcp_slim/fastmcp/server/server.py1831CODE
LOWfastmcp_slim/fastmcp/server/server.py1946CODE
LOWfastmcp_slim/fastmcp/server/server.py1851CODE
LOWfastmcp_slim/fastmcp/server/server.py1972CODE
LOWfastmcp_slim/fastmcp/server/server.py2103CODE
LOWfastmcp_slim/fastmcp/server/server.py2118CODE
LOWfastmcp_slim/fastmcp/server/server.py2132CODE
LOWfastmcp_slim/fastmcp/server/server.py2379CODE
LOWfastmcp_slim/fastmcp/server/http.py545CODE
LOWfastmcp_slim/fastmcp/server/middleware/logging.py167CODE
LOWfastmcp_slim/fastmcp/server/middleware/caching.py253CODE
LOWfastmcp_slim/fastmcp/server/mixins/transport.py258CODE
LOWfastmcp_slim/fastmcp/server/mixins/transport.py372CODE
LOWfastmcp_slim/fastmcp/server/auth/oidc_proxy.py206CODE
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.py253CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/aws.py125CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/descope.py112CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/scalekit.py63CODE
LOW…tmcp_slim/fastmcp/server/auth/providers/huggingface.py178CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/github.py216CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/workos.py161CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/jwt.py225CODE
LOWfastmcp_slim/fastmcp/server/auth/providers/auth0.py85CODE
LOW…cp/server/providers/local_provider/decorators/tools.py163CODE
LOW…cp/server/providers/local_provider/decorators/tools.py184CODE
LOW…cp/server/providers/local_provider/decorators/tools.py207CODE
LOW…/server/providers/local_provider/decorators/prompts.py70CODE
LOW…/server/providers/local_provider/decorators/prompts.py86CODE
LOW…/server/providers/local_provider/decorators/prompts.py101CODE
LOW…erver/providers/local_provider/decorators/resources.py108CODE
LOWfastmcp_slim/fastmcp/cli/run.py141CODE
LOWfastmcp_slim/fastmcp/cli/client.py641CODE
LOWfastmcp_slim/fastmcp/cli/client.py796CODE
LOWfastmcp_slim/fastmcp/cli/cli.py145CODE
LOWfastmcp_slim/fastmcp/cli/cli.py410CODE
LOWfastmcp_slim/fastmcp/cli/cli.py791CODE
LOWfastmcp_slim/fastmcp/cli/install/claude_desktop.py139CODE
22 more matches not shown…
Modern AI Meta-Vocabulary18 hits · 51 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_tasks/fastmcp_tasks/components.py60 # 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
MEDIUMtests/server/auth/providers/test_descope.py30 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py42 config_url="https://api.descope.com/v1/apps/agentic/P2env123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py55 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py63 config_url="http://localhost:8080/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py71 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123",CODE
MEDIUMtests/server/auth/providers/test_descope.py246 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py359 == "https://api.descope.com/v1/apps/agentic/P2new123/M123"CODE
MEDIUMtests/server/auth/providers/test_descope.py364 config_url = "https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration"CODE
MEDIUMtests/server/auth/providers/test_descope.py365 issuer_url = "https://api.descope.com/v1/apps/agentic/P2abc123/M123"CODE
MEDIUMtests/server/auth/providers/test_descope.py385 config_url="https://api.descope.com/v1/apps/agentic/P2abc123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py412 "FASTMCP_SERVER_AUTH_DESCOPEPROVIDER_CONFIG_URL": "https://api.descope.com/v1/apps/agentic/P2env123/M123CODE
MEDIUMtests/server/auth/providers/test_descope.py418 config_url="https://api.descope.com/v1/apps/agentic/P2env123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py458 config_url="https://api.descope.com/v1/apps/agentic/P2test123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py347 config_url="https://api.descope.com/v1/apps/agentic/P2new123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py432 config_url="https://api.descope.com/v1/apps/agentic/P2test123/M123/.well-known/openid-configuration",CODE
MEDIUMtests/server/auth/providers/test_descope.py481 config_url="https://api.descope.com/v1/apps/agentic/P2test123/M123/.well-known/openid-configuration",CODE
Over-Commented Block49 hits · 44 pts
SeverityFileLineSnippetContext
LOWfastmcp_tasks/pyproject.toml61 # is cancelled on Python 3.10 and 3.11, which our lifespan does on everyCOMMENT
LOWfastmcp_tasks/fastmcp_tasks/handlers.py401 # `input_required` rather than as a finished task, so retiring the finalCOMMENT
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.py361COMMENT
LOWfastmcp_slim/fastmcp/server/sessions.py81# a tool that does not exist under that mount. Describing the capability keepsCOMMENT
LOWfastmcp_slim/fastmcp/server/server.py361 # Applied before the handler runs to every templated read whoseCOMMENT
LOWfastmcp_slim/fastmcp/server/server.py1401 parse_hashed_backend_name,COMMENT
LOWfastmcp_slim/fastmcp/server/low_level.py461 # FastMCP servers support notifications for all components. v2 derivesCOMMENT
LOWfastmcp_slim/fastmcp/server/http.py681 ),COMMENT
LOWfastmcp_slim/fastmcp/server/mixins/mcp_operations.py261 # RETURNED as an error result, never raised — the SDK v2 runnerCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/ssrf.py301COMMENT
LOWfastmcp_slim/fastmcp/server/auth/ssrf.py321 # "proxied" for a request that actually went out direct.COMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py981 forgiving about validating redirect URIs, since the DCR client'sCOMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py1121COMMENT
LOWfastmcp_slim/fastmcp/server/auth/oauth_proxy/proxy.py2521 # protected resource metadata.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 async with client:COMMENT
LOWfastmcp_slim/fastmcp/server/providers/proxy.py421 # `x-mcp-header` argument is not mirrored into an `Mcp-Param-*`COMMENT
LOWfastmcp_slim/fastmcp/server/providers/proxy.py1401 return as_proxy_backend(client)COMMENT
LOWfastmcp_slim/fastmcp/server/providers/proxy.py1721 | dict[str, Any]COMMENT
LOW…tmcp/server/providers/local_provider/local_provider.py461 # Note: Decorator methods (tool, resource, prompt, add_tool, add_resource,COMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema.py221COMMENT
LOWfastmcp_slim/fastmcp/utilities/json_schema.py441# data value because it happens to look metadata-shaped. Includes bothCOMMENT
LOWfastmcp_slim/fastmcp/prompts/function_prompt.py141COMMENT
LOWfastmcp_slim/fastmcp/client/client.py981 self._session_state.session_task = asyncio.create_task(COMMENT
LOWtests/server/auth/providers/test_supabase.py201 async with Client(mcp_server_url) as client:COMMENT
LOWtests/server/auth/providers/test_descope.py501 async def test_unauthorized_access(self, mcp_server_url: str):COMMENT
LOW…/utilities/json_schema_type/test_real_world_schemas.py341 _record_failure("other_errors", _name, schema, e)COMMENT
LOWtests/client/test_stdio.py561 # 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
LOW.github/workflows/marvin-label-triage.yml21 label-issue-or-pr:COMMENT
LOW.github/workflows/marvin-label-triage.yml201 # Triage is fire-and-forget: nobody watches a green run, so a brokenCOMMENT
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/workflows/require-issue-link.yml301 return;COMMENT
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
LOWtests/resources/test_resource_template.py503 quoted_name = quote("John Doe", safe="")CODE
LOWtests/resources/test_resource_template.py507 assert result == {"name": "John Doe", "email": "john@example.com"}CODE
LOWtests/server/auth/test_jwt_provider_bearer.py578 verifier = JWTVerifier(public_key="dummy-key")CODE
LOWtests/server/auth/test_jwt_provider_bearer.py579 assert verifier.public_key == "dummy-key"CODE
LOWtests/server/auth/providers/test_workos.py351 "email": "user@example.com",CODE
LOWtests/server/auth/providers/test_workos.py373 "email": "user@example.com",CODE
LOWtests/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.py1187 await provider.get_obo_credential(user_assertion="fake-token")CODE
LOWtests/server/auth/providers/test_google.py152 extra_authorize_params={"login_hint": "user@example.com"},CODE
LOWtests/server/auth/providers/test_google.py157 assert provider._extra_authorize_params["login_hint"] == "user@example.com"CODE
LOWtests/server/auth/providers/test_google.py298 "email": "user@example.com",CODE
LOWtests/server/auth/providers/test_google.py308 "email": "user@example.com",CODE
LOWtests/server/auth/providers/test_google.py440 "email": "user@example.com",CODE
LOWtests/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
LOWtests/cli/test_cimd_cli.py126 assert "placeholder" in captured.errCODE
LOWtests/cli/test_cimd_cli.py136 assert "placeholder" not in captured.errCODE
LOWtests/utilities/openapi/test_director.py210 "name": "John Doe",CODE
LOWtests/utilities/openapi/test_director.py221 assert body_data["name"] == "John Doe"CODE
LOWtests/utilities/openapi/test_director.py301 "name": "John Doe",CODE
LOWtests/utilities/openapi/test_director.py310 assert body_data["name"] == "John Doe"CODE
LOWtests/utilities/openapi/test_director.py1055 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.py132 # 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.py378 """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
LOWfastmcp_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.py785 # 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
Overly Generic Function Names18 hits · 19 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
LOWtests/tools/test_standalone_decorator.py162 def my_method() -> str:CODE
LOWtests/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.py213 def process_data(count: int, name: str) -> str:CODE
LOWtests/server/test_input_validation.py237 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
LOWtests/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.py243 def process_data(CODE
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…stmcp_slim/fastmcp/contrib/component_manager/README.md108 -H "Authorization: Bearer YOUR_TOKEN_HERE" \CODE
HIGH…stmcp_slim/fastmcp/contrib/component_manager/README.md134 -H "Authorization: Bearer YOUR_TOKEN_HERE" \CODE
HIGH…stmcp_slim/fastmcp/contrib/component_manager/README.md140 -H "Authorization: Bearer YOUR_TOKEN_HERE" \CODE
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.py767 assert client.transport.transport.auth.token.get_secret_value() == "test_token"STRING
CRITICALtests/test_mcp_config.py782 assert client.transport.transport.auth.token.get_secret_value() == "test_token"STRING
Dead Code4 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMfastmcp_slim/fastmcp/client/transports/base.py124CODE
MEDIUMtests/client/auth/test_oauth_static_client.py144CODE
MEDIUMtests/client/transports/test_transports.py24CODE
MEDIUMtests/client/client/test_session.py28CODE
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