Skip to main content
Glama
surajpratap

Zoom MCP Server

by surajpratap

@kindflow/zoom-mcp-server

MCP server that gives Claude Code native tool access to the Zoom API. Supports meetings, transcripts, users, and team chat.

Features

  • Meeting Transcripts — Fetch and parse cloud recording transcripts into clean, readable text

  • Meetings — List, create, update, and delete meetings; view past meeting participants

  • Users — List and inspect account users

  • Team Chat — List channels, read messages, and send messages

  • Read-Only Mode — Safe by default; write tools only available when explicitly enabled

Related MCP server: Zoom API MCP Server

Prerequisites

You need a Zoom Server-to-Server OAuth app. Create one at marketplace.zoom.us:

  1. Go to Develop > Build App > Server-to-Server OAuth

  2. Add the required scopes for the APIs you want to use:

    • cloud_recording:read:admin — for transcripts and recordings

    • meeting:read:admin, meeting:write:admin — for meetings

    • user:read:admin — for users

    • chat_message:read:admin, chat_message:write:admin — for team chat

    • chat_channel:read:admin — for listing channels

  3. Note your Account ID, Client ID, and Client Secret

Setup with Claude Code

Quick setup (CLI)

claude mcp add zoom -- npx @kindflow/zoom-mcp-server

Then set your environment variables in ~/.claude/settings.json under the zoom server entry.

Manual setup

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "zoom": {
      "command": "npx",
      "args": ["@kindflow/zoom-mcp-server"],
      "env": {
        "ZOOM_ACCOUNT_ID": "your-account-id",
        "ZOOM_CLIENT_ID": "your-client-id",
        "ZOOM_CLIENT_SECRET": "your-client-secret",
        "ZOOM_MODE": "readonly"
      }
    }
  }
}

Set ZOOM_MODE to readwrite to enable creating meetings, sending chat messages, etc.

Available Tools

Transcripts (Read)

Tool

Description

zoom_list_recordings

List cloud recordings for a user within a date range

zoom_get_meeting_transcript

Download and parse a meeting transcript into clean text

zoom_get_meeting_summary

Get AI-generated meeting summary (requires Zoom AI Companion)

Meetings (Read)

Tool

Description

zoom_list_meetings

List scheduled, live, upcoming, or previous meetings

zoom_get_meeting

Get meeting details including settings and join URL

zoom_list_past_meeting_participants

List who attended a past meeting

Meetings (Write — requires readwrite mode)

Tool

Description

zoom_create_meeting

Create a new meeting

zoom_update_meeting

Update an existing meeting

zoom_delete_meeting

Delete a meeting

Users (Read)

Tool

Description

zoom_list_users

List all users in the account

zoom_get_user

Get a specific user's details

Team Chat (Read)

Tool

Description

zoom_list_channels

List chat channels

zoom_list_chat_messages

List messages in a channel

Team Chat (Write — requires readwrite mode)

Tool

Description

zoom_send_chat_message

Send a message to a channel or user

Environment Variables

Variable

Required

Description

ZOOM_ACCOUNT_ID

Yes

Zoom Server-to-Server OAuth account ID

ZOOM_CLIENT_ID

Yes

Zoom app client ID

ZOOM_CLIENT_SECRET

Yes

Zoom app client secret

ZOOM_MODE

No

readonly (default) or readwrite

Troubleshooting

sh: zoom-mcp-server: command not found when using npx

This happens with asdf version manager. Use one of these alternatives:

Install globally, then reference directly:

npm install -g @kindflow/zoom-mcp-server
{
  "zoom": {
    "command": "zoom-mcp-server",
    "env": { ... }
  }
}

Or point to the installed file with node:

{
  "zoom": {
    "command": "node",
    "args": ["node_modules/@kindflow/zoom-mcp-server/dist/index.js"],
    "env": { ... }
  }
}

Development

git clone https://github.com/surajpratap/zoom-mcp-server.git
cd zoom-mcp-server
npm install
npm test         # Run tests
npm run build    # Compile TypeScript
npm run dev      # Run with tsx (no build needed)

License

MIT

Available Tools

10 tools
zoom_get_meetingA

Get detailed information about a specific meeting including settings, join URL, and agenda.

ParametersJSON Schema
NameRequiredDescriptionDefault
meetingIdYesThe meeting ID or UUID

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral traits. It discloses that the tool returns detailed information, but does not mention authentication requirements, rate limits, or any other behavioral aspects. This is adequate but minimal for a simple read operation.

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

