Skip to main content
Glama
MSPbotsAI

ringcentral-mcp

by MSPbotsAI

ringcentral-mcp

RingCentral MCP Service — a stateless HTTP MCP server wrapping the RingCentral REST API, covering account info, extensions, phone numbers, presence, call queues, contacts, and call logs/recordings.

Tech stack: Python 3.12 + uv + FastMCP (Starlette/Uvicorn)

What is RingCentral / when would an agent use this

RingCentral is a cloud phone / UCaaS (telephony) platform MSPs use to manage a customer's business phone system — extensions, phone numbers, presence, call queues, directory/personal contacts, and call history. An agent should reach for this MCP for requests like:

  • "Who has extension 101 / what extensions exist?" → ringcentral_list_extensions, ringcentral_get_extension

  • "Is this person available / on a call right now?" → ringcentral_get_presence

  • "Which numbers are provisioned for this account?" → ringcentral_list_phone_numbers

  • "Who staffs the support call queue?" → ringcentral_list_queues, then ringcentral_list_queue_members

  • "Show recent inbound calls for extension X" / "get that call's recording" → ringcentral_list_user_call_log / ringcentral_list_company_call_log, then ringcentral_get_call_recording using the call log entry's recording.id

It follows the MSPbots Vendor MCP Service SOP: stateless, no stored credentials, per-request header authentication. All 13 tools are read-only.

Related MCP server: Sentinel Core Agent

Authentication

RingCentral's REST API uses the JWT bearer flow — a server-to-server grant with no user browser redirect. A JWT credential is generated in the RingCentral admin console for a dedicated "service user" (Roles & Permissions → the service user's JWT credential), then exchanged for a short-lived access token:

POST https://platform.ringcentral.com/restapi/oauth/token
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=<jwt>

A fresh access token is cheap to obtain and this service must stay stateless, so it re-authenticates on every call rather than caching/refreshing a token — no derived token is ever cached across requests (SOP §3.4).

Credentials are read from HTTP headers only, on every request — never from environment variables. There is no local/single-tenant fallback mode; this keeps one tenant's credentials from ever leaking into another tenant's request.

授权参数说明 (Authentication headers)

Every request to /mcp must include the following HTTP headers:

Header

类型

是否必填

默认值

枚举值

字段描述

Example

X-RingCentral-Client-Id

string

RingCentral App 的 Client ID(在 RingCentral 开发者后台申请的应用)

abCdEfGhIjKlMnOpQr

X-RingCentral-Client-Secret

string

RingCentral App 的 Client Secret

xYz123AbC456DeF789

X-RingCentral-Jwt

string

绑定在某个 Service User 上的 JWT 凭据(RingCentral 后台 Roles & Permissions 生成),本服务用其换取短期 access token,从不落盘存储

eyJhbGciOiJSUzI1NiIs...(一长串 JWT 字符串)

Missing any of the three headers returns 401 Unauthorized with a required_headers list in the body.

Quick Start

docker compose up --build

The server starts on http://localhost:8080.

Local (uv)

uv sync
python -m ringcentral_mcp

Health Check

curl http://localhost:8080/health
# {"status": "ok"}

No credentials are required for the health endpoint (it is a pure local liveness probe and never calls the RingCentral API).

Environment Variables

Variable

Default

Description

MCP_HTTP_PORT

8080

Listening port

MCP_HTTP_HOST

0.0.0.0

Listening host

No credential fields exist in configuration — see Authentication above.

MCP Endpoint

POST http://localhost:8080/mcp

Connect your MCP client with:

  • Transport: http (Streamable HTTP)

  • Headers: X-RingCentral-Client-Id, X-RingCentral-Client-Secret, X-RingCentral-Jwt (all required)

Available Tools (13)

Tool

功能

参数

API

ringcentral_get_account_info

获取当前账号的公司/账号基本信息

GET /restapi/v1.0/account/~

ringcentral_list_extensions

列出账号下的分机(用户/队列/部门)

type?, status?, extension_number?, email?, page?, per_page?

GET /restapi/v1.0/account/~/extension

ringcentral_get_extension

获取单个分机详情

extension_id?(默认 ~ 即当前认证分机)

GET /restapi/v1.0/account/~/extension/{extensionId}

ringcentral_list_phone_numbers

列出公司及分机号码

usage_type?, status?, page?, per_page?

GET /restapi/v1.0/account/~/phone-number

ringcentral_get_presence

获取分机的在线/通话/免打扰状态

extension_id?(默认 ~)

GET /restapi/v1.0/account/~/extension/{extensionId}/presence

ringcentral_list_queues

列出呼叫队列

page?, per_page?

GET /restapi/v1.0/account/~/call-queues

ringcentral_list_queue_members

列出某呼叫队列的成员

queue_id(必填), page?, per_page?

GET /restapi/v1.0/account/~/call-queues/{groupId}/members

ringcentral_list_internal_contacts

