Skip to main content
Glama
Saad0149

Flutter Analysis Engine (MCP)

by Saad0149

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FLUTTER_KNOWLEDGE_CONFIGNoOverride to specify the absolute path to the configuration JSON file.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
update_repositoriesB

Clone missing official Flutter/Dart repositories, pull latest changes, and optionally reindex.

repository_statusA

Report existence, branch, commit, last pull time, and path for supported repositories.

search_sourceB

Search filenames and file contents across local official Flutter/Dart repositories (index-aware).

find_widgetB

Locate a Flutter widget by name using the SQLite index when available, else filesystem search.

reindexC

Build or refresh the local SQLite knowledge index for one or all repositories.

explain_widgetB

Explain a widget from the local index (declaration, inheritance, documentation).

search_docsB

Search indexed documentation (guides, cookbook, migrations, CHANGELOGs).

find_examplesC

Find examples related to a topic from samples and example/ directories.

find_testsC

Find tests related to a symbol; widget tests are preferred when available.

trace_widgetC

Trace widget/class inheritance and related symbols from the index.

find_best_practiceC

Rank website, samples, and docs hits for a best-practice topic.

review_projectB

Analyze once: executive health summary + sessionId. Pass sessionId to follow-up tools (no rescan). Use detail=full only when you need the entire report.

find_intended_behaviorC

How is this meant to be used? Joins widget tests, samples, migrations/cookbook/guides, and source.

analyze_code_qualityB

Code quality view from a review_project session (or path). Slim findings + score — not a full rescan when sessionId is set.

analyze_state_managementC

State management view from a review_project session (or path). Prefer sessionId to avoid rescanning.

analyze_architectureB

Architecture view from a review_project session (or path). Prefer sessionId to avoid rescanning.

explain_findingA

Mentor-style explanation for one finding. Prefer sessionId from review_project.

explore_findingC

Evidence for one finding (files, symbols, refactor). Prefer sessionId from review_project.

analyze_complexityB

Complexity view from a review_project session (or path). Returns file-size distribution, estimated high-complexity files, and slim findings. Prefer sessionId to avoid rescanning.

analyze_documentationA

Documentation coverage view from a review_project session (or path). Returns widget/class doc ratios, README presence, and findings. Prefer sessionId to avoid rescanning.

analyze_testingA

Testing coverage view from a review_project session (or path). Returns test/lib ratios, test type counts, and untested features. Prefer sessionId to avoid rescanning.

analyze_dependenciesA

Dependency health view from a review_project session (or path). Returns layer violations, circular cycles, and slim findings. Use detail=full to include full violation arrays. Prefer sessionId to avoid rescanning.

analyze_performanceB

Performance view from a review_project session (or path). Returns build method sizes, setState issues, and animation controller leaks. Prefer sessionId to avoid rescanning.

analyze_accessibilityA

Accessibility view from a review_project session (or path). Returns semantics widget counts, tooltip usage, and missing semantic labels. Prefer sessionId to avoid rescanning.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 24 tools

Disambiguation4/5

Most tools are clearly distinct by purpose: find_* tools target different content types (examples, tests, widgets, best practices, intended behavior) and analyze_* tools target distinct analysis dimensions (architecture, complexity, documentation, testing, dependencies, performance, accessibility). There is some overlap between find_examples and find_best_practice, and between explain_widget and trace_widget, but descriptions help delineate. The find_widget/explain_widget/trace_widget trio has somewhat blurry boundaries.

Naming Consistency4/5

The naming follows a strong verb_noun snake_case pattern throughout (find_*, analyze_*, explain_*, explore_*, search_*, update_*, reindex, trace_widget, repository_status). This is highly consistent. Minor deviations: review_project and repository_status are noun_verb/noun style rather than verb_noun, and analyze_* uses adjectival suffixes (analyze_code_quality) inconsistently across the set.

Tool Count3/5

24 tools is near the heavy end of the appropriate range for a Flutter analysis engine server, which legitimately spans project review, knowledge indexing, code search, and widget explanations. At 24 it's bordering on 'too many' but the scope is broad enough to justify it. The large number of near-parallel analyze_* tools inflates the count.

Completeness4/5

The server covers a comprehensive project analysis workflow: review_project initiates, then eight analyze_* dimensions cover architecture, complexity, docs, testing, dependencies, performance, accessibility, and state management, with follow-up exploration via explain_finding and explore_finding. Knowledge management (find/reindex/repository) is covered. Minor gaps include a missing analyze_security dimension and no tool for viewing project configuration.

Maintenance

ActivityMaintained
ResponsivenessNo issues