Conciseness5/5

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

The description is a single sentence that is concise and front-loaded. Every word serves a purpose with no redundancy or unnecessary details.

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 only one parameter and no output schema, the description adequately covers what the tool does and what it returns (settings, join URL, agenda). It is nearly complete, though it could mention other potential return fields for completeness.

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

Parameters3/5

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

The schema description coverage for the single parameter is 100%, so the description does not need to add parameter meaning. The tool description adds context about the returned data but not about the parameter itself, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'detailed information about a specific meeting', including specific fields like settings, join URL, and agenda. This distinguishes it from sibling tools such as zoom_get_meeting_summary and zoom_get_meeting_transcript.

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 does not provide any guidance on when to use this tool versus alternatives like zoom_get_meeting_summary or zoom_get_meeting_transcript. It lacks explicit when-to-use or when-not-to-use context.

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

zoom_get_meeting_summaryA

Get the AI-generated meeting summary for a specific meeting. Requires Zoom AI Companion to be enabled on the account. Returns error if unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
meetingIdYesThe meeting ID or UUID

TDQS

A4.2/5.0
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses authorization requirement and error condition. It does not detail side effects or latency, but for a read operation this is adequate.

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

Conciseness5/5

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

Two sentences: first states purpose concisely, second adds essential constraints. No unnecessary 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?

For a simple tool with one parameter and no output schema, the description covers purpose, prerequisites, and error. It lacks details on output format, but given low complexity, it is reasonably complete.

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

Parameters3/5

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

Schema coverage is 100% with a clear description of 'meetingId' as 'The meeting ID or UUID'. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'AI-generated meeting summary', and specifies it is for a specific meeting. It is distinct from siblings like zoom_get_meeting and zoom_get_meeting_transcript.

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 mentions a prerequisite (Zoom AI Companion enabled) and error behavior, which guides when to use. It does not explicitly compare to alternatives, but the sibling names imply differentiation.

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

zoom_get_meeting_transcriptA

