Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. Tools target specific resources (contacts vs. deals) and actions (get, list, search, update), making misselection unlikely. For example, get_contact and search_contacts serve different retrieval needs, while update_deal_stage is the only modification tool.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case throughout. The naming is predictable: get_contact, get_deal, list_contacts, list_deals, search_contacts, and update_deal_stage. This uniformity aids agent understanding and tool selection.

    Tool Count4/5

    Six tools is reasonable for a CRM-focused server, but it feels slightly under-scoped. While core read operations are covered, there are no create, update (except for deal stage), or delete tools, which might limit functionality. However, the count itself is well within typical ranges.

    Completeness3/5

    There are notable gaps in the tool surface for a CRM domain. It provides good read/search coverage for contacts and deals, but lacks create, update (beyond deal stage), and delete operations. This could cause agent failures when full CRUD workflows are needed, though basic retrieval tasks are supported.

  • Average 2.5/5 across 6 of 6 tools scored. Lowest: 1.5/5.

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

  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior1/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states the action ('update deal stage') without any information about permissions required, whether the operation is destructive, what happens to the deal data, error conditions, or response format. For a mutation tool with zero annotation coverage, this lack of behavioral context is a critical gap that leaves the agent uninformed about risks and outcomes.

    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 extremely concise—a single phrase in Russian. While this avoids unnecessary verbosity, it's under-specified rather than efficiently informative. The structure is simple but lacks the front-loaded clarity needed for an AI agent to quickly grasp the tool's purpose and usage.

    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's complexity (a mutation operation with two required parameters), the absence of annotations, 0% schema description coverage, and no output schema, the description is completely inadequate. It fails to explain what the tool does beyond its name, provides no behavioral context, and offers no parameter semantics. This leaves the agent with insufficient information to use the tool effectively or safely.

    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 schema description coverage is 0%, meaning neither parameter ('deal_id' or 'stage_id') has any documentation in the schema. The description provides no additional information about what these parameters mean, their expected formats, valid values, or how they interact. With two required parameters and no guidance in either the schema or description, the agent cannot understand how to invoke the tool correctly.

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

    Purpose2/5

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

    The description 'Обновление стадии сделки' (Update deal stage) is a tautology that essentially restates the tool name 'update_deal_stage' in Russian. While it identifies the verb ('update') and resource ('deal stage'), it doesn't provide any specific details about what this operation entails or how it differs from other deal-related tools like 'get_deal' or 'list_deals'. The description is minimal and doesn't add meaningful differentiation from siblings.

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

    Usage Guidelines1/5

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

    The description provides no guidance on when to use this tool versus alternatives. There are no mentions of prerequisites, conditions, or comparisons to sibling tools like 'get_deal' or 'list_deals'. Without any context about when this tool is appropriate or what it accomplishes that other tools don't, the agent has no basis for selecting it correctly.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'возможностью фильтрации' (filtering capability), which hints at functionality, but doesn't describe key behaviors like pagination (implied by 'limit' parameter), default behavior, error conditions, or what the output looks like. For a list tool with 2 parameters and no annotation coverage, this is insufficient to guide the agent effectively.

    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, efficient sentence in Russian: 'Получение списка контактов с возможностью фильтрации'. It's front-loaded with the core purpose and adds a brief capability note. There's no wasted words, making it appropriately concise for a basic tool description, though it could be more informative.

    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 2 parameters with 0% schema coverage, no annotations, no output schema, and sibling tools like 'search_contacts', the description is incomplete. It doesn't explain the return format, how filtering works, or differentiate from alternatives. For a list tool with filtering parameters, this leaves significant gaps in understanding for the agent.

    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 0% description coverage, so the description must compensate. It mentions filtering capability, which loosely relates to the 'company_id' parameter, but doesn't explain what 'limit' or 'company_id' mean, their formats, or how they interact. With 2 undocumented parameters, the description adds minimal value beyond the schema, failing to clarify semantics adequately.

    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 states the purpose as 'Получение списка контактов с возможностью фильтрации' (Getting a list of contacts with filtering capability), which is clear but vague. It specifies the verb ('Получение' - getting) and resource ('контактов' - contacts), but doesn't differentiate from sibling tools like 'search_contacts' or specify what kind of filtering is available. It's adequate but lacks specificity about scope or differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It mentions filtering capability but doesn't specify when to use 'list_contacts' versus 'search_contacts' or other sibling tools. There's no mention of prerequisites, context, or exclusions, leaving the agent with no usage direction beyond the basic purpose.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a read operation ('получение информации' - getting information), which implies it's non-destructive, but doesn't cover critical aspects like authentication requirements, error handling (e.g., what happens with invalid IDs), rate limits, or response format. The description adds minimal value 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.

    Conciseness4/5

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

    The description is a single, efficient sentence in Russian that directly states the purpose. It's appropriately sized for a simple tool with one parameter, with no wasted words. However, it could be more front-loaded with key details, but given its brevity, it's well-structured.

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

    Completeness2/5

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

    Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't explain what information is returned (e.g., deal details, status), error scenarios, or how it fits with siblings like 'list_deals'. For a read operation with no structured support, more context on behavior and output is needed to be fully helpful.

    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 description adds minimal meaning beyond the input schema. It mentions the parameter 'ID' (implied as 'deal_id'), but with 0% schema description coverage, the schema only defines 'deal_id' as an integer without context. The description doesn't compensate by explaining what constitutes a valid ID, format constraints, or examples. Since there's only one parameter, the baseline is slightly higher, but the lack of detail keeps it at a minimal viable level.

    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 'Получение информации о сделке по ID' (Getting information about a deal by ID) states a clear verb ('получение' - getting) and resource ('сделка' - deal), but it's vague about what specific information is retrieved. It distinguishes from siblings like 'list_deals' (which lists multiple deals) by specifying retrieval by ID, but doesn't clarify what distinguishes it from 'update_deal_stage' in terms of read vs write operations.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid deal ID), exclusions, or comparisons to siblings like 'list_deals' for bulk retrieval or 'update_deal_stage' for modifications. Usage is implied by the phrase 'по ID' (by ID), but no explicit context or decision criteria are 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'списка сделок' (list of deals) and filtering capability, but doesn't describe what the tool returns (format, fields), whether it's paginated, rate limits, authentication requirements, or error conditions. For a list operation with 4 parameters, this is insufficient behavioral context.

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

    Conciseness4/5

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

    The description is a single, efficient sentence that states the core purpose. There's no wasted verbiage or redundancy. However, it could be more front-loaded with key details about the tool's behavior and usage context.

    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 4 parameters with 0% schema coverage, no annotations, no output schema, and sibling tools that could cause confusion, the description is incomplete. It doesn't explain what a 'deal' represents in this context, what fields are returned, how filtering works, or how this differs from related tools. The description fails to provide adequate context for proper tool selection and invocation.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. The description mentions 'возможностью фильтрации' (filtering capability) which hints at parameters like contact_id and company_id, but doesn't explain what these parameters do, their relationships, or the meaning of 'active_only' and 'limit'. With 4 undocumented parameters, the description adds minimal semantic value beyond the schema.

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

    Purpose4/5

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

    The description clearly states the tool's purpose as 'Получение списка сделок с возможностью фильтрации' (Getting a list of deals with filtering capability). It specifies the verb ('Получение' - getting) and resource ('списка сделок' - list of deals), and mentions filtering capability. However, it doesn't explicitly differentiate from sibling tools like 'get_deal' (singular) or 'search_contacts' (different resource).

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It mentions filtering capability but doesn't specify when to use 'list_deals' versus 'get_deal' (for single deal) or 'search_contacts' (for contacts). There's no mention of prerequisites, typical use cases, 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 provided, the description carries full burden but offers minimal behavioral insight. It implies a read operation ('Получение информации'), but doesn't disclose if it requires authentication, rate limits, error handling (e.g., for invalid IDs), or what the output format might be (e.g., JSON structure). For a tool with zero annotation coverage, this is inadequate.

    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, efficient sentence in Russian that directly states the tool's purpose. It's front-loaded with no wasted words, making it easy to parse quickly. Every part of the sentence earns its place by specifying the action and key constraint.

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

    Completeness2/5

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

    Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't cover behavioral aspects like authentication needs or error cases, and with 0% schema coverage, parameter details are lacking. For even a basic read tool, more context on usage and output would be helpful.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate but adds little. It mentions 'по ID' ('by ID'), which hints at the 'contact_id' parameter, but doesn't explain its semantics (e.g., that it's an integer, where to find valid IDs, or format constraints). With 1 parameter undocumented in both schema and description, value beyond schema 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 verb ('Получение информации' - 'Getting information') and resource ('о контакте' - 'about a contact'), specifying it's by ID. It distinguishes from sibling tools like 'list_contacts' (which lists multiple) and 'search_contacts' (which searches). However, it doesn't explicitly mention what specific information is retrieved, keeping it from a perfect score.

    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. It doesn't mention prerequisites (e.g., needing a valid contact ID), exclusions, or compare to siblings like 'list_contacts' for bulk retrieval or 'search_contacts' for fuzzy matching. The description only states what it does, not when to choose it.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the search functionality but doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, authentication requirements, or the format of search results (e.g., partial matches, case sensitivity). This leaves significant gaps for a tool with three parameters.

    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, efficient sentence in Russian that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the tool's complexity (3 parameters, no annotations, no output schema), the description is incomplete. It lacks details on behavioral traits, parameter usage beyond basic semantics, and expected output format. For a search tool with multiple parameters, this minimal description doesn't provide enough context for reliable agent 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?

    Schema description coverage is 0%, so the schema provides no parameter details. The description mentions searchable fields (name, phone, email), which partially explains the 'query' parameter's semantics but doesn't address 'search_type' (e.g., what values it accepts beyond the default 'name') or 'limit' (e.g., max value, pagination implications). It adds some value but doesn't fully compensate for the coverage gap.

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

    Purpose4/5

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

    The description clearly states the tool's purpose as searching contacts by name, phone, or email, which is specific (verb+resource+searchable fields). However, it doesn't explicitly differentiate from sibling tools like 'list_contacts' or 'get_contact', which likely have different functions (e.g., listing all contacts vs. retrieving a specific contact by ID).

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'list_contacts' or 'get_contact'. It lacks context about scenarios where search is preferred over listing or direct retrieval, and offers no exclusions or prerequisites for usage.

    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

mcpforbitrix MCP server

Copy to your README.md:

Score Badge

mcpforbitrix 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/averagedigital/mcpforbitrix'

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