列出公司通讯录(内部用户)

type?, site_id?, page?, per_page?

GET /restapi/v1.0/account/~/directory/entries

ringcentral_list_external_contacts

列出某分机的个人通讯录联系人

extension_id?(默认 ~), starts_with?, phone_number?, page?, per_page?

GET /restapi/v1.0/account/~/extension/{extensionId}/address-book/contact

ringcentral_list_company_call_log

列出全公司通话记录

date_from?, date_to?, view?, direction?, type?, page?, per_page?

GET /restapi/v1.0/account/~/call-log

ringcentral_list_user_call_log

列出单个分机的通话记录

extension_id?(默认 ~), date_from?, date_to?, view?, direction?, page?, per_page?

GET /restapi/v1.0/account/~/extension/{extensionId}/call-log

ringcentral_get_call_recording

获取录音元数据(含下载用的 contentUri)

recording_id(必填,来自通话记录的 recording.id)

GET /restapi/v1.0/account/~/recording/{recordingId}

ringcentral_download_call_recording

获取录音媒体的 content-type/大小(不含音频本体)

recording_id(必填)

GET /restapi/v1.0/account/~/recording/{recordingId}/content

page/per_page on list tools: this server caps per_page at 200 regardless of the higher limits some RingCentral endpoints document (call-log endpoints allow up to 1000, directory/entries up to 2000) — 200 is the stricter of "our SOP ceiling" vs. "vendor's real max" in every case here, so 200 always governs. per_page is otherwise passed straight through to RingCentral's own perPage query parameter.

测试示例 (Test Example)

{
  "method": "tools/call",
  "params": { "name": "ringcentral_list_extensions", "arguments": {} }
}

Equivalent curl against the running server (streamable HTTP MCP endpoint):

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-RingCentral-Client-Id: <client_id>" \
  -H "X-RingCentral-Client-Secret: <client_secret>" \
  -H "X-RingCentral-Jwt: <jwt>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": { "name": "ringcentral_list_extensions", "arguments": {} }
  }'

API Reference

  • RingCentral API Reference

  • JWT Auth Flow

  • Per-page limits verified against RingCentral's own OpenAPI spec (assets-developers.ringcentral.com/dpw/api-reference/specs/public/office/rc-platform.yml): the generic perPage parameter (extensions, phone numbers, queues, queue members, contacts) has no documented maximum; call-log endpoints document a documented max of 1000; directory/entries documents a max of 2000. This server's own 200 hard cap is stricter than all of these, so it is always the binding limit.

Known Gaps / Implementation Notes

  • ⚠️ Not yet tested against a live RingCentral account. All 13 tools have been checked structurally only (MCP handshake, tools-list, schema validity, /health, gateway 401 credential-gating). Per the parent ClickUp task, this is currently blocked at the business/procurement level — MSPbots has never purchased a RingCentral service (no paid user seat), and a JWT credential can only be bound to a real service user account, so no test credentials are available yet.

  • Endpoints verified directly against RingCentral's official OpenAPI spec — not guessed.

  • ringcentral_get_call_recording/ringcentral_download_call_recording: there is no standalone "list all recordings" endpoint — recording IDs must come from a call-log entry's recording.id field (query call logs with recordingType/withRecording params to surface them). ringcentral_download_call_recording cannot return actual audio bytes (not representable as MCP tool text output) — it returns content-type/size only; use ringcentral_get_call_recording's contentUri field for an actual download URL.

  • "Queues" have no separate /call-queue resource type in RingCentral's model — they're extensions with type Department/Call Queue, exposed at the dedicated /call-queues paths used here.

  • Scope is limited to the 13 operations above, not RingCentral's full API surface (which also includes messaging/SMS, meetings, fax, call control/RingOut, and account provisioning).

  • This server only runs in HTTP/gateway mode (no stdio transport, no single-tenant env-var credential mode) — the SOP requires credentials to come exclusively from per-request headers, so a code path that reads them from the environment instead was removed rather than kept as a "local dev convenience."

Available Tools

13 tools
ringcentral_download_call_recordingA

