Skip to main content
Glama
Synctest-hub

BoldSign MCP Server

list_teams

Retrieve and manage teams in your BoldSign organization. View team details like name, members, and dates, with search and pagination options.

Instructions

Retrieve a paginated list of teams within your BoldSign organization. This API fetches team details such as team name, users, created date, and modified date for all listed teams, with options for filtering using a search term and navigating through pages of results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageSizeYes
pageYes
searchKeyNoOptional. A search term to filter the list of teams. The API will return teams whose details, such as name, match the provided search term.

Implementation Reference

  • The main handler function that implements the list_teams tool. It initializes the TeamsApi client, calls listTeams with pagination and search parameters, and handles the response or errors using utility functions.
    async function listTeamsHandler(payload: ListTeamsSchemaType): Promise<McpResponse> {
      try {
        const teamsApi = new TeamsApi();
        teamsApi.basePath = configuration.getBasePath();
        teamsApi.setApiKey(configuration.getApiKey());
        const teamListResponse: TeamListResponse = await teamsApi.listTeams(
          payload.page,
          payload.pageSize ?? undefined,
          payload.searchKey ?? undefined,
        );
        return handleMcpResponse({
          data: teamListResponse,
        });
      } catch (error: any) {
        return handleMcpError(error);
      }
    }
  • Zod schema defining the input parameters for the list_teams tool: pageSize (1-100), page (default 1), optional searchKey.
    const ListTeamsSchema = z.object({
      pageSize: z.number().int().min(1).max(100),
      page: z.number().int().min(1).default(1),
      searchKey: commonSchema.OptionalStringSchema.describe(
        'Optional. A search term to filter the list of teams. The API will return teams whose details, such as name, match the provided search term.',
      ),
    });
    
    type ListTeamsSchemaType = z.infer<typeof ListTeamsSchema>;
  • Tool definition registering the 'list_teams' tool, including name, description, input schema, and wrapper handler that delegates to listTeamsHandler.
    export const listTeamsToolDefinition: BoldSignTool = {
      method: ToolNames.ListTeams.toString(),
      name: 'List teams',
      description:
        'Retrieve a paginated list of teams within your BoldSign organization. This API fetches team details such as team name, users, created date, and modified date for all listed teams, with options for filtering using a search term and navigating through pages of results.',
      inputSchema: ListTeamsSchema,
      async handler(args: unknown): Promise<McpResponse> {
        return await listTeamsHandler(args as ListTeamsSchemaType);
      },
    };
  • Registers the listTeamsToolDefinition in the array of teams API tools, which is later aggregated into the main tools list.
    export const teamsApiToolsDefinitions: BoldSignTool[] = [getTeamToolDefinition, listTeamsToolDefinition];
  • Enum definition providing the exact string name 'list_teams' used in the tool method.
     * Retrieve a paginated list of teams within your BoldSign organization.
     * This API fetches team details such as team name, users, creation date, and modification date for all listed teams,
     * with options for filtering using a search term and navigating through pages of results.
     */
    ListTeams = 'list_teams',
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 mentions pagination and filtering, which adds some behavioral context, but it lacks details on permissions required, rate limits, error handling, or what the response format looks like (e.g., structure of returned team details). For a read operation with no annotation coverage, this is a significant gap 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded, starting with the core purpose and then detailing capabilities in a single, efficient sentence. Every sentence adds value without redundancy, though it could be slightly more structured by separating key points into bullet points for clarity.

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?

Given no annotations and no output schema, the description provides basic context on purpose and parameters but lacks completeness. It doesn't cover response format, error cases, or integration details, which are important for a tool with 3 parameters and no structured output. It's adequate for minimal use but has clear gaps in fully informing the 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 description coverage is 33% (only 'searchKey' has a description), so the description must compensate. It adds meaning by explaining that filtering uses a search term to match team details like name and that pagination navigates through pages, which clarifies 'pageSize' and 'page' beyond the schema's numeric constraints. However, it doesn't fully detail all parameters (e.g., default values or practical limits), leaving some gaps.

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

Purpose4/5

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

The description clearly states the verb ('Retrieve') and resource ('paginated list of teams within your BoldSign organization'), specifying it fetches team details like name, users, and dates. It distinguishes from siblings like 'get_team' by indicating it lists multiple teams rather than retrieving a single one, though it doesn't explicitly compare to other list tools like 'list_contacts' or 'list_users'.

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 for fetching multiple teams with filtering and pagination, but it doesn't explicitly state when to use this tool versus alternatives like 'get_team' for a single team or other list tools for different resources. No guidance on prerequisites or exclusions is provided, leaving usage context inferred rather than defined.

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

Install Server

Other 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/Synctest-hub/boldsign-mcp'

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