Skip to main content
Glama

search_company_contacts

Search and retrieve company contacts using a query string and pagination options, enabling precise access to Zoom API resources via the MCP Server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
next_page_tokenNoNext page token
page_sizeNoNumber of records returned
query_stringYesSearch query string

Implementation Reference

  • Executes the tool by searching Zoom contacts with the given query_string, optional pagination params, via the /contacts/search API endpoint. Handles response and errors using utility functions.
      handler: async ({ query_string, page_size, next_page_token }) => {
        try {
          const params = { query_string };
          if (page_size) params.page_size = page_size;
          if (next_page_token) params.next_page_token = next_page_token;
          
          const response = await zoomApi.get('/contacts/search', { params });
          return handleApiResponse(response);
        } catch (error) {
          return handleApiError(error);
        }
      }
    }
  • Zod schema for input validation: required query_string, optional page_size (1-300), next_page_token.
    schema: {
      query_string: z.string().describe("Search query string"),
      page_size: z.number().min(1).max(300).optional().describe("Number of records returned"),
      next_page_token: z.string().optional().describe("Next page token")
    },
  • Full tool definition object exported in contactsTools array.
    {
      name: "search_company_contacts",
      description: "Search company contacts",
      schema: {
        query_string: z.string().describe("Search query string"),
        page_size: z.number().min(1).max(300).optional().describe("Number of records returned"),
        next_page_token: z.string().optional().describe("Next page token")
      },
      handler: async ({ query_string, page_size, next_page_token }) => {
        try {
          const params = { query_string };
          if (page_size) params.page_size = page_size;
          if (next_page_token) params.next_page_token = next_page_token;
          
          const response = await zoomApi.get('/contacts/search', { params });
          return handleApiResponse(response);
        } catch (error) {
          return handleApiError(error);
        }
      }
    }
  • src/server.js:52-52 (registration)
    Registers the entire contactsTools array (including search_company_contacts) with the MCP server via the registerTools helper.
    registerTools(contactsTools);
  • Helper function that iterates over a tools array and registers each tool on the MCP server using server.tool().
    const registerTools = (toolsArray) => {
      toolsArray.forEach(tool => {
        server.tool(
          tool.name,
          tool.schema,
          tool.handler,
          { description: tool.description }
        );
      });
    };

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

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