Download a call recording's media content (returns metadata about the binary — content type and size — not the raw audio bytes, which aren't representable as MCP tool output).

    API: GET /restapi/v1.0/account/~/recording/{recordingId}/content
    (served from the media.ringcentral.com host, not the platform API host)

    Args:
        recording_id: Required. The recording ID (from a call-log entry's `recording.id` field).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
recording_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_get_account_infoA

Get basic company/account information for the current account.

    API: GET /restapi/v1.0/account/~
    
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

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

The description clearly states the action ('Get') and 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/5

Does 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.

ringcentral_get_call_recordingA

Get a call recording's metadata (returns a content URI, not the audio itself).

    API: GET /restapi/v1.0/account/~/recording/{recordingId}

    Args:
        recording_id: Required. The recording ID (from a call-log entry's `recording.id` field).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
recording_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_get_extensionA

Get a single extension's details.

    API: GET /restapi/v1.0/account/~/extension/{extensionId}

    Args:
        extension_id: The extension ID, or "~" for the currently authenticated extension (default).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
extension_idNo~

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_get_presenceA

Get an extension's presence/telephony/do-not-disturb status.

    API: GET /restapi/v1.0/account/~/extension/{extensionId}/presence

    Args:
        extension_id: The extension ID, or "~" for the currently authenticated extension (default).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
extension_idNo~

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_list_company_call_logA

List account-wide call log records.

    API: GET /restapi/v1.0/account/~/call-log

    Args:
        date_from: ISO 8601 start of the date range.
        date_to: ISO 8601 end of the date range.
        view: "Simple" or "Detailed".
        direction: "Inbound" or "Outbound".
        type: Call type, e.g. "Voice", "Fax".
        page: Page number.
        per_page: Results per page (max 1000).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
typeNo
viewNo
date_toNo
per_pageNo
date_fromNo
directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_list_extensionsA

List extensions on the account.

    API: GET /restapi/v1.0/account/~/extension

    Args:
        type: Filter by extension type, e.g. "User", "Department", "Announcement".
        status: Filter by status, e.g. "Enabled", "Disabled", "NotActivated".
        extension_number: Filter by extension number.
        email: Filter by email address.
        page: Page number.
        per_page: Results per page.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
typeNo
emailNo
statusNo
per_pageNo
extension_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
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/5

Is 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/5

Given 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/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, 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/5

Does 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/5

Does 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.

ringcentral_list_external_contactsA

List an extension's personal address-book contacts.

    API: GET /restapi/v1.0/account/~/extension/{extensionId}/address-book/contact

    Args:
        extension_id: The extension ID, or "~" for the currently authenticated extension (default).
        starts_with: Filter to contacts whose name starts with this string.
        phone_number: Filter by phone number.
        page: Page number.
        per_page: Results per page.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo
starts_withNo
extension_idNo~
phone_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_list_internal_contactsA

List internal company directory entries (corporate users/extensions).

    API: GET /restapi/v1.0/account/~/directory/entries

    Args:
        type: Filter by directory entry type.
        site_id: Filter by site ID (for multi-site accounts).
        page: Page number.
        per_page: Results per page.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
typeNo
site_idNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_list_phone_numbersA

List all company and extension phone numbers.

    API: GET /restapi/v1.0/account/~/phone-number

    Args:
        usage_type: Filter by usage type, e.g. "DirectNumber", "CompanyNumber".
        status: Filter by status, e.g. "Normal", "Reserved".
        page: Page number.
        per_page: Results per page.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
statusNo
per_pageNo
usage_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/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 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.

ringcentral_list_queue_membersA

List the members of a call queue.

    API: GET /restapi/v1.0/account/~/call-queues/{groupId}/members

    Args:
        queue_id: Required. The call queue's extension ID.
        page: Page number.
        per_page: Results per page.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo
queue_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
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/5

Is 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/5

Given 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/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. 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/5

Does 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/5

Does 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.

ringcentral_list_queuesB

List call queues on the account.

    API: GET /restapi/v1.0/account/~/call-queues

    Args:
        page: Page number.
        per_page: Results per page.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

ringcentral_list_user_call_logA

List call log records for a specific extension/user.

    API: GET /restapi/v1.0/account/~/extension/{extensionId}/call-log

    Args:
        extension_id: The extension ID, or "~" for the currently authenticated extension (default).
        date_from: ISO 8601 start of the date range.
        date_to: ISO 8601 end of the date range.
        view: "Simple" or "Detailed".
        direction: "Inbound" or "Outbound".
        page: Page number.
        per_page: Results per page (max 1000).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
viewNo
date_toNo
per_pageNo
date_fromNo
directionNo
extension_idNo~

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
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/5

Is 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/5

Given 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/5

Does 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/5

Does 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/5

Does 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv0.1.0
    • First observedringcentral_download_call_recording
    • First observedringcentral_get_account_info
    • First observedringcentral_get_call_recording
    • First observedringcentral_get_extension
    • First observedringcentral_get_presence
    • First observedringcentral_list_company_call_log
    • First observedringcentral_list_extensions
    • First observedringcentral_list_external_contacts
    • First observedringcentral_list_internal_contacts
    • First observedringcentral_list_phone_numbers
    • First observedringcentral_list_queue_members
    • First observedringcentral_list_queues
    • First observedringcentral_list_user_call_log

TDQS

A3.9/5.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/5

All 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/5

Thirteen 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/5

The 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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Genesys Cloud platform through MCP tools, resources, and prompts, supporting queues, conversations, users, presence, and analytics with production-ready features like Streamable HTTP and per-request authentication.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Bvoip / 1Stream that exposes call-reporting, phone-status, and CRM-extension-mapping endpoints as MCP tools.
    -

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/MSPbotsAI/ringcentral-mcp'

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