ringcentral-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
Each tool targets a distinct resource and action (presence, account, extensions, queues, contacts, call logs, recordings). The only minor overlap is between ringcentral_list_extensions and ringcentral_list_internal_contacts, but their descriptions clearly differentiate account extensions from directory entries.
Naming Consistency5/5All tools follow a consistent ringcentral_<verb>_<resource> pattern, using 'get' for single items and 'list' for collections. The naming is uniformly snake_case and predictable, making it easy to infer the purpose of each tool.
Tool Count5/5Thirteen tools is well-scoped for a RingCentral API server covering account info, extensions, contacts, call logs, and recordings. Each tool has a clear purpose and none feel redundant; the count is in the ideal range for a domain-specific MCP server.
Completeness4/5The surface covers the main read-only resources: presence, account, extensions, phone numbers, queues, contacts, and call logs/recordings. Minor gaps like missing single-phone-number lookup or queue detail endpoints are workable, as the list tools provide sufficient data for most queries.
Average 3.9/5 across 13 of 13 tools scored. Lowest: 3.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits 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 Apache 2.0.
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.jsonto 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 are provided, so the description must disclose behavior. It identifies the API endpoint but does not state that this is a read-only operation, any required permissions, rate limits, or pagination behavior. The term 'List' implies read-only but lacks explicit transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the purpose, followed by the API endpoint and parameter list. Each line provides necessary information without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with an output schema and two optional parameters, the description covers the core action and parameter semantics. However, it lacks usage context, distinction from sibling tools, and explicit behavior disclosure, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It provides minimal descriptions: 'Page: Page number' and 'per_page: Results per page', which adds a bit of meaning beyond the schema titles but lacks examples, constraints, or defaults (though defaults are in schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with the resource 'call queues on the account', clearly identifying the operation. It also distinguishes from sibling 'list_queue_members' by focusing on queues rather than members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool instead of alternatives such as list_queue_members or list_extensions, nor does it state any prerequisites or conditions.
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 disclose behavioral traits. It provides the API endpoint and lists parameters, but does not mention authentication needs, rate limits, pagination behavior beyond page/per_page, or whether the results are limited to active users. The description is essentially a restatement of the core action and schema, offering minimal additional 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and well-structured, with an API reference line and a clear list of arguments. Each sentence contributes useful information, though the formatting could be slightly more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema covers return value structure, and the description explains the core purpose and parameters. However, it lacks usage guidance, default pagination values, and any caveats about multi-site or filtering behavior, making it incomplete for an agent without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions for its properties (0% coverage), so the description's Args list adds essential meaning by explaining each parameter: type filters by directory entry type, site_id filters by site, page is the page number, and per_page sets results per page. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it lists internal company directory entries (corporate users/extensions), which clearly identifies the tool's function. The term 'internal' distinguishes it from the sibling 'list_external_contacts' tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly discuss when to use this tool over alternatives, nor does it mention exclusions or prerequisites. The name and context imply it is for internal contacts, but no alternative guidance is provided, leaving usage inference to the agent.
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 burden. It implies a read-only operation via 'List' and discloses pagination limits (per_page max 1000), but omits other behavioral aspects such as how 'Simple' vs 'Detailed' affects payload size, timezone handling, or potential rate limits. The parameter details add some context but not comprehensive behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact docstring with the API path and a bulleted list of arguments. It is front-loaded with a clear purpose, and every additional line serves as parameter documentation. Slightly verbose but appropriate for a tool with 7 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all parameters and the API endpoint, and an output schema exists so return values are defined elsewhere. However, it lacks usage context, such as typical date-range constraints, permission expectations, or differentiation from the sibling user_call_log tool, leaving the overall context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description manually documents all 7 parameters with concise explanations (e.g., 'ISO 8601 start of the date range', 'Results per page (max 1000)'). This adds substantial meaning beyond the bare schema property names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'List account-wide call log records,' which clearly states the verb and resource. It distinguishes from the sibling 'ringcentral_list_user_call_log' by emphasizing 'account-wide' versus per-user scope, and includes the API endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like ringcentral_list_user_call_log, nor any mention of required permissions or account-wide implications. 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. It identifies the API endpoint and parameters but does not disclose read-only safety, required permissions, pagination defaults, or error behavior. The description adds little behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-line summary, the API path, and an Args list. Every line earns its place with no redundant or vague filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with an output schema present, the description covers the core action and parameters. However, it lacks usage guidance and behavioral caveats, and does not mention that page/per_page are optional via defaults. It is adequate but minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides useful meanings for all three parameters: queue_id as 'The call queue's extension ID', page as 'Page number', and per_page as 'Results per page'. This goes beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List the members of a call queue' with a specific verb and resource. This distinguishes it from sibling tools like ringcentral_list_queues (which lists queues) and ringcentral_list_extensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies when to use the tool (when queue members are needed), but there is no explicit guidance about alternatives or when not to use it. Sibling tool names are not referenced in the description.
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?
There are no annotations, so the description carries the full burden. It does not disclose side effects, error behavior, required permissions, or explicitly state that it is a read-only operation. The API path shows 'GET', which hints at non-mutating behavior, but this is not explicitly articulated. Additional behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: the main purpose appears in the first sentence, followed by the API path and an Args section. Every line earns its place, and there is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one optional parameter and an output schema, so the description does not need to cover return values. The API endpoint is included. However, the lack of explicit usage guidelines and behavioral transparency means it is not fully complete, though it is adequate for a straightforward getter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the `extension_id` parameter beyond the schema, clarifying that '~' is a special value for the currently authenticated extension and is the default. This adds meaningful semantic value that the schema alone (with only title and default) does not provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single extension's details' with the specific verb 'get' and resource 'single extension'. It also includes the API endpoint, which further clarifies the exact scope. This distinguishes it from siblings like ringcentral_list_extensions that operate on multiple extensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'single' implies this tool is for retrieving one extension at a time, but it does not explicitly state when to use this tool versus alternatives such as ringcentral_list_extensions. No exclusions or alternative tool names are mentioned, leaving usage guidelines largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavioral traits. It does indicate a read-only operation via 'GET' and 'List', but it does not explicitly state side-effect-free behavior, pagination semantics, or whether 'all' numbers includes only active ones. The GET endpoint adds some transparency but not enough to fully disclose 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-sentence purpose, the API endpoint, and a bulleted list of parameters. Every element earns its place, and the front-loaded purpose makes selection easy. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple list tool with four optional parameters and an output schema, the description covers the essential invocation details: purpose, API, and parameter semantics. The only notable omission is usage guidance relative to sibling tools, but that is already penalized in Dimension 2. With an output schema present, lack of return-value documentation is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's Args section adds meaning to all four parameters, which the schema leaves entirely undocumented (0% coverage). It provides concrete examples for usage_type ('DirectNumber', 'CompanyNumber') and status ('Normal', 'Reserved'), and the page/per_page names are self-explanatory. This compensates well for the schema gap, though it could offer explicit allowed values or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List all company and extension phone numbers', using a specific verb and resource that clearly distinguishes this from sibling tools like list_extensions or list_internal_contacts. The API endpoint '/restapi/v1.0/account/~/phone-number' reinforces the exact 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to choose this tool over alternatives, such as list_internal_contacts or list_extensions. It states what it does but offers no exclusions, prerequisites, or context about when this resource is the right choice.
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 behavioral burden. It discloses the HTTP method (GET) and the default behavior for extension_id ('~' for the current extension), which implies a read-only operation. However, it does not explicitly state that it is non-destructive, mention authentication requirements, rate limits, or pagination behavior beyond having page and per_page parameters. The GET endpoint is useful context, but more explicit transparency would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a concise docstring: a one-sentence summary, the API endpoint, and a bulleted list of arguments. Each line is informative and adds value. It is not overly verbose, though the API endpoint line could be considered extra but is useful for technical clarity. Overall, it is well-organized and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity of a list operation with filters and pagination, the description covers the tool's purpose, API endpoint, and all parameters. The presence of an output schema means the return value does not need to be described in the tool description. It lacks explicit guidance on alternatives or broader context like authentication, but within the expected scope for a RingCentral tool in this set, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It adds semantics for all five parameters: extension_id with default '~', starts_with as a name filter, phone_number as a filter, page as page number, and per_page as results per page. This goes beyond the schema's bare property names. However, it does not elaborate on types, ranges, or formatting (e.g., whether page is 1-indexed), but it is sufficient for an agent to understand the intended usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'List an extension's personal address-book contacts,' which clearly states the verb (list), resource (personal address-book contacts), and scope (an extension). This distinguishes it from the sibling ringcentral_list_internal_contacts, which likely targets internal directory contacts. The API endpoint further specifies exactly what is called.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description properly explains what the tool does but does not explicitly state when to use this tool versus alternatives. The name and 'personal address-book' wording imply it is for external contacts, while ringcentral_list_internal_contacts would be for internal ones, but no direct comparison or exclusion is given. Usage context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It adds the API endpoint and clarifies the scope as 'presence/telephony/do-not-disturb status,' which is useful. However, it does not disclose any side effects, permission requirements, rate limits, or explicitly state that this is a read-only operation. Since it's a GET, the read-only nature is implied, but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with a clear purpose sentence. It includes the API endpoint and Args block, which are useful but add some formatting overhead. No fluff or redundancy, though the API line could be seen as extra for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter) and the presence of an output schema, the description covers the essential behavior: what it gets and the default extension behavior. It lacks usage context (addressed in usage_guidelines) but is otherwise complete for a straightforward getter. The output schema handles return value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description fully compensates by explaining the only parameter: 'extension_id: The extension ID, or "~" for the currently authenticated extension (default).' This adds meaning beyond the schema's title and default, explicitly covering the parameter's semantics and special value '~'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get an extension's presence/telephony/do-not-disturb status.' This is a specific verb ('Get') and resource ('extension's presence') that distinctly separates it from sibling tools like ringcentral_get_account_info or ringcentral_list_extensions, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives or any exclusions. It implies usage through the resource description, but lacks guidance on scenarios like checking a user's availability before a call or comparing with other presence-related tools (though none exist among siblings). This is implied usage at best.
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 does disclose the HTTP method (GET) via the API line, indicating a read-only operation. However, it does not mention authentication requirements, response format, or pagination behavior beyond the existence of page/per_page parameters. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose, followed by a concise API reference and a bulleted parameter list. It contains no unnecessary prose. The formatting is easy to scan, though the API line could be considered optional given the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and the tool is a straightforward list operation, the description covers the essential aspects: the action, the API endpoint, and all filter parameters. It lacks explicit auth or prerequisite context, but that is less critical for a read-only list operation. Overall, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does thoroughly. Every parameter (type, status, extension_number, email, page, per_page) is explained with a phrase and examples for type and status. This goes well beyond the bare schema, providing clear meaning for each argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately states 'List extensions on the account,' using a specific verb and resource. The API endpoint further clarifies the exact operation. This clearly distinguishes it from sibling tools like ringcentral_get_extension (single extension) and ringcentral_list_phone_numbers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its list of filters, but it does not explicitly state when to use this tool versus alternatives such as ringcentral_get_extension for a single extension. No exclusions or alternative references are provided, making the usage context clear but not fully elaborated.
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?
With no annotations, the description carries the burden of disclosing behavior. It states 'Get' and shows the HTTP method 'GET', clearly implying a safe, read-only operation. It also scopes to the current account. While it doesn't explicitly discuss authentication or side effects, the GET method and simple action are sufficient for this straightforward operation, adding value beyond the empty 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the purpose and containing the API endpoint as useful supplementary context. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter account-information tool with an output schema present, the description provides the essential context: what it returns (basic company/account info) and the scope (current account). The output schema handles return details, so no further elaboration is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is no parameter ambiguity to explain. The description correctly implies no inputs are needed, and the baseline for 0-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('basic company/account information for the current account'), and it explicitly includes the API endpoint, distinguishing it from sibling tools that deal with extensions, call logs, or presence. This is a specific verb+resource combination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like ringcentral_get_extension or ringcentral_list_extensions. There is no mention of typical use cases, exclusions, or how it fits into broader workflows.
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 transparency burden. It discloses the HTTP method (GET) which implies a read-only operation and lists parameters, but it does not mention pagination behavior, date range defaults, authentication requirements, or any potential side effects. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a one-line summary followed by a compact argument list. Every line serves a purpose, providing the API endpoint and parameter definitions without unnecessary verbosity. It is easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and an output schema that covers return values, the description provides sufficient context for a straightforward list operation. However, it lacks details about result ordering, timezone handling, or pagination practicalities, which would round out completeness for a production agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates by explaining every parameter with clear meaning and even notes defaults ('~' for extension_id, max 1000 for per_page). It adds value beyond the schema by clarifying the purpose of each field and acceptable values for direction and view.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and identifies the resource as 'call log records for a specific extension/user', clearly distinguishing it from the sibling tool 'ringcentral_list_company_call_log' which would target the entire company. The scope is explicit and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a specific extension/user' provides clear context that this is for individual user call logs, implying when to use it over the company-level tool. However, it does not explicitly state when not to use it or name alternative tools for other scenarios, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It clearly discloses that the output is metadata, not the raw binary, and notes the media.ringcentral.com host difference. This is a significant behavioral trait beyond the tool name. It doesn't cover error handling or auth, but for a simple metadata fetch, the key gotcha is addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, well-structured, and front-loaded with the essential behavior. The API endpoint and argument description are clearly separated, and every sentence adds value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values need not be fully described. The description provides the key limitation (metadata not bytes), the API host, and the source of the recording ID. It lacks error-handling notes, but given the presence of an output schema and the simplicity of the tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, recording_id, is fully explained: it is required and must come from a call-log entry's `recording.id` field. This adds meaning beyond the schema, which only defines it as a string. Since schema coverage is 0%, the description compensates completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Download') and resource ('call recording's media content'), then immediately clarifies the actual behavior: it returns metadata about the binary (content type and size), not raw audio bytes. This distinguishes it from siblings like ringcentral_get_call_recording, which likely returns other recording details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly explains when to use this tool: when you need content type and size, not the actual audio bytes (which aren't representable). It doesn't explicitly name alternatives, but the context and contrast with raw audio bytes gives clear usage context, and the API endpoint provides additional integration guidance.
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?
No annotations are provided, so the description carries the burden. It clearly states the key behavioral trait (returns metadata/content URI, not audio) and includes the API endpoint. It does not mention auth requirements or response details, but for a simple read-only metadata fetch, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with the main purpose front-loaded. The API endpoint and Args section provide useful details without verbosity, and every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and has an output schema. The description covers the core purpose, distinguishes it from the download sibling, and gives the source of the required parameter. This is sufficient for an agent to correctly select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by explaining that recording_id is required and pinpointing its source: 'from a call-log entry's recording.id field'. This adds meaning beyond the bare schema type and helps the agent identify the correct value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource ('a call recording's metadata'). It also distinguishes itself from the sibling tool `ringcentral_download_call_recording` by stating it returns a content URI, not the audio itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on what the tool does and where the recording_id comes from, but it does not explicitly name the alternative tool or state when not to use it. However, the sibling list and the parenthetical '(returns a content URI, not the audio itself)' imply when to prefer the download tool.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/MSPbotsAI/ringcentral-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server