Skip to main content
Glama
SqREL

monobank-mcp

by SqREL

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct concern: public rates, public key verification, client account data, webhook configuration, and transaction statements. There is no overlap or ambiguity between their purposes.

    Naming Consistency5/5

    All read-oriented tools follow the consistent get_<resource> pattern, and the single mutating tool uses the equally clear set_webhook. The naming is predictable and immediately conveys the action and target.

    Tool Count5/5

    Five tools is an appropriate, well-scoped surface for a Monobank integration. Each tool maps to a core API capability without unnecessary duplication or bloat.

    Completeness5/5

    The toolset covers the essential Monobank operations: rates, client info, statements, webhook setup, and the public key needed for webhook verification. There are no obvious dead ends or missing domain-critical operations.

  • Average 4.3/5 across 5 of 5 tools scored. Lowest: 3.7/5.

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

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful context about what the response contains (key, key id, server time) and its role in webhook verification. It does not disclose additional behaviors like authentication requirements or rate limits, but the read-only nature is already signaled.

    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, free of fluff, and front-loads the key resource details before explaining the purpose. Every sentence contributes meaningful 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 no output schema and no parameters, the description carries the burden of explaining what the tool returns and why it is useful. It enumerates the key, key id, and server time, and relates them to webhook verification. This is sufficient for an agent to understand the tool's role, though a bit more detail on the response structure could improve completeness.

    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, so there is nothing for the description to clarify. The baseline for 0 parameters is 4, and no additional parameter information is needed here.

    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 resource being fetched: the public signing key, its key id, and server time. It also states the purpose of verifying webhook signatures, which helps distinguish it from siblings like set_webhook or get_statement. However, it lacks an explicit action verb, relying on the tool name for the 'get' semantics.

    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 'Used to verify webhook signatures' implies a concrete use case for the tool. It does not explicitly describe when to use this tool versus alternatives, nor does it list exclusions or conditions. This is implied guidance rather than explicit routing.

    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; the description adds useful behavioral facts: authentication is not required, the data is refreshed at most every 5 minutes, and buy/sell/cross have defined meanings. It does not discuss error cases or response format, but these are minor for a public read-only endpoint.

    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?

    Three sentences, each earning its place: public access, semantics of the returned fields, and filter/refresh behavior. The most important information is front-loaded in the first phrase.

    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 public API with one optional parameter and no output schema, the description covers the data semantics, authentication, and refresh behavior. It leaves out possible error conditions when filtering by an unknown code, but that is a minor 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?

    Schema coverage is 100% for the single optional parameter, so the schema already explains the ISO 4217 alpha code. The description adds 'optionally filter' and examples like USD or EUR, which is helpful but not substantial 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 identifies the resource precisely as 'Public Monobank exchange rates' and explains what buy, sell, and cross mean, making the tool's scope clear. It stops short of a 5 because the text uses a noun phrase rather than an explicit verb like 'returns' or 'gets', although the tool name supplies 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 Guidelines4/5

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

    The description gives clear usage context: no token is needed, the data is public, refresh happens at most every 5 minutes, and an optional currency filter exists. It does not explicitly compare against alternatives, but the sibling tools are unrelated enough that no exclusion is necessary.

    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 readOnlyHint/openWorldHint annotations, the description adds valuable operational context: a rate limit of one call per minute, cached responses within 60 seconds, queuing behavior for other calls, and that balances are in major units. It also discloses the full scope of what is returned, which is especially important given the lack of an output schema.

    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 compact, information-dense sentences front-load the core purpose and immediately follow with the two most important behavioral caveats (units and rate limiting). There is no filler or redundancy.

    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?

    With no output schema, the description carries the full burden of explaining return content, and it does so thoroughly: account details, card masks, jars, FOP clients, and balance units. It also covers caching/rate-limit behavior, making the tool safely invokable with no unexpected gaps.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema already fully covers parameter semantics. Per the baseline for zero-parameter tools, no additional parameter explanation is needed.

    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 specifies the exact resource (the token owner) and enumerates the returned data: name, accounts with balances/credit limits/IBANs/masked card numbers, savings jars, and FOP clients. This makes it unmistakably distinct from sibling tools like get_currency_rates or get_statement.

    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 clearly implies the tool is for retrieving the token owner's client profile and related account data. However, it never explicitly states when to prefer this over siblings or mentions any exclusions, leaving usage selection to inference.

    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 readOnlyHint annotation, the description discloses important runtime behavior: the server may wait up to 35 seconds for a rate-limit slot, can fail fast with a wait time, and the response reports the exact window used. It also clarifies amount units and sign conventions, which is highly useful contextual behavior.

    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?

    Every sentence earns its place: purpose, units, window limit, rate limiting, retry semantics, chaining, and account selection are all covered without filler. The most identifying information is placed first, and the rest builds logically.

    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?

    The description covers the hard-to-discover operational details needed to invoke the tool correctly, including rate limits, retries, window chaining, and account id handling. There is no output schema, so a fuller description of the transaction response fields would make it fully complete, but the key return semantics are already stated.

    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?

    Schema coverage is already 100%, so the description does not need to repeat formats and defaults. It adds extra value by explaining the maximum window span, chaining windows with from = previous to, and account selection, which are meaningful constraints beyond the raw schema text.

    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 that the tool returns transactions for one account or jar within a time window, which is a specific resource and action. It is easy to distinguish from sibling tools such as get_currency_rates, get_bank_public_key, and set_webhook because it uniquely handles transaction history.

    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 gives strong operational guidance: maximum window size, rate limiting, retry behavior, and how to chain calls. It also explains how to select the account using get_client_info, but it does not explicitly state when to prefer an alternative sibling over this tool, so it falls just 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.

  • Behavior5/5

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

    It discloses that any previously registered URL stops receiving events, that the bank first probes with a GET requiring HTTP 200, that StatementItem events are sent for every balance change, and that an empty string removes the webhook. These details are not present in the annotations, which only flag idempotence and destructiveness.

    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?

    Four dense sentences, each carrying distinct information: replacement effect, probe/event behavior, removal, and pre-check advice. The destructive consequence is front-loaded rather than buried.

    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 single-parameter mutating tool with no output schema, the description covers side effects, server behavior, removal semantics, and the relevant sibling check. An agent has everything needed to decide whether and how to call it.

    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% and the schema already documents the URL constraint and the empty-string disable behavior. The description reinforces these points but adds no new parameter-level meaning beyond what the input schema provides, so the high-coverage baseline 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 opens with a specific action and resource: 'Replace the single webhook URL on the token owner's profile'. It clearly separates this mutating webhook tool from the read-only sibling tools and also covers the removal case with an empty string.

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

    Usage Guidelines5/5

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

    It gives an explicit pre-condition: 'Check get_client_info first if the existing webhook matters', pointing the agent to the right sibling before a destructive call. It also states the URL must answer a GET probe with HTTP 200, which is a concrete acceptance criterion for when the tool will succeed.

    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

monobank-mcp MCP server

Copy to your README.md:

Score Badge

monobank-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/SqREL/monobank-mcp'

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