Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct resource and action: listing items, retrieving a single item, fetching balances, listing transactions, syncing transactions, and checking health. There is no overlap in their purposes, and the descriptions make the boundaries clear.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern: list_items, get_item, get_balances, list_transactions, sync_transactions, check_item_health. No mixed conventions or vague verbs.

    Tool Count5/5

    Six tools is a well-scoped set for a Plaid MCP server. Each tool covers a core operation needed to interact with linked items, balances, transactions, and health, without unnecessary redundancy.

    Completeness4/5

    The set covers listing, retrieving, and updating (via sync) core Plaid data, along with health checks. Minor gaps exist (e.g., no explicit unlink item or transaction detail tool), but the main workflows are fully supported.

  • Average 3.3/5 across 6 of 6 tools scored. Lowest: 2.6/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 5 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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.json to 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

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description must disclose behavioral traits, but it only mentions the default date range. It omits pagination behavior, filtering semantics (all, item), and whether the operation is read-only (though 'list' implies it). This leaves significant behavioral gaps.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is one sentence and front-loaded with no redundant words. However, given the tool's complexity (six parameters), it is too short to be 'appropriately sized' — it under-specifies rather than being merely concise.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has six optional parameters, no output schema, and no annotations. The description covers only the date-range aspect and default, leaving item/all filtering and pagination unexplained. This is insufficient for effective tool selection and invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does 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 explains startDate and endDate via 'date range' and the default, but leaves all, item, count, and offset entirely undocumented. For six parameters, this is a major gap.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly identifies the action (list transactions) and the date-range scope, distinguishing it from sibling list_items and get_balances. However, it does not mention the optional filtering parameters (all, item) or pagination, so it lacks explicit differentiation from potential variants.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like get_balances or sync_transactions. The description only notes the default date range but includes no exclusions, prerequisites, or alternative recommendations.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries full burden for behavioral disclosure. It mentions cursor-based sync but fails to specify side effects (e.g., database updates), input requirements (e.g., needing an item), return values, or authentication needs. This is insufficient for an agent to understand the tool's behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence that efficiently conveys the core action. However, it lacks detail that would be valuable, though it does not waste words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (cursor-based sync with Plaid) and the lack of annotations and output schema, the description is far from complete. It does not explain the sync process, cursor management, or parameter roles, making it inadequate for effective use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description provides no parameter information. All four parameters (all, item, limit, pageSize) are left unexplained, forcing the agent to guess their semantics.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool syncs transactions incrementally using Plaid's cursor-based sync, distinguishing it from list_transactions which likely performs a one-time retrieval. The verb 'sync' and resource 'transactions' provide a clear purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage for incremental syncing but does not explicitly state when to use this tool over list_transactions or other siblings. No exclusions or alternative recommendations are provided, leaving the agent to infer the intended context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/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, but it only states the high-level action. It does not reveal whether the operation is read-only, what errors might occur, how it handles partial failures, or any side effects.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that is front-loaded with the main purpose and contains no extraneous words. It is appropriately sized for the simple tool.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the lack of annotations, output schema, and detailed parameter semantics, the description is incomplete. The agent cannot infer return structure, error behavior, or how to handle the two optional parameters correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, and the description partially compensates by indicating 'one or all' which maps loosely to the 'item' and 'all' parameters. However, it does not explain parameter interplay, default behavior, or value formats, leaving significant ambiguity.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb 'Get' and identifies the resource 'current balances' with a clear scope ('one or all linked Plaid items'). This clearly distinguishes it from sibling tools like list_transactions or get_item, which deal with different data.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 does not mention any conditions, exclusions, or comparisons to sibling tools, leaving the agent without context for tool selection.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description must disclose behavioral traits. The description only states the purpose (fetching an item and its accounts) and provides no information about side effects, permissions, error cases, or read-only nature. This is minimal and insufficient for full transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that immediately conveys the core purpose. It has no filler or redundant content, making it appropriately concise and front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the low complexity (one parameter, no output schema), the description provides some return context by mentioning accounts, but it lacks explanation of the parameter format and any behavioral details. It is minimally viable but has gaps in completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%; the description does not explain what the 'item' parameter represents (e.g., an ID or identifier). The phrase 'one linked Plaid item' suggests the parameter maps to the item to fetch, but this is ambiguous and adds little beyond the schema's bare 'type: string'.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool fetches a single linked Plaid item and its accounts, using a specific verb ('Get') and resource ('one linked Plaid item'). This distinguishes it from siblings like list_items (plural) and get_balances (which likely returns balances rather than accounts).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The phrase 'one linked Plaid item' implies a use case for retrieving a specific item rather than listing all items, but it does not explicitly state when to use this tool over alternatives or provide any exclusions. Usage context is implied rather than explicit.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/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 only states the high-level purpose without explaining whether the operation is read-only, what side effects might occur, or what the output structure looks like. 'Healthy' is not defined in terms of response content or status codes.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence that front-loads the action ('Check') and clearly conveys the tool's purpose. Every word adds meaning, with no redundancy or filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple one-parameter tool, the description covers the basic purpose and parameter scope, but it lacks information about return values, the meaning of 'healthy' in response terms, and any potential errors or edge cases. Since no output schema exists, more detail on expected results would improve completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema provides only a bare 'item' string with no description and 0% coverage. The description partially compensates by clarifying that the parameter is optional and can target one specific item or all items, adding semantic meaning beyond the schema. However, it does not specify format, allowed values, or how to select 'all' precisely.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's function: checking whether one or all linked Plaid items are healthy or need re-authentication. The verb 'check' is specific and the resource 'linked Plaid items' is distinct from sibling tools like list_items or get_balances, which focus on listing or retrieving other data.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The phrase 'one or all' implies the tool can be used for a single item or all items, giving some usage context. However, there are no explicit instructions on when to choose this tool over siblings like get_item or sync_transactions, nor any exclusions or prerequisites. Usage is only implied from the purpose.

    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, the description carries the full transparency burden. It discloses the read-only nature (via 'List') and the scope ('every Plaid item'), which is a clear behavioral statement. However, it does not mention return format, pagination, or error conditions, but for a simple listing operation, the core behavior is adequately conveyed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence with no filler. Every word contributes to the meaning, making it maximally concise and well-structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (no parameters, no output schema, no annotations), the description sufficiently explains what is returned (a list of all Plaid items) and the source scope. It doesn't elaborate on return values, but that is not necessary given the tool's straightforward nature. It scores slightly below 5 because it leaves some implicit assumptions about the 'item' structure.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so schema coverage is trivially 100%. The description doesn't need to elaborate on parameters since there are none. The baseline for zero-parameter tools is 4, and the description adds no misleading information.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('List') and resource ('every Plaid item'), clearly distinguishing it from siblings like get_item (singular item) and list_transactions (transactions). The scope 'every' and source 'via the plaid CLI' provide unambiguous intent.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description states what the tool does but gives no guidance on when to use it versus alternatives such as get_item or list_transactions. No exclusions, prerequisites, or context for choosing this tool over the siblings.

    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

plaid-cli-mcp-server MCP server

Copy to your README.md:

Score Badge

plaid-cli-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

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/nicholasg-dev/plaid-cli-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server