Skip to main content
Glama

get_team_styles

Retrieve design styles for a Figma team to maintain visual consistency across projects. Specify team ID to access color palettes, typography, and component styles.

Instructions

Get styles for a team

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
team_idYesThe team ID
page_sizeNoOptional. Number of items per page
cursorNoOptional. Cursor for pagination

Implementation Reference

  • Core implementation of the get_team_styles tool. Fetches team styles via Figma API using team_id and optional pagination.
    async getTeamStyles(args: GetTeamStylesArgs) {
      const { team_id, ...paginationParams } = args;
      
      const params = { ...paginationParams };
      return this.api.makeRequest(`/teams/${team_id}/styles${this.api.buildQueryString(params)}`);
    }
  • TypeScript interface defining input arguments for get_team_styles: team_id required, pagination optional.
    export interface GetTeamStylesArgs extends PaginationParams {
      team_id: string;
    }
  • src/index.ts:412-431 (registration)
    Tool registration in the list of available tools, including name, description, and input schema.
    name: 'get_team_styles',
    description: 'Get styles for a team',
    inputSchema: {
      type: 'object',
      properties: {
        team_id: {
          type: 'string',
          description: 'The team ID'
        },
        page_size: {
          type: 'number',
          description: 'Optional. Number of items per page'
        },
        cursor: {
          type: 'string',
          description: 'Optional. Cursor for pagination'
        }
      },
      required: ['team_id']
    },
  • src/index.ts:594-600 (registration)
    Dispatch handler in the CallToolRequestSchema switch statement that routes the tool call to projectsHandler.getTeamStyles.
    case 'get_team_styles': {
      const args = this.validateArgs<GetTeamStylesArgs>(request.params.arguments, ['team_id']);
      const result = await this.projectsHandler.getTeamStyles(args);
      return {
        content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
      };
    }
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 of behavioral disclosure. It states a read operation ('Get'), implying it's likely non-destructive, but doesn't cover critical aspects like authentication requirements, rate limits, pagination behavior (implied by parameters but not explained), error handling, or response format. This leaves significant gaps for safe and effective tool invocation.

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 with just four words ('Get styles for a team'), making it front-loaded and efficient. There is no wasted language or redundancy, though this brevity comes at the cost of detail, which is reflected in lower scores for other dimensions.

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 complexity of a tool with 3 parameters (including pagination), no annotations, and no output schema, the description is incomplete. It fails to explain what 'styles' entails, how results are structured, or behavioral traits like pagination and authentication. This minimal description is inadequate for guiding an agent in a context with multiple sibling tools and no structured support.

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, with clear documentation for 'team_id', 'page_size', and 'cursor'. The description adds no additional parameter semantics beyond what's in the schema, such as explaining what 'styles' includes or how pagination works. Given the high schema coverage, a baseline score of 3 is appropriate as the schema handles the heavy lifting.

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

Purpose3/5

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

The description 'Get styles for a team' clearly states the verb ('Get') and resource ('styles for a team'), making the basic purpose understandable. However, it lacks specificity about what 'styles' means in this context (e.g., design styles, formatting styles) and doesn't distinguish it from sibling tools like 'get_file_styles' or 'get_style', leaving room for ambiguity about 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 use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a team ID), exclusions, or comparisons to similar tools like 'get_file_styles' or 'get_style', leaving the agent to infer usage from the name alone without explicit context.

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/smithery-ai/mcp-figma'

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