Download and parse the transcript for a specific meeting recording. Returns clean text with timestamps and speaker names. Use zoom_list_recordings first to find the meeting ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
meetingIdYesThe meeting ID or UUID (use double-encoded UUID if it starts with / or contains //)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior. It states the output format (clean text, timestamps, speaker names) but doesn't mention if the operation is read-only, safe, or any side effects. For a get-like tool, this is adequate but lacks depth.

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

Conciseness5/5

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

Two sentences: the first states purpose, the second gives usage guidance. No filler, front-loaded, and every sentence earns its place.

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 simple single-parameter tool and no output schema, the description covers purpose, output details, and prerequisite. It could explicitly mention that it only works for recorded meetings, but the phrase 'meeting recording' implies this.

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

Parameters3/5

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

The single parameter (meetingId) is fully described in the schema (100% coverage). The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description uses specific verbs 'download and parse' and clearly identifies the resource as 'transcript for a specific meeting recording.' It distinguishes from sibling tools like zoom_get_meeting (meeting info) and zoom_get_meeting_summary (summary).

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

Usage Guidelines4/5

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

The description explicitly says to 'Use zoom_list_recordings first to find the meeting ID,' providing clear prerequisite guidance. It doesn't exclude alternative uses but gives a necessary precondition.

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

zoom_get_userA

Get detailed information about a specific Zoom user including email, role, timezone, and department.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesZoom user ID or email address

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It lists some return fields but does not disclose behavioral traits like authentication requirements, rate limits, error handling, or what happens if userId is invalid. The read-only nature is implied but not confirmed.

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?

Description is a single sentence, 16 words, with no wasted text. Verb and resource are front-loaded. Every word earns its place.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema and no annotations, the description provides enough context about what the tool returns (email, role, timezone, department) to guide usage. More detail on available fields or behavior could improve completeness, but it is adequate.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter. The tool description adds no additional meaning to the parameter beyond what the schema already provides (userId type and description). Baseline of 3 is appropriate.

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

Purpose5/5

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

Description clearly states verb 'Get' and resource 'detailed information about a specific Zoom user' and lists example fields. It distinguishes from siblings like zoom_get_meeting 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 provide explicit guidance on when to use this tool versus alternatives like zoom_list_users. Usage is implied for getting details of a specific user, but no exclusions or context about prerequisites are given.

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

zoom_list_channelsB

List Zoom Team Chat channels for a user.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesZoom user ID or email address
page_sizeNoNumber of records per page (max 300)
next_page_tokenNoToken for next page of results

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. Description fails to disclose behavioral traits like pagination (despite schema hints), rate limits, or authentication requirements. Carries full burden but is insufficient.

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?

Single sentence with no unnecessary words. Every word contributes to meaning.

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?

Minimal tool with 3 parameters and no output schema. Description is functional but missing details about pagination or response format. Adequate for basic understanding.

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 has 100% description coverage for all 3 parameters. Description adds no additional meaning, so baseline score of 3 applies.

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

Purpose5/5

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

Description uses specific verb 'List' and resource 'Zoom Team Chat channels' with scope 'for a user'. Clearly differentiates from sibling 'zoom_list_chat_messages' which lists messages, not channels.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. Lacks context about prerequisites or typical use cases.

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

zoom_list_chat_messagesB

List messages in a Zoom Team Chat channel. Returns message content, sender, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesZoom user ID or email address
to_channelYesChannel ID to list messages from
fromNoStart date in YYYY-MM-DD format
toNoEnd date in YYYY-MM-DD format
page_sizeNoNumber of records per page (max 50)
next_page_tokenNoToken for next page of results

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description adds minimal behavioral context. It does not mention pagination, rate limits, required permissions, or that it is read-only. The return data is described but not the operational 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 a single, clear sentence with no unnecessary fluff. It efficiently conveys the purpose and key return values.

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 explains the return values (content, sender, timestamps) but lacks details on pagination (page_size, next_page_token) and error handling. For a list tool without output schema or annotations, this is adequate but incomplete.

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?

All 6 parameters have descriptions in the schema (100% coverage), so the description does not need to add extra meaning beyond what the schema provides. It adds no additional parameter context.

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 ('List messages'), the resource ('Zoom Team Chat channel'), and the returned data ('message content, sender, and timestamps'). It is distinct from sibling tools like zoom_list_channels, which list channels, not messages.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives, nor any conditions or exclusions. The description is purely functional without contextual advice.

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

zoom_list_meetingsB

List meetings for a Zoom user. Can filter by type: scheduled, live, upcoming, or previous.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesZoom user ID or email address
typeNoMeeting type filter (default: scheduled)
page_sizeNoNumber of records per page (max 300)
next_page_tokenNoToken for next page of results

TDQS

B3.2/5.0
Behavior3/5

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

No annotations, so description carries burden; 'List' implies read-only, but lacks detail on rate limits, ordering, or default behavior of filter types.

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

Conciseness5/5

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

Two sentences, no wasted words, front-loaded with purpose.

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

Completeness2/5

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

Missing return value description (no output schema), no explanation of pagination despite page_size and next_page_token parameters.

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 has 100% coverage, description adds minimal value beyond 'Can filter by type'. Baseline 3 is appropriate.

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

Purpose4/5

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

Clearly states 'List meetings for a Zoom user' with filter options, but doesn't differentiate from siblings like zoom_get_meeting or zoom_list_recordings.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., zoom_get_meeting for a single meeting). No mention of prerequisites or when not to use.

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

zoom_list_past_meeting_participantsA

List participants of a past meeting. Shows who attended, join/leave times, and duration.

ParametersJSON Schema
NameRequiredDescriptionDefault
meetingIdYesThe meeting UUID (double-encode if starts with / or contains //)
page_sizeNoNumber of records per page (max 300)
next_page_tokenNoToken for next page of results

TDQS

A3.8/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 convey behavioral traits. It explains what data is returned but does not explicitly state that the operation is read-only or any potential side effects, rate limits, or auth requirements.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, and contains no extraneous information. Every word adds value.

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

Completeness4/5

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

For a simple list tool with 3 parameters, the description covers the main purpose and return data. It does not mention pagination (implicit from parameters) or sorting, but is mostly adequate given the tool's straightforward nature.

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

Parameters3/5

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

The schema has 100% coverage for parameter descriptions. The description adds context by specifying 'past meeting' but does not provide additional parameter-level details beyond what the schema already offers.

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

Purpose5/5

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

Description clearly states the action (list participants) and resource (past meeting), and the specific data returned (attendees, join/leave times, duration). It distinguishes from sibling tools that handle chat messages, recordings, or single meeting details.

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 the tool is for past meetings, which is a usage context. However, it does not explicitly state when to use this over alternatives like zoom_get_meeting, nor does it specify prerequisites or when not to use.

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

zoom_list_recordingsA

List cloud recordings for a Zoom user within a date range. Returns meeting topics, dates, and recording IDs needed to fetch transcripts.

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesZoom user ID or email address
fromNoStart date in YYYY-MM-DD format
toNoEnd date in YYYY-MM-DD format
page_sizeNoNumber of records per page (max 300)
next_page_tokenNoToken for next page of results

TDQS

A3.6/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 behavioral traits. It omits critical details such as pagination behavior, rate limits, required permissions, or data retention policies. The description only states the action and return fields, leaving significant gaps in 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 a single sentence that front-loads the core action and then states what is returned. Every word is informative and there is no redundancy.

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

Completeness2/5

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

Given the tool has 5 parameters (including pagination) and no output schema, the description should explain return format, pagination mechanics, and error conditions. It does not address these, leaving an agent without sufficient context for correct usage.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema already documents each parameter. The description adds no new meaning to the parameters (e.g., does not clarify that 'from' and 'to' are required for date range or explain the meaning of 'page_size' beyond the schema). It adds value only by linking the output to transcripts.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'cloud recordings for a Zoom user within a date range', and specifies return values (meeting topics, dates, recording IDs) needed for transcripts. This distinguishes it from sibling tools like zoom_list_meetings and zoom_get_meeting_transcript.

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 implies usage when needing recording IDs for fetching transcripts, providing context for a workflow. However, it does not explicitly state when to use this tool versus alternatives (e.g., for local recordings or other listing tools) or mention prerequisites like authentication.

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

zoom_list_usersB

List all users in the Zoom account. Can filter by status (active, inactive, pending).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by user status (default: active)
page_sizeNoNumber of records per page (max 300)
next_page_tokenNoToken for next page of results

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states it lists users with status filters, omitting important details like pagination (implied by page_size and next_page_token in schema), required permissions, rate limits, or whether it returns all users across pages. The agent is left unaware of these operational behaviors.

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 extremely concise at two sentences and 15 words. The critical information (action, resource, filter) is front-loaded in the first sentence. Every word adds value; there is no redundant or tangential content. It is a model of efficient communication.

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

Completeness2/5

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

Given the lack of output schema, the description should explain what the tool returns (e.g., list of user objects with fields). It also omits pagination behavior, though parameters imply it. For a tool with 3 parameters and no output schema, the description is incomplete, leaving substantial operational context unspecified.

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

Parameters3/5

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

The input schema already documents all 3 parameters with descriptions (100% coverage), so the baseline is 3. The description adds no new meaning beyond rephrasing the status filter. For page_size and next_page_token, no additional context is provided, but the schema descriptions are sufficient. Thus, the description does not significantly enhance parameter understanding.

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

Purpose5/5

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

The description clearly states the action ('list all users') and the resource ('users'), making the purpose immediately obvious. It distinguishes from sibling tools like zoom_get_user (single user) and zoom_list_meetings (different resource) by specifying the exact scope. The optional filter adds nuance without confusing the core task.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that for a single user, zoom_get_user is appropriate, or that for filtered subsets, other tools might exist. Usage context is entirely implicit from the tool name and basic action.

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. 10 tool updatesv1.0.6
    • First observedzoom_get_meeting
    • First observedzoom_get_meeting_summary
    • First observedzoom_get_meeting_transcript
    • First observedzoom_get_user
    • First observedzoom_list_channels
    • First observedzoom_list_chat_messages
    • First observedzoom_list_meetings
    • First observedzoom_list_past_meeting_participants
    • First observedzoom_list_recordings
    • First observedzoom_list_users

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: meetings vs users vs chat, and within meetings, details vs summary vs transcript vs recordings vs participants. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent 'zoom_[verb]_[resource]' pattern using snake_case. The verbs 'get' (for singular) and 'list' (for collections) are used uniformly, making the pattern predictable.

Tool Count5/5

10 tools is well-scoped for a Zoom server covering meetings, users, and chat. Each tool earns its place with no redundancy, and the number is suitable for an MCP server.

Completeness3/5

The set focuses on retrieval but lacks create, update, or delete operations for meetings, users, and chat. Missing common actions like creating a meeting, sending a message, or updating a user leave notable gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP (Multi-Agent Conversation Protocol) Server that enables interaction with the Zoom API through natural language commands, auto-generated using AG2's MCP builder.
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP Server that enables interaction with Zoom's API through the Multi-Agent Conversation Protocol, allowing users to access and control Zoom's functionality via natural language commands.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Zoom services through the Zoom API. Provides access to meeting management, user administration, and other Zoom platform features through natural language commands.
    -

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/surajpratap/zoom-mcp-server'

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