Skip to main content
Glama
GraysonCAdams

sophtron-mcp

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools target distinct resources and actions. The main overlap is get_connection_accounts and list_accounts, which both list accounts for a connection, though list_accounts includes filtering and preference overrides. This is just one pair, so mostly distinct.

    Naming Consistency5/5

    All tools use a consistent verb_noun pattern with snake_case, such as connect_bank, poll_job, list_accounts. No mixed conventions.

    Tool Count4/5

    15 tools is at the upper end of the typical range but each tool addresses a specific part of the bank connection lifecycle. One redundancy (get_connection_accounts vs list_accounts) makes it slightly over-scoped.

    Completeness3/5

    The server covers connection creation, polling, MFA, account listing, preferences, transactions, and refresh. However, there is no tool for deleting or disconnecting a bank connection, which is a notable gap in lifecycle management.

  • Average 3.9/5 across 15 of 15 tools scored. Lowest: 3.3/5.

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

  • This repository is archived. Archived repositories automatically receive an F maintenance tier.

  • 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 carries the full burden for disclosing behavior. It only states that it lists accounts, giving no information about read-only nature, error handling, permissions, or return format. The briefness leaves the agent without important behavioral context.

    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 immediately conveys the core purpose with no wasted words.

    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 listing tool, the description covers the basic purpose and the schema covers the parameter. However, the lack of usage differentiation from sibling tools and the absence of behavioral details make it incomplete for full contextual understanding. Overall, it's adequate but with gaps.

    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 single parameter 'userInstitutionId' is fully described in the schema, so the description doesn't need to add parameter details. The description adds nothing beyond the schema, but the schema is complete, so a baseline 3 is appropriate.

    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 states that the tool lists accounts for a specific bank connection, using a specific verb and scope. However, it does not explicitly distinguish this from the sibling tool 'list_accounts', so it stops short of 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 Guidelines3/5

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

    The description implies the tool is for when you have a specific connection, but it does not explicitly state when to use this vs list_accounts or other alternatives, nor does it mention any exclusions or prerequisites.

    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 must carry the full burden. It only states 'search' (implying read-only) but does not disclose return format, matching behavior, pagination, or whether any authentication or prior setup is needed.

    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, direct sentence with no filler. It effectively communicates the core purpose without unnecessary detail, fitting the tool's simplicity.

    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?

    The tool is simple (1 parameter, no nested objects), but the description does not clarify the expected output or how results integrate with other tools (e.g., using an institution ID in connect_bank). It is minimally complete but lacks outcome context.

    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 description coverage is 100%, giving the baseline of 3. The description's 'by name' merely aligns with the schema's 'Bank or institution name' without adding extra meaning or usage details.

    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 ('search') and resource ('banks and financial institutions') with a clear scope ('by name'). It distinguishes itself from sibling tools like list_connections and list_accounts, which are management/list operations.

    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. The description does not mention prerequisites, exclusions, or how it relates to sibling tools such as connect_bank or list_connections.

    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?

    The description discloses that the operation returns a job ID for polling, indicating an asynchronous workflow—a behavioral trait beyond what annotations provide. However, it does not elaborate on MFA requirements, side effects, or failure modes. Annotations (readOnlyHint=false, destructiveHint=false) already cover the basic safety profile, so this extra context raises it slightly, but it remains limited.

    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 two concise sentences. The first sentence clearly states the purpose, and the second adds the essential return behavior. No filler or redundant information.

    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?

    With 4 well-documented parameters, annotations, and the critical return-behavior disclosure (job ID for polling), the description is mostly complete for a simple creation tool. It could mention that polling is done via the sibling 'poll_job' tool or address MFA scenarios, but these are not essential given the context.

    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 description coverage is 100%, so all parameters are already documented with meaningful descriptions. The description's phrase 'with login credentials' adds no new meaning beyond the schema's username/password fields. There is no additional syntax or format guidance, so the baseline of 3 is appropriate.

    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 uses a specific verb ('Create') and resource ('bank connection') with relevant detail ('with login credentials') and return value ('Returns a job ID for polling'). This clearly states the tool's function, but does not explicitly distinguish it from the sibling tool 'connect_bank', which may serve a similar purpose.

    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 like 'connect_bank', nor does it mention prerequisites such as obtaining an 'institutionId' from 'search_institutions'. The usage context is entirely implicit.

    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?

    The readOnlyHint annotation already signals a non-read-only operation, but the description adds no further behavioral detail. It does not mention possible side effects, idempotency, or the consequences of submitting an incorrect response, leaving a significant transparency gap.

    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, focused sentence with no fluff or redundancy. It effectively communicates the essential purpose with illustrative examples, earning full credit for conciseness.

    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?

    While the schema covers parameter details thoroughly, the description lacks context about the tool's role in the MFA challenge flow, such as how it relates to poll_job or what to do after submission. For a write action with no output schema, this absence of workflow context is a notable gap.

    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 has 100% coverage, with each parameter described appropriately (jobId, type with enum, value). The tool description adds no additional semantic value beyond the schema, so the baseline score of 3 is appropriate.

    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 action ('Submit an MFA response') and provides helpful examples such as security question answer, verification code, and captcha. This distinguishes it from sibling tools focused on account/connection management, making its purpose unmistakable.

    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 the tool is used when an MFA challenge must be answered, but it does not explicitly state when to use it versus alternatives like poll_job, nor does it mention the broader workflow (e.g., after receiving a challenge from poll_job). This falls under implied usage without clear exclusions or alternatives.

    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?

    Annotations already declare readOnlyHint=true, so the description need not repeat that. It adds useful context about default filtering and including hidden accounts. However, it does not disclose other behavioral traits such as pagination, ordering, or any prerequisites beyond the parameter, 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/5

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

    The description is two concise sentences. The first sentence states the primary action, and the second explains the optional parameter. No filler or redundancy, and it is front-loaded with the verb and resource.

    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 (2 params, 1 required, no output schema) and the readOnlyHint annotation, the description adequately covers purpose and behavior. It explains the default selection behavior and how to include hidden accounts. It could mention return format or prerequisites, but these are not critical for a basic list operation.

    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 description coverage is 100%, so parameters are already documented. The description adds minimal extra meaning: it rephrases includeAll ('show hidden accounts too') and gives context that the tool operates on a bank connection. This adds little beyond the schema.

    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 states the tool lists accounts for a bank connection, with a specific verb and resource. It mentions default behavior and the includeAll option. However, it doesn't explicitly distinguish from the sibling tool get_connection_accounts, so it lacks full sibling differentiation.

    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 provides implicit usage context by explaining the default selected-account view and the includeAll option. It does not explicitly state when to prefer this tool over alternatives like get_connection_accounts or when not to use it, so guidance 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.

  • Behavior3/5

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

    Annotations already convey the safety profile (readOnlyHint=false, destructiveHint=false). The description adds a key behavioral trait: it opens a UI rather than performing direct data operations, but it does not disclose what happens after the UI opens (e.g., side effects, interaction requirements, or response format). This is adequate but not rich, given annotations cover the mutation concern.

    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 that directly states the action and its purpose. There is no redundant information or extraneous detail, making it highly 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 has no parameters and no output schema, the description is mostly complete for what the tool does. However, it does not specify any return values or post-action behavior, which could be relevant in an MCP context, but for a UI-opening tool the description is sufficient.

    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 input schema has zero parameters, and the description implies no arguments are needed by stating a simple UI-opening action. With 0 params, the baseline is 4; the description adds no conflicting information, so this is appropriate.

    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 action: 'Open the account management UI' with a specific resource ('your linked bank accounts') and the scope of activities ('select, rename, and organize'). This distinguishes it from sibling tools like rename_account or list_accounts which perform individual operations, whereas manage_accounts opens a higher-level UI.

    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 such as rename_account or list_accounts. It does not clarify whether direct operations should invoke this UI or the specific sibling tools, leaving the agent to infer the appropriate usage context.

    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?

    The annotations declare readOnlyHint: false, indicating a write operation. The description adds that the operation affects the active list, but does not disclose persistence, permission requirements, or reversibility beyond this basic behavior. While the bar is lower due to annotations, the description provides minimal additional context.

    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 redundant information. It achieves maximum efficiency by stating the core function and scope without wasted words.

    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?

    This is a simple tool with three well-documented parameters and no output schema. The description explains the core function and scope ('active list') sufficiently for an agent to select and invoke it. However, it does not mention return values or prerequisites, which is a minor gap given the low complexity.

    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 descriptions cover all three parameters comprehensively, including the semantics of 'selected' (true to show, false to hide). The description does not add parameter information beyond what the schema already provides, so the baseline score of 3 is appropriate.

    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 with a specific verb ('Show or hide') and resource ('a bank account from the active list'). It effectively distinguishes this tool from siblings like rename_account or save_account_preferences by focusing on visibility toggling.

    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 the tool is for toggling visibility but does not explicitly state when to use it instead of alternatives such as save_account_preferences or rename_account. There is no mention of exclusions or when-not conditions, leaving usage somewhat implied.

    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?

    The readOnlyHint annotation already declares the operation as safe. The description adds the default 90-day window, which is also present in the schema defaults, so little additional behavioral context is provided. No pagination or result format is mentioned, but with annotations the bar is lower.

    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?

    A single, information-dense sentence. It front-loads the purpose and immediately states the default behavior, with no filler words.

    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?

    For a simple read-only transaction retrieval tool with fully documented parameters and a readOnlyHint, the description covers the core purpose and default behavior. It doesn't specify the response shape, but the absence of an output schema lowers the expectation, and the tool's purpose is unambiguous.

    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 description coverage is 100%, so all three parameters are fully documented. The description does not add additional meaning beyond the schema; it only mentions the account and default range, which the schema already covers.

    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 the specific verb 'Get' with resource 'transactions for a bank account', clearly distinguishing it from sibling tools like list_accounts or get_connection_accounts. The default date range adds precision.

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

    Usage Guidelines4/5

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

    The description provides clear context (retrieves transactions for a bank account, defaults to last 90 days) but does not explicitly name alternatives or when-not-to-use scenarios. Since no sibling tool handles transactions, the context is sufficient.

    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?

    Annotations declare readOnlyHint=false, indicating a write operation. The description adds valuable behavioral context by explaining that passing null restores the original name, which goes beyond the annotation. It does not mention side effects or permissions, but the annotation covers the core mutating nature.

    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 two concise sentences that immediately state the action and include a crucial usage hint. Every word earns its place, with no redundancy or unnecessary detail.

    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?

    For a simple rename operation with three clearly described parameters and no output schema, the description sufficiently covers the tool's function and the null clearing behavior. It does not explain expected responses, but that is acceptable given the simplicity and the write-operation annotation.

    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 description coverage is 100%, including the null semantics for customName already documented in the schema. The description repeats the null behavior but adds no new parameter-specific details, so it appropriately meets the baseline for high schema coverage.

    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 specific verbs 'Set or clear' and identifies the exact resource 'custom display name for a bank account', clearly distinguishing it from account management and connection tools. The null behavior is also mentioned, which clarifies the full scope of the action.

    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 provides a usage hint about passing null to restore the original name, but it does not explicitly state when to use this tool versus alternatives like 'manage_accounts' or 'toggle_account'. There are no exclusions or alternative recommendations, so the agent must infer context from the tool name and sibling list.

    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?

    The readOnlyHint annotation already establishes the safe, non-mutating nature of the tool. The description adds context about the contents of the preferences (selection, custom names) and their association with a connection, but does not disclose any other behavioral traits (e.g., error handling, missing preferences).

    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, well-structured sentence that front-loads the action (Read) and packs in the key details (what preferences, for a connection) without any wasted words.

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

    Completeness5/5

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

    Given the simplicity of the tool (one parameter, simple read operation, no output schema), the description adequately explains what the tool does and what will be returned (the preferences, including selection and custom names). It is complete for an agent to decide and invoke 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?

    The input schema has full description coverage for the single parameter (userInstitutionId), so the description does not need to compensate heavily. The phrase 'for a connection' subtly suggests that the parameter identifies a connection, but this is not explicit or additive beyond the schema description.

    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 verb 'Read' and the resource 'stored account preferences', with specific detail about what kind of preferences (selection, custom names) and scope (for a connection). This distinguishes it from sibling tools like save_account_preferences and list_accounts.

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

    Usage Guidelines4/5

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

    The description provides clear context that this is a read-only retrieval of preferences for a connection, which implies its use case relative to save_account_preferences. However, it does not explicitly name alternatives or exclusion criteria, so it falls short of a 5.

    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?

    Annotations indicate openWorldHint=true and non-readOnly, but the description adds meaningful detail: it covers searching institutions, credential entry, and MFA verification. This clarifies the interactive, multi-step nature beyond what annotations alone convey, though it doesn't disclose post-completion 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?

    Two sentences, front-loaded with the active verb 'Launch', and each sentence earns its place by describing the wizard's steps. No redundant or vague wording.

    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?

    For an interactive tool with no output schema and no parameters, the description covers the main phases (search, credentials, MFA) well. However, it omits what happens after completion (e.g., creating a connection or returning a status), leaving a minor gap in outcome transparency.

    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 input schema has zero parameters, and schema description coverage is 100%. Baseline for a 0-parameter tool is 4. The description does not need to explain parameters; it adds contextual flow 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?

    Description clearly states a specific action: 'Launch an interactive wizard to connect a new bank or credit card account.' It distinguishes from siblings like create_connection by emphasizing the interactive, UI-driven nature, making it unique.

    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 'interactive wizard' and 'Renders a guided UI' imply this is for user-facing flows, contrasting with programmatic tools. However, there is no explicit guidance on when NOT to use this tool or mention of alternative like create_connection, so the 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.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, and the description adds useful behavioral detail about local storage overlays (logo, selected account count) and account scoping, going beyond just the read-only flag.

    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?

    A single, concise sentence that front-loads the action and resource, includes relevant details about overlays, and avoids any redundant or filler text.

    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 (0 params, no output schema), the description adequately conveys what is listed and the overlay detail. It could mention pagination or return format, but this is not critical for basic usage.

    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 schema has zero parameters, so the baseline is 4. The description does not need to document parameters; it only adds context about returned overlay fields, which is sufficient given the lack of params.

    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?

    Description clearly states the action (list) and resource (linked bank connections/UserInstitutions), defines scope as 'for this account', and distinguishes itself from sibling tools like list_accounts and get_connection_accounts by focusing on connections and mentioning overlays.

    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 context (listing linked bank connections) but does not explicitly mention when to use this tool over alternatives like search_institutions or get_connection_accounts. No alternatives or exclusions are provided.

    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?

    Annotations only provide readOnlyHint: false, which the description aligns with by saying 'Save.' The description adds the contextual detail that this is called by the wizard, but it does not disclose additional behavioral traits such as whether existing preferences are overwritten, idempotency, or error conditions. Since the annotation already implies mutation, the added value is moderate.

    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 two sentences long, front-loaded with the verb and resource, and immediately provides the call context. 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/5

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

    Given the tool's moderate complexity (6 parameters, nested accounts array) and no output schema, the description provides essential context: what it saves and when it is invoked. It could mention side effects like overwriting existing preferences, but for a save operation in a wizard flow, the current description is reasonably complete.

    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?

    While the schema has 100% description coverage, those descriptions are generic (e.g., 'Account preferences', 'Institution ID'). The tool description adds semantic meaning by explaining that the tool saves 'account selection and custom names,' which directly clarifies the purpose of the `selected` and `customName` fields. This goes beyond the schema's bare parameter names.

    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 ('Save') and resource ('account preferences'), and clearly specifies what is saved ('account selection and custom names'). It effectively distinguishes this from sibling tools like get_account_preferences, rename_account, and toggle_account by indicating it's the write operation for preferences after connecting a bank.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use the tool: 'Called by the wizard after the user configures their accounts' and 'after connecting a bank.' However, it does not explicitly state when not to use it or mention alternatives, so it lacks explicit exclusions or alternative references.

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

  • Behavior5/5

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

    With no annotations, the description carries the full burden and does so excellently. It discloses polling interval, MFA field appearance, completion condition (LastStatus 'Completed'), success/failure semantics for SuccessFlag, and the edge case that refresh jobs may never set SuccessFlag. This goes well beyond a simple 'check status' and provides actionable operational detail.

    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 four concise sentences, each carrying essential information with no redundancy. It is front-loaded with the purpose, then adds operational details. Every sentence earns its place, making it highly efficient.

    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 a single parameter, no output schema, and no annotations, the description covers the most critical aspects: how to poll, when to switch to answer_mfa, and how to interpret completion. It could additionally mention timeout/error handling, but for a polling tool it is largely complete. The minor gap keeps it from a 5.

    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 already fully describes jobId as 'Job ID from create_connection or refresh_account' (100% coverage). The description adds only the context of 'connection or refresh job' without additional parameter-specific details. Per the baseline for high schema coverage, a score of 3 is appropriate.

    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 purpose: 'Check the status of a connection or refresh job.' This is a specific verb+resource pairing that distinguishes it from siblings like create_connection or answer_mfa. It also references job types and MFA handling, making its scope unmistakable.

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

    Usage Guidelines4/5

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

    The description provides explicit usage guidance: poll every 4-5 seconds, and if MFA fields appear, use answer_mfa instead. It also gives clear completion criteria. However, it does not explicitly state when not to use this tool, only when to switch to an alternative, so it falls just short of 'explicit when/when-not/alternatives'.

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

  • Behavior5/5

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

    Beyond the annotation readOnlyHint=false, the description reveals critical behavioral traits: the operation is asynchronous (returns a job ID), requires polling, may trigger MFA, and must be polled until SuccessFlag is true or false. This goes well beyond the simple mutation flag and prepares the agent for the non-immediate nature of the operation.

    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 three sentences long and every sentence earns its place: the first states the action and return, the second gives critical polling and MFA instructions, and the third defines the completion condition. It is front-loaded with the core purpose and includes necessary caveats without unnecessary verbosity.

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

    Completeness5/5

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

    For a tool with one parameter and no output schema, the description fully covers what the agent needs: the action, the returned job ID, the polling workflow, MFA handling, and the termination condition. It effectively references sibling tools (poll_job, answer_mfa) to complete the process, making it self-sufficient for correct invocation.

    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 schema already covers accountId with a description 'Account ID to refresh,' and the description does not add extra detail about the parameter. Since schema description coverage is 100%, the baseline of 3 is appropriate—no additional semantic value is provided beyond what the schema already states.

    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 verb and resource: 'Trigger a fresh data pull from the bank for a specific account.' It also distinguishes itself from sibling tools by focusing on refreshing an existing account rather than creating or managing accounts. The explicit mention of returning a job ID further clarifies the tool's purpose.

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

    Usage Guidelines4/5

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

    The description provides strong usage guidance by instructing the agent to poll the job with poll_job every 4-5 seconds, and to use answer_mfa if MFA fields appear. It implicitly distinguishes from alternatives by specifying 'for a specific account' and comparing to a new connection, though it does not explicitly name alternatives like create_connection. The polling and MFA instructions are clear and actionable.

    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

sophtron-mcp MCP server

Copy to your README.md:

Score Badge

sophtron-mcp 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/GraysonCAdams/sophtron-mcp'

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