Flutter MCP
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation3/5
The tool set has significant overlap and redundancy, with deprecated tools that duplicate the functionality of newer unified tools. For example, flutter_docs, get_flutter_docs, get_pub_package_info, and process_flutter_mentions all serve similar documentation lookup purposes, which could confuse an agent. However, the descriptions clearly indicate which tools are deprecated, helping to mitigate confusion.
Naming Consistency3/5The naming is mixed, with some tools using a consistent verb_noun pattern (e.g., flutter_docs, flutter_search, flutter_status) and others using different conventions (e.g., get_flutter_docs, get_pub_package_info, health_check, process_flutter_mentions, search_flutter_docs). This inconsistency makes the set less predictable, though the names are still generally readable.
Tool Count4/5With 8 tools, the count is reasonable for a documentation-focused server. However, 3 of the tools are deprecated, effectively reducing the active tool set to 5, which feels slightly thin but still adequate for the domain. The number is not excessive, but the inclusion of deprecated tools adds unnecessary bulk.
Completeness4/5The server covers core documentation needs for Flutter/Dart, including lookup, search, and health checks, with no major gaps in functionality. The unified tools (flutter_docs, flutter_search, flutter_status) provide a complete surface for the domain. The deprecated tools do not create gaps but rather redundancy, which does not hinder coverage.
Average 4.3/5 across 8 of 8 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 4 community issues answered or closed in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns health status including service checks and cache statistics, which gives some insight into output behavior. However, it doesn't cover important aspects like whether this is a read-only operation, potential rate limits, authentication needs, or error handling. The description adds basic context but leaves gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that each serve a clear purpose: the first states the tool's function, the second describes the return format. There's no wasted text, though it could be slightly more front-loaded by integrating the return information more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description provides adequate context. It explains what the tool does and what information it returns, which complements the structured data. For a health check tool with these characteristics, the description is reasonably complete though could benefit from more behavioral details given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the input requirements. The description appropriately doesn't discuss parameters since none exist, maintaining focus on the tool's purpose and output. This meets the baseline expectation for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as checking health status of Flutter documentation services with a specific verb ('Check') and resource ('Flutter documentation services'). It distinguishes from some siblings like 'flutter_docs' or 'search_flutter_docs' which are about documentation content rather than health monitoring, though it doesn't explicitly differentiate from 'health_check' which might be a more general sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer this over the 'health_check' sibling or other monitoring tools, nor does it specify prerequisites or exclusions. The usage context is implied as health monitoring but lacks explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses behavioral traits such as parallel searching, structured results with relevance scoring, and documentation hints, but does not cover aspects like rate limits, authentication needs, or error handling. The description adds useful context but is incomplete for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with a clear purpose statement followed by details on behavior, parameters, and returns. Each sentence adds value without redundancy, and the structured format with 'Args:' and 'Returns:' sections enhances readability and efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (search across multiple sources), no annotations, and an output schema present, the description is mostly complete. It covers purpose, behavior, parameters, and return values, but could improve by addressing usage guidelines relative to siblings or more behavioral details like performance or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining each parameter's purpose (e.g., 'query' for search terms, 'limit' for maximum results, 'tokens' for response size) and provides default values and constraints (e.g., 'max: 25', 'min: 500'), which are not in the schema. However, it does not fully detail all semantic nuances, such as query formatting or token usage implications.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Search across multiple Flutter/Dart documentation sources') and resources ('Flutter classes, Dart classes, pub packages, and concepts'), distinguishing it from siblings like 'search_flutter_docs' by emphasizing unified, parallel searching across multiple sources rather than a single documentation set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching Flutter/Dart documentation but does not explicitly state when to use this tool versus alternatives like 'search_flutter_docs' or 'flutter_docs'. It provides context about what it searches but lacks explicit guidance on exclusions or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'on-demand' and 'optional smart truncation,' which adds some behavioral context. However, it lacks details on error handling, rate limits, authentication needs, or what 'smart truncation' entails beyond token limits. The description doesn't contradict annotations, but it's incomplete for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: it starts with the core purpose, then the deprecation warning with reasoning, followed by parameter and return details in a clear format. Every sentence adds value—no redundancy or fluff—making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, 0% schema coverage, no annotations, but has output schema), the description is fairly complete. It covers purpose, deprecation, parameters, and returns. The output schema handles return values, so the description doesn't need to explain them. However, it could improve by addressing behavioral aspects like error cases or usage constraints more thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaningful semantics: it explains that 'class_name' is for Flutter classes like 'Container,' 'library' specifies libraries like 'widgets,' and 'tokens' defines a maximum token limit with default and min values. This goes beyond the bare schema, though it could provide more examples or constraints for parameters like 'library.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get Flutter class documentation on-demand with optional smart truncation.' It specifies the verb ('Get') and resource ('Flutter class documentation'), and distinguishes it from the deprecated status. However, it doesn't explicitly differentiate from siblings like 'flutter_docs' beyond the deprecation note, which is more about replacement than functional distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it states 'DEPRECATED: This tool is deprecated. Please use flutter_docs() instead' and explains why ('better query resolution and unified interface'). This clearly indicates when not to use this tool and names the alternative, which is ideal for agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool does (health checks) and what it returns (health status including individual scraper checks and overall status), which adds useful context. However, it doesn't mention other behavioral traits like potential side effects, error handling, or performance characteristics, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded. The first sentence states the purpose clearly, followed by a deprecation warning and return value note. Every sentence earns its place by providing essential information without waste, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no annotations) and the presence of an output schema (which handles return values), the description is mostly complete. It covers purpose, deprecation, and a high-level overview of returns. However, it could be more complete by explicitly stating that it's a read-only operation or mentioning any dependencies, but this is minor given the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the schema fully documents that no inputs are required. The description doesn't need to add parameter details, and it appropriately doesn't mention any. Since there are no parameters, the baseline is 4, as the description doesn't contradict or add unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check the health status of all scrapers and services.' It specifies the verb ('Check') and resource ('health status of all scrapers and services'), making the action explicit. However, it doesn't distinguish this from sibling tools beyond the deprecation note, which is why it doesn't reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: '**DEPRECATED**: This tool is deprecated. Please use flutter_status() instead.' It clearly states when not to use this tool (it's deprecated) and names the alternative tool (flutter_status), which is ideal for helping an AI agent select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses key behavioral traits: 'smart identifier resolution' that automatically detects identifier types, supports multiple documentation sources, and returns structured data. However, it lacks details on error handling, rate limits, authentication needs, or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. It starts with a clear purpose statement, follows with supporting capabilities, then provides detailed parameter explanations in a logical Args/Returns format. Every sentence adds value with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, smart resolution logic) and the presence of an output schema (which handles return value documentation), the description is nearly complete. It covers purpose, usage context, parameter semantics thoroughly. The main gap is lack of behavioral details like error cases or limitations, but the output schema reduces this burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing comprehensive parameter semantics. It explains 'identifier' with detailed examples and type detection logic, 'topic' with specific use cases and valid values for different identifier types, and 'tokens' with default and minimum values - adding significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'get Flutter/Dart documentation with smart identifier resolution' and specifies it supports Flutter classes, Dart classes, and pub.dev packages. It distinguishes from siblings like 'flutter_search' and 'search_flutter_docs' by emphasizing unified resolution rather than search functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (for fetching documentation with identifier resolution) and implies alternatives through sibling tool names like 'search_flutter_docs' for search operations. However, it doesn't explicitly state when not to use this tool or directly compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes what the tool does (fetches package info including README), mentions a default value and minimum for the 'tokens' parameter, and specifies the return format. However, it doesn't cover potential error conditions, rate limits, or authentication requirements, which would be helpful for a tool accessing external resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. It starts with the core purpose, immediately follows with the critical deprecation notice, then provides clear parameter documentation with examples, and ends with return value information. Every sentence serves a distinct purpose with zero wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a deprecated tool with no annotations but with an output schema, the description provides good contextual completeness. It explains the tool's purpose, provides explicit deprecation guidance with alternatives, documents all parameters with examples, and describes the return format. The main gap is lack of behavioral details like error handling or rate limits, but the deprecation notice reduces the need for comprehensive documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for the lack of parameter documentation in the schema. It successfully explains all three parameters: 'package_name' (with examples like 'provider', 'bloc'), 'version' (optional with examples), and 'tokens' (default and minimum values). This adds significant value beyond the bare schema, though it could provide more context about what 'tokens' actually controls in the response.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get package information from pub.dev including README content.' This specifies the verb ('Get'), resource ('package information from pub.dev'), and key feature ('including README content'). It effectively distinguishes this tool from its sibling 'flutter_docs' by focusing specifically on pub.dev packages rather than general Flutter documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance with a clear deprecation notice: '**DEPRECATED**: This tool is deprecated. Please use flutter_docs() instead with the "pub:" prefix (e.g., flutter_docs("pub:provider")).' This tells users exactly when NOT to use this tool and provides a specific alternative with usage examples, which is ideal for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the scope of sources searched ('Flutter API docs, Dart API docs, and pub.dev packages'), result limits ('top 5-10 most relevant results'), and output format ('brief descriptions'). However, it lacks details on rate limits, error handling, or authentication needs, which would be beneficial for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: it starts with the core purpose, immediately highlights deprecation, then details sources, results, and parameters. Every sentence adds value—no redundancy or fluff—making it efficient for an agent to parse and use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no annotations, but with an output schema), the description is complete enough. It covers purpose, deprecation, sources, result limits, and parameter semantics. The output schema handles return values, so the description doesn't need to detail them, and it addresses key gaps from the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaningful context for both parameters: 'query' is explained with examples (e.g., 'state management'), and 'tokens' specifies default and minimum values ('default: 5000, min: 500'). This goes beyond the schema's basic types, though it could clarify token usage more (e.g., per result or total).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search across Flutter/Dart documentation sources with fuzzy matching.' It specifies the verb ('Search'), resource ('Flutter/Dart documentation sources'), and method ('fuzzy matching'), distinguishing it from siblings like 'get_flutter_docs' (likely retrieval) or 'flutter_search' (its replacement).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it marks the tool as 'DEPRECATED' and directs users to 'use flutter_search() instead,' with reasons ('better filtering and more structured results'). This clearly indicates when not to use this tool and names the alternative, helping the agent avoid deprecated functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes what the tool does (parses mentions and returns documentation), provides examples of supported patterns, and specifies default values and constraints (tokens default: 4000, min: 500). However, it doesn't mention potential limitations like rate limits, error handling, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. It begins with the core purpose, provides important compatibility notes, lists supported patterns with examples, documents parameters clearly, and specifies the return format. Every sentence serves a distinct purpose with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (parsing multiple mention patterns, documentation retrieval), the description provides comprehensive context. It covers purpose, usage guidelines, behavioral details, parameter semantics, and return format. With an output schema present, the description appropriately focuses on explaining what the tool does rather than detailing return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing detailed parameter information. It explains both parameters: 'text: Text containing @flutter_mcp mentions' and 'tokens: Maximum token limit for each mention's documentation (default: 4000, min: 500).' This adds crucial semantic context beyond the bare schema, including purpose, constraints, and default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Parse text for @flutter_mcp mentions and return relevant documentation.' It specifies the verb (parse), resource (text with mentions), and output (documentation). It explicitly distinguishes from siblings by naming flutter_docs and flutter_search as preferred alternatives for new integrations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool versus alternatives. It states: 'This tool is maintained for backward compatibility. For new integrations, consider using the unified tools directly: flutter_docs and flutter_search.' This clearly indicates the tool's legacy status and recommends specific alternatives by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adamsmaka/flutter-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server