Skip to main content
Glama
Operamatix

zoho-books-mcp

by Operamatix

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 has a unique purpose: document attachment, bank transaction categorization/ matching, account creation, journal entry creation, resource deletion, generic read, and generic write. No two tools overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with lowercase snake_case (e.g., attach_document, create_account). The prefix 'zoho_' unifies them, and verbs like read/write are single-word but fit the pattern.

    Tool Count5/5

    8 tools is well-scoped for an accounting server: it provides both generic CRUD (read/write/delete) and specialized operations (categorize/match bank transactions, attach documents, create accounts/journals).

    Completeness4/5

    The generic read/write tools cover most CRUD operations, and specific tools handle key accounting workflows. Missing explicit tools for invoices or contacts, but those can be accessed via the generic endpoints. Minor gap.

  • Average 3.8/5 across 8 of 8 tools scored. Lowest: 2.9/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

  • Behavior2/5

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

    No annotations provided, so description must disclose behavioral traits. The terms 'guarded wrapper' and 'gated by ZOHO_ALLOW_WRITES' hint at safety mechanisms but do not explain side effects, permissions, or error handling. Important details are missing.

    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 concise with two sentences, each providing relevant information. It is front-loaded with the purpose and includes a key condition. No redundant or extraneous content.

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

    Completeness2/5

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

    Given the tool has 4 parameters, no output schema, and no annotations, the description is insufficiently complete. It lacks explanation of what a GL account is, return values, error scenarios, and how the guard works. The complexity of a create operation demands more context.

    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 50% (2 of 4 parameters have descriptions). The tool description does not add any meaning beyond the schema for the parameters. It fails to compensate for the undocumented 'description' and 'account_name' parameters.

    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 the resource 'GL account in the chart of accounts', with a note about being a guarded wrapper. It distinguishes from sibling tools like zoho_delete and zoho_read, but does not explicitly differentiate from zoho_create_journal.

    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 'Gated by ZOHO_ALLOW_WRITES', which implies a condition for use, but does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives like zoho_create_journal. The 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.

  • Behavior3/5

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

    Discloses that it performs a DELETE HTTP request and that it is disabled unless an environment variable is set. However, no details about success/failure behavior or idempotency are provided, and there are no annotations to supplement.

    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 concise sentences that front-load the purpose. No wasted words.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description omits important context such as the purpose of the query parameter, expected response, and error handling. It is too brief for a delete operation with an object parameter.

    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 adds no semantic meaning to the parameters. It only gives an example path but does not explain the path format or the query object parameter.

    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 'Delete' and the resource 'Zoho Books resource', with an example path. It distinguishes from siblings as the only delete tool among the listed siblings.

    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 explicit guidance on when to use this tool versus alternatives. The condition 'Disabled unless ZOHO_ALLOW_DELETE=true' is a prerequisite but not comparative usage advice.

    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?

    Despite no annotations, the description discloses key behaviors: it refuses to post unless debits equal credits, and it is gated by an environment variable. This adds value beyond the schema, though it could mention what happens on failure (e.g., error message).

    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 concise sentences conveying the core purpose and constraint without extraneous information. Each sentence earns its place.

    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?

    No output schema exists, so the description should address return values or error handling. It omits what happens on success (e.g., object ID) or on failure (e.g., validation errors). The guarded nature warrants more context.

    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 input schema has 25% description coverage (only journal_date has a format hint). The description does not elaborate on parameters, except implicitly requiring line_items to satisfy the debit-credit balance. For a 4-parameter tool, this provides insufficient guidance.

    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 ('Create'), the resource ('manual journal entry'), and distinguishes from siblings by noting it's a 'guarded wrapper' that requires debits to equal credits. This differentiates it from other Zoho tools.

    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 mentions gating via 'ZOHO_ALLOW_WRITES' but does not provide explicit when-to-use or when-not-to-use guidance compared to sibling tools like 'zoho_create_account'. The use case is implied but not clearly delineated.

    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 provided, so description carries full burden. Only states the HTTP methods and gating, omitting authentication details, rate limits, side effects, or idempotency of operations.

    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, highly concise, with the main action front-loaded. Every word serves a purpose.

    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 generic write tool with 4 parameters and no output schema, the description lacks details on return values, error handling, or resource-specific behaviors, leaving significant 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?

    Schema coverage is 50%; description adds examples (e.g., '/invoices', '/items/123') but does not explain the query parameter or body structure beyond what schema provides.

    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 tool creates or updates any Zoho Books resource via POST or PUT, which distinguishes it from sibling tools that target specific resources.

    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?

    Indicates gating by ZOHO_ALLOW_WRITES environment variable, providing a prerequisite. Does not explicitly state when not to use or list alternatives, but sibling tools imply specialized use cases.

    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, so description carries full burden. It discloses the multipart upload nature, permission gating, and file type restrictions. It does not detail side effects (e.g., success/error responses or idempotency), but for a straightforward attachment tool, this is acceptable.

    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 concise but informative. It front-loads the purpose, then gives examples, then details input options. Every sentence adds value. Could be slightly more structured but overall efficient.

    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 six parameters and no output schema, the description covers essential aspects: constructing the path, file input methods, and field name. It does not describe return values or error handling, which would improve completeness, but the core usage is adequately covered.

    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 high (83%), so baseline is 3. The description adds meaning beyond schema: explains path construction patterns, differentiates file_content vs file_path, and notes the default field_name. This enriches parameter understanding.

    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: 'Attach a document to a Zoho Books record via multipart upload'. It provides specific examples (expense receipt, bill attachment, journal attachment) and references endpoint patterns, making the purpose unambiguous. It distinguishes itself from sibling tools which are generic CRUD or other operations.

    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 guidance on when to use file_content vs file_path, lists allowed file types, and notes it's gated by ZOHO_ALLOW_WRITES (permissions context). It does not explicitly state when not to use it, but sibling tools are sufficiently different that confusion is unlikely.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the write operation, error response verbatim, and gating condition. However, it lacks details on success response or side effects, leaving some behavioral gaps.

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

    Conciseness5/5

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

    The description is efficient: two sentences that state purpose, contrast, route, and parameter format. No fluff, front-loaded with key information.

    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 has three parameters, nested objects, and no output schema. The description covers the core action and required parameters but omits the optional 'body' parameter and success behavior. Given the complexity, it is fairly complete but has notable 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?

    Schema coverage is 100%, so baseline is 3. The description adds context beyond the schema by explaining the array format and the write gating. It also clarifies the purpose of the parameters, adding moderate 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 tool's purpose: matching an uncategorized bank-feed line to existing transactions, contrasting with creating a new one. It uses specific verbs and resources, and distinguishes from sibling tools like zoho_categorize_bank_txn.

    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 explicitly states when to use (match existing transactions) and provides the API route and required array format. It mentions the gating by ZOHO_ALLOW_WRITES, offering good context, but does not explicitly list when not to use or alternatives.

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

  • Behavior4/5

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

    Declares 'Read-only and always available', which is key behavioral info. No annotations exist, so description carries full burden; missing details on errors or rate limits but acceptable.

    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, no fluff, front-loaded with action and usage. Every sentence 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?

    No output schema, but description doesn't mention return format or pagination. For a generic read tool, this is adequate but could be more 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?

    Adds meaningful context beyond schema: path is everything after /books/v3, query is optional with example. Schema coverage is 100%, but description enhances understanding.

    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 it reads any Zoho Books endpoint via GET, provides examples of path usage, and distinguishes from sibling tools that are write/delete/match operations.

    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?

    Explanation of path format and automatic organization_id addition gives clear usage context. Could explicitly state not to use for write operations, but siblings imply that.

    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 provided, the description fully discloses behavioral traits: auto-derivation of amount/date, offset auto-mapping assumptions, the effect on the feed queue, and error handling (verbatim Zoho response). No contradictions exist.

    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 somewhat lengthy but well-structured with clear labels (CONVENIENCE:, VERIFIED:, NOTE:). It is front-loaded with the core purpose. A slight reduction in detail could improve conciseness, but every sentence adds useful 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 12 parameters, no output schema, and nested objects, the description covers essential usage patterns, auto-derivation behavior, and error handling. It could be more complete by describing the success response format, but the provided context is sufficient for effective use.

    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 description coverage is 100%, so baseline is 3. The description adds significant value beyond the schema by explaining inter-parameter relationships (offset auto-mapping, auto-derivation reliance on bank_account_id) and providing concrete examples. This elevates the score to 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 tool categorizes an uncategorized bank-feed line in place, using a specific verb and resource. It distinguishes from sibling tools by describing the unique operation (clearing the feed queue without creating a parallel transaction) and provides routing details.

    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?

    The description gives explicit guidance on when to use convenience features (passing offset_account_id) and when to avoid them (money-OUT directions). It provides verified examples for common cases (owner contribution, bank fee) and notes the gating by ZOHO_ALLOW_WRITES.

    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

zoho-books-mcp MCP server

Copy to your README.md:

Score Badge

zoho-books-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/Operamatix/zoho-books-mcp'

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