Skip to main content
Glama

get_tracker

Retrieve tracker details and field schema from Codebeamer to understand available fields for constructing cbQL queries.

Instructions

Get details of a Codebeamer tracker including its field schema. The field list shows what fields are available for items in this tracker, useful for constructing cbQL queries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
trackerIdYesNumeric tracker ID

Implementation Reference

  • The handler for the "get_tracker" tool, which calls the Codebeamer client methods to fetch tracker details, fields, and items, then formats the result.
    server.registerTool(
      "get_tracker",
      {
        title: "Get Tracker",
        description:
          "Get details of a Codebeamer tracker including its field schema. " +
          "The field list shows what fields are available for items in this tracker, " +
          "useful for constructing cbQL queries.",
        inputSchema: {
          trackerId: z
            .number()
            .int()
            .positive()
            .describe("Numeric tracker ID"),
        },
      },
      async ({ trackerId }) => {
        const [tracker, fields, { items }] = await Promise.all([
          client.getTracker(trackerId),
          client.getTrackerFields(trackerId),
          client.listTrackerItems(trackerId, 1, 100),
        ]);
        return {
          content: [{ type: "text", text: formatTracker(tracker, fields, items) }],
        };
      },
    );
  • The function `registerTrackerTools` registers the "get_tracker" tool with the MCP server.
    export function registerTrackerTools(
      server: McpServer,
      client: CodebeamerClient,
    ): void {
      server.registerTool(
        "list_trackers",
        {
          title: "List Trackers",
          description:
            "List all trackers (Requirements, Bugs, Test Cases, etc.) in a Codebeamer project. " +
            "Use the returned tracker IDs to list items or get tracker details.",
          inputSchema: {
            projectId: z
              .number()
              .int()
              .positive()
              .describe("Numeric project ID"),
            page: z
              .number()
              .int()
              .min(1)
              .default(1)
              .describe("Page number (starts at 1)"),
            pageSize: z
              .number()
              .int()
              .min(1)
              .max(100)
              .default(25)
              .describe("Items per page (max 100)"),
          },
        },
        async ({ projectId, page, pageSize }) => {
          const result = await client.listTrackers(projectId, page, pageSize);
          return { content: [{ type: "text", text: formatTrackerList(result) }] };
        },
      );
    
      server.registerTool(
        "get_tracker",
        {
          title: "Get Tracker",
          description:
            "Get details of a Codebeamer tracker including its field schema. " +
            "The field list shows what fields are available for items in this tracker, " +
            "useful for constructing cbQL queries.",
          inputSchema: {
            trackerId: z
              .number()
              .int()
              .positive()
              .describe("Numeric tracker ID"),
          },
        },
        async ({ trackerId }) => {
          const [tracker, fields, { items }] = await Promise.all([
            client.getTracker(trackerId),
            client.getTrackerFields(trackerId),
            client.listTrackerItems(trackerId, 1, 100),
          ]);
          return {
            content: [{ type: "text", text: formatTracker(tracker, fields, items) }],
          };
        },
      );
    }

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/3KniGHtcZ/codebeamer-mcp'

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