Skip to main content
Glama
BrainDAO

Upbit MCP Server

by BrainDAO

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose targeting specific resources and actions in the Upbit cryptocurrency exchange domain. For example, GET_ORDER retrieves a single order while GET_ORDERS lists multiple orders, and similarly distinct tools exist for deposits, withdrawals, and market data with no overlapping functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern using uppercase snake_case (e.g., CREATE_ORDER, GET_ACCOUNTS, LIST_DEPOSITS). The naming convention is perfectly uniform throughout the entire set with clear action prefixes (GET, CREATE, LIST, CANCEL) followed by specific resource nouns.

    Tool Count4/5

    With 19 tools, the count is slightly high but reasonable for a comprehensive cryptocurrency exchange API. It covers account management, trading, deposits, withdrawals, and market data - all essential areas for the domain. A few tools could potentially be consolidated (like GET_DEPOSIT and LIST_DEPOSITS), but overall the scope justifies the number.

    Completeness5/5

    The tool set provides complete CRUD/lifecycle coverage for the Upbit exchange domain. It includes creation (CREATE_ORDER, CREATE_WITHDRAWAL), retrieval (GET_ORDER, GET_ACCOUNTS), listing (LIST_DEPOSITS, LIST_WITHDRAWALS), cancellation (CANCEL_ORDER, CANCEL_WITHDRAWAL), and comprehensive market data access. No obvious gaps exist for core exchange operations.

  • Average 2.9/5 across 19 of 19 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • 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?

    The only behavioral note is 'requires private API', which is authentication-related. It does not disclose that the withdrawal is destructive (funds moved), irreversible, or requires confirmations. Annotations are absent, so the description fails to provide critical safety information.

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

    Conciseness2/5

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

    The description is a single sentence, but it is under-specified rather than concise. It omits essential details, so brevity comes at the expense of usefulness. The structure provides no front-loaded key points beyond the title.

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

    Completeness1/5

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

    Given 6 parameters, no output schema, no annotations, and siblings handling withdrawal lifecycle, the description is grossly incomplete. It does not mention success/error responses, processing time, or constraints. An agent cannot reliably invoke this tool.

    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 coverage is 0%, and the description adds no parameter explanations. With 6 parameters (4 required), an agent needs semantics for currency, amount, address, net_type, etc. The description is entirely silent, making parameter invocation guesswork.

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

    Purpose3/5

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

    The description identifies the action as requesting a withdrawal, but is vague. It does not specify the type of digital asset or the context beyond 'requires private API', which is more authentication info than purpose. It avoids tautology but lacks specificity.

    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 on when to use this tool versus siblings like CANCEL_WITHDRAWAL. The description mentions 'requires private API' but does not clarify prerequisites or scenarios. An agent has no context to decide between alternatives.

    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 description discloses that the tool requires a private API, which is a behavioral note. However, it lacks details on side effects, error handling, rate limits, or whether the order creation is synchronous. For a mutation tool, this is insufficient.

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

    Conciseness2/5

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

    The description is very concise (one sentence), but at the expense of informativeness. It is under-specified and does not earn its place by providing crucial details.

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

    Completeness1/5

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

    Given the tool has 8 parameters, no output schema, and no annotations, the description is woefully incomplete. It fails to explain return values, required fields beyond the schema, or behavioral nuances.

    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?

    The description does not mention any parameters, despite 8 parameters in the schema with 0% coverage. It adds no meaning beyond the tool name, leaving the agent to rely solely on the input schema, which is minimal.

    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 action (Create) and resource (Upbit order), distinguishing it from siblings like CANCEL_ORDER or CREATE_WITHDRAWAL. The mention of 'requires private API' adds context, making the purpose immediately understandable.

    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 on when to use this tool versus alternatives (e.g., when to use limit vs market order). The only usage hint is that it requires a private API, but there is no mention of prerequisites or situational 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?

    The description only mentions that the tool requires a private API, implying authentication. No annotations are present, so the description should disclose behavioral traits such as pagination, rate limits, or state filtering behavior, which are absent.

    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 very brief (one sentence) and front-loaded with the primary action. While concise, it is under-specified for a tool with 4 parameters and no output schema, making it less useful.

    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 complexity (4 parameters, no annotations, no output schema), the description is incomplete. It lacks details on filtering, pagination, and return structure, which are essential for correct usage.

    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?

    With 0% schema description coverage, the description should explain the parameters (market, state, page, limit). It does not mention any parameter meaning, default values, or usage. The agent must rely solely on the parameter names and enums, which is insufficient.

    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 verb 'List' and resource 'Upbit orders', indicating it retrieves a list of orders. It also notes that a private API key is required, which differentiates it from public endpoints. However, it does not specify whether it lists open orders, order history, or all types, which could add clarity.

    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_ORDER (single order), CANCEL_ORDER, or CREATE_ORDER. There is no mention of use cases, prerequisites, or exclusions.

    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 must convey behavioral traits. It mentions 'requires private API' (authentication), but omits whether the operation is read-only, pagination behavior, rate limits, or 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.

    Conciseness3/5

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

    The description is short and front-loaded, but the extreme brevity sacrifices essential details, making it incomplete rather than concise.

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

    Completeness1/5

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

    Given 0% schema coverage, no output schema, and 4 parameters, the description is grossly insufficient. It does not explain what deposits are listed, filtering, pagination, or output structure.

    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%, yet the description provides no explanation for the 4 parameters (currency, state, page, limit). The agent cannot infer valid values or usage patterns.

    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 states the action (list) and resource (deposits) clearly. However, it lacks differentiation from sibling tools like GET_DEPOSIT or LIST_WITHDRAWALS, leaving ambiguity about the tool's specific scope.

    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 on when to use this tool versus alternatives. The only context is 'requires private API,' which hints at authorization but does not explain conditions for use or provide examples.

    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. It mentions privacy requirement but does not disclose whether it is read-only, idempotent, error behavior, or rate limits. Minimal information beyond the basic purpose.

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

    Conciseness2/5

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

    The description is very short but under-specified for a tool with no parameter documentation. It front-loads the verb but sacrifices necessary detail; it is too terse to be effective.

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

    Completeness1/5

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

    Given two undocumented parameters, no output schema, and no annotations, the description provides insufficient context for correct invocation. The agent cannot infer parameter meaning, return format, or error scenarios.

    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 does not explain the two parameters (uuid, identifier). Their roles and usage are entirely ambiguous, forcing the agent to guess or rely on external knowledge.

    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 verb 'Get', the resource 'single Upbit order', and the requirement for private API. It is distinct from siblings like GET_ORDERS (plural) but could more explicitly differentiate from other single-resource tools like GET_DEPOSIT.

    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 prerequisite (private API) but lacks explicit guidance on when to use this tool versus alternatives like GET_ORDERS for listing or CANCEL_ORDER for modification. Usage context is implied rather than stated.

    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 the full burden for behavioral traits. It states the tool is a creation action requiring private API, but fails to disclose potential side effects (e.g., whether it overwrites existing addresses), rate limits, or what happens on failure. This is insufficient for safe agent invocation.

    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 of 8 words, front-loading the core action. While efficient, it sacrifices necessary detail; a slightly longer description would improve completeness without sacrificing conciseness.

    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 no output schema and no annotations, the description fails to provide adequate context. It does not explain the return value, error conditions, or any constraints beyond the private API requirement. The two parameters are also left undocumented, making the tool under-specified.

    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%, meaning the input schema provides no parameter descriptions. The tool description does not compensate: it omits any explanation of the 'currency' and 'net_type' parameters, such as allowed values, formats, or examples. This leaves the agent unable to construct valid inputs.

    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 it requests creation of a deposit address, matching the verb and resource. It distinguishes itself from sibling tools like GET_DEPOSIT_ADDRESS and LIST_DEPOSIT_ADDRESSES by indicating it creates rather than retrieves. However, it could be more explicit about its specific role in the deposit workflow.

    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 notes 'requires private API' but provides no guidance on when to use this tool versus alternatives like GET_DEPOSIT_ADDRESS or LIST_DEPOSIT_ADDRESSES. There is no mention of prerequisites, limitations, or when not to use it, leaving the agent without context for 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?

    No annotations are provided, and the description does not disclose behavioral traits beyond the obvious read operation. The parenthetical '(private)' is ambiguous and does not clarify side effects, permissions, or rate limits.

    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 very concise at one sentence, which is efficient. However, it sacrifices clarity for brevity, missing opportunities to front-load key usage details.

    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 no output schema, the description should indicate what the tool returns (e.g., an address string). It also lacks context on how this fits with siblings like GET_DEPOSIT or GET_ACCOUNTS, making the tool less discoverable.

    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?

    The description mentions 'currency' and 'net_type (private)' but provides no additional meaning beyond the schema names. With 0% schema coverage, the description fails to explain valid values or formats, leaving the agent to guess.

    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 'Get a single deposit address' with specific parameters 'currency and net_type'. This distinguishes it from LIST_DEPOSIT_ADDRESSES which lists multiple addresses. However, it does not explain what a deposit address is, leaving some ambiguity.

    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 CREATE_DEPOSIT_ADDRESS or LIST_DEPOSIT_ADDRESSES. The context of 'private' net_type is unclear, and there is no mention of prerequisites or when to prefer this over other tools.

    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 exist, and the description does not disclose behavioral traits such as whether this is a read-only operation, required permissions, rate limits, or side effects. The term '(private)' hints at access restrictions but lacks clarity.

    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 a single sentence that is front-loaded with the core action, but it is overly terse and sacrifices necessary detail. It earns its place but could be expanded without becoming verbose.

    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 output schema and annotations, the description fails to cover return values, error handling, or how 'availability information' is structured. Context with sibling tools is not leveraged to clarify usage.

    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%, yet the description adds no explanation for the two parameters ('currency' and 'net_type'). It does not clarify their formats, allowed values, or purpose beyond what the schema fields imply.

    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 tool as retrieving deposit availability information for a currency, with the '(private)' qualifier. It specifies the resource ('deposit availability') and differentiates from other deposit tools like LIST_DEPOSITS or GET_DEPOSIT, though the term 'chance' remains somewhat ambiguous.

    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 sibling tools like GET_DEPOSIT or LIST_DEPOSITS. The description lacks any context about prerequisites, alternatives, or conditions when this tool is appropriate.

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

  • Behavior1/5

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

    No annotations provided, and the description does not disclose any behavioral traits such as pagination, recency limits, or rate limiting. The agent has no information about side effects or constraints.

    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 concise but lacks sufficient detail to be fully effective. It is front-loaded but does not earn its place by adding value beyond the bare minimum.

    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 simplicity of the tool (single required parameter, no output schema), the description is minimally complete. It lacks details on output format, pagination, and fields returned, which are important for a trading data tool.

    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 100% with a clear description for the market parameter. The tool description adds no additional meaning beyond the schema, so baseline score 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 clearly states the verb 'Get' and resource 'recent trades for a market'. It distinguishes from siblings like GET_ORDERBOOK and GET_TICKER by specifying trades rather than order book or ticker. However, it could be more specific about the scope (e.g., public market data vs user-specific).

    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 on when to use this tool versus alternatives like GET_TICKER or GET_ORDERBOOK. Lacks context for when it is appropriate or any 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, so description must carry burden. It only states 'requires private API' but does not disclose pagination, sorting, or effect of state parameter on behavior.

    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?

    Single short sentence, no fluff, but could be more informative without losing conciseness.

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

    Completeness1/5

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

    With 4 parameters, no output schema, no annotations, and no parameter descriptions, the description is severely incomplete for an agent to use effectively.

    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 description adds no information about the meaning or allowed values for currency, state, page, or limit parameters.

    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 lists withdrawals, a specific verb+resource. It distinguishes from siblings like LIST_DEPOSITS and CANCEL_WITHDRAWAL.

    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?

    Only mentions 'requires private API', which is a prerequisite, but no guidance on when to use it versus alternatives like GET_WITHDRAWAL, and no exclusion criteria.

    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?

    Only mentions 'requires private API'. No disclosure of effects (e.g., irreversible, potential fees, or status changes). With no annotations, more detail 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.

    Conciseness4/5

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

    Single sentence is efficient and front-loaded. Could include more detail without being verbose, but still concise.

    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?

    Adequate for a simple tool with one parameter and no output schema, but lacks behavioral and usage context. Cannot fully compensate for missing annotations.

    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 has 0% description coverage. The description does not explain that 'uuid' is the order identifier. While inferable, it adds no value beyond the schema definition.

    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?

    Clearly states the verb 'Cancel' and resource 'existing Upbit order', distinguishing it from siblings like CREATE_ORDER and GET_ORDER.

    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 on when to use or alternatives. Does not mention prerequisites like order state (e.g., must not be already canceled) or context for when cancellation is appropriate.

    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. It fails to explain what 'snapshot' entails (e.g., depth, aggregation, top levels). No mention of data freshness, rate limits, or whether it's a full or partial orderbook.

    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 sentence with no extraneous words. It is appropriately sized but could benefit from slightly more context without losing conciseness.

    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 no output schema, the description should explain what the response contains (e.g., bids, asks, depth level). It is incomplete as a market data tool, lacking details on format or content.

    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 100% with the parameter description already containing an example. The tool description adds no additional meaning beyond what the schema provides, meeting the baseline.

    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 ('Get') and resource ('orderbook snapshot') with the required parameter ('market'). It distinguishes from siblings like GET_ORDER, GET_ORDERS, and GET_TRADES which serve different purposes.

    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 vs alternatives. The description does not mention context such as real-time vs historical, or comparison to GET_TRADES or GET_TICKER.

    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. It simply says 'Get' without clarifying that it is a read-only, non-destructive operation. No mention of rate limits, data freshness, or other behavioral traits.

    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, clear sentence that is front-loaded and contains no extraneous words. Every word earns its place.

    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 no output schema and no annotations, the description is minimal. It does not describe return values (e.g., price, volume) or pagination behavior, but the tool name and standard ticker format partly compensate. Adequate but could be more informative.

    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%, with the 'market' parameter already documented with an example. The description reinforces 'for a single market' but adds no new semantic detail beyond the schema. Baseline of 3 applies.

    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 states 'Get the latest ticker data from Upbit for a single market', clearly identifying the verb (get), resource (ticker data), and scope (single market). It is distinct from siblings like GET_ORDERBOOK or GET_TRADES, though it could be more explicit about what 'ticker data' includes.

    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 on when to use this tool versus alternatives (e.g., for multiple markets you would need multiple calls). No exclusions or context provided about prerequisites or suitable scenarios.

    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. It reveals the need for private API access but omits critical behavioral traits: whether cancellation is immediate, if funds are returned, if it is irreversible, or error conditions.

    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?

    Single sentence, directly front-loaded with action and resource. No superfluous 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?

    Despite low schema coverage and no output schema, the description is minimal. It lacks details on success/failure responses, idempotency, or side effects, which are important for a financial operation.

    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%. The description only reiterates 'by UUID' without adding format, source, or constraints. The uuid parameter remains under-documented.

    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 ('Cancel'), the resource ('digital asset withdrawal'), and the identifier ('by UUID'). It distinguishes from sibling tool CANCEL_ORDER by specifying 'digital asset withdrawal'.

    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 mentions 'requires private API' hinting at authentication, but does not define when to use this tool versus alternatives like reversing a deposit or modifying an order. Usage is implied but not explicitly guided.

    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 cover behavioral traits. It only mentions 'requires private API' but does not disclose whether the operation is read-only, what happens on error (e.g., invalid UUID), or any rate limits. This is insufficient for a tool that likely queries sensitive data.

    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 wasted words. It efficiently conveys the core purpose and a key constraint (private API).

    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?

    For a tool that retrieves a single withdrawal, the description lacks any hint about the return value or output structure. Without an output schema, the agent cannot infer what data will be provided. Error handling or prerequisite details are also missing, making the description incomplete for practical use.

    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 one parameter (uuid) with no description (0% coverage). The description mentions 'by UUID' but does not explain what constitutes a valid UUID or its format. Given the low schema coverage, the description partially compensates but adds limited semantic value.

    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 ('Get'), the resource ('withdrawal'), and the identifier ('by UUID'). It also notes a requirement ('requires private API'). This distinguishes it from sibling tools like LIST_WITHDRAWALS and CREATE_WITHDRAWAL.

    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 mentions that the tool requires a private API, implying authentication context. However, it does not explicitly state when to use it versus alternatives (e.g., LIST_WITHDRAWALS for all withdrawals). The context from sibling names offers some guidance, but the description itself lacks explicit usage instructions.

    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 full burden. It only states it lists addresses and requires private API, without disclosing behaviors like whether it returns active/inactive addresses, rate limits, or error scenarios. Minimal disclosure.

    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, front-loaded with the action and resource. No wasted words; every part serves a purpose.

    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 no parameters and no output schema, the description provides the essential context but lacks details on return format, pagination, or edge cases. Adequate but not enriched.

    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 zero parameters and 100% schema coverage (trivially). The description adds no parameter information because none exist. Baseline 3 applies as per guidelines 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 clearly states the tool lists deposit addresses for all currencies, with a specific verb ('List') and resource ('deposit addresses'). It distinguishes from siblings like GET_DEPOSIT_ADDRESS (singular) and LIST_DEPOSITS (deposits, not addresses).

    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 mentions 'requires private API' indicating authentication need, but does not explicitly explain when to use this tool versus alternatives like GET_DEPOSIT_ADDRESS. Usage context is implied but not elaborated.

    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 provided. Description states it requires private API (auth needed), but does not explicitly confirm read-only nature or mention any side effects, rate limits, or pitfalls. 'Get' implies read but could be more explicit.

    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?

    Single sentence conveys essential purpose and access requirement with zero wasted words. Optimal conciseness for a simple retrieval tool.

    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?

    Adequate for a simple single-resource retrieval, but missing output schema and description does not hint at return structure. Agent may need to infer response contains deposit details. Fairly complete given low complexity.

    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 has 0% description coverage for the uuid parameter. Description adds 'by UUID' which is already clear from name. No additional semantics like format, example, or special constraints beyond minLength.

    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 action (Get), object (deposit), and identifier (UUID). Distinguishes from sibling LIST_DEPOSITS (list) and GET_DEPOSIT_ADDRESS (address). Mention of 'requires private API' adds important context.

    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?

    Implies usage when a single deposit UUID is available, but provides no explicit guidance on when to use this vs alternatives like GET_DEPOSIT_CHANCE or LIST_DEPOSITS. No exclusions or higher-level context given.

    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 exist, so the description carries full burden. It only discloses the authentication requirement ('private API'), but fails to mention other behavioral traits such as idempotency, rate limits, or whether the list is exhaustive or paginated. This is insufficient for a tool with zero 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/5

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

    The description is a single sentence of 8 words, front-loading the action and resource. Every word is necessary and there is no redundancy or filler.

    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 absence of annotations and output schema, the description should provide more context about the return value (e.g., list of addresses with fields) and any ordering or filtering. The tool is simple (no params), but the description is too sparse for an agent to understand what the output contains.

    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 no parameters, and the schema coverage is 100% by default. The description does not add parameter-specific information, but none is needed. The baseline for zero parameters is 4.

    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 ('List'), the resource ('registered withdrawal-allowed addresses'), and distinguishes from sibling LIST_WITHDRAWALS which lists withdrawals, not addresses. The tool name is self-explanatory and the description adds clarity about the scope.

    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 mentions 'requires private API', implying it's for authenticated users only, but does not explicitly state when to use this tool versus alternatives like LIST_DEPOSIT_ADDRESSES or LIST_WITHDRAWALS. The differentiation is based on the resource name, but no direct guidance on selection criteria is 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?

    No annotations are provided, so the description carries full burden. It discloses the requirement for private API access, but does not mention other behavioral traits like rate limits, data freshness, or error handling. The read-only nature is implied but not explicit.

    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 unnecessary words. It delivers the essential information efficiently.

    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 tool with no parameters and no output schema, the description explains the purpose but does not specify the return format or structure. The agent may need additional context to interpret the response.

    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, and schema coverage is 100% trivially. The description adds no parameter details because none are needed. Baseline 4 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?

    Description clearly states the verb 'Get' and resource 'account balances' for the Upbit platform. It distinguishes from sibling tools like GET_TICKER or GET_ORDERBOOK, which deal with market data, not account balances.

    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?

    Includes the prerequisite 'requires private API enabled', which guides when the tool can be used. However, it does not explicitly state when to use this tool versus alternatives, though no direct alternatives exist among 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

mcp-upbit MCP server

Copy to your README.md:

Score Badge

mcp-upbit 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/BrainDAO/mcp-upbit'

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