Skip to main content
Glama
therealsachin

Langfuse MCP Server

get_dataset_item

Retrieve detailed information about a specific dataset item by its ID to analyze Langfuse analytics, cost metrics, and usage data.

Instructions

Get detailed information about a specific dataset item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemIdYesID of the dataset item to retrieve

Implementation Reference

  • The primary handler function for the 'get_dataset_item' tool. It takes a Langfuse client and arguments, fetches the dataset item by ID, and returns formatted content or error.
    export async function getDatasetItem(
      client: LangfuseAnalyticsClient,
      args: GetDatasetItemArgs
    ) {
      try {
        const data = await client.getDatasetItem(args.itemId);
        return {
          content: [{ type: 'text' as const, text: JSON.stringify(data, null, 2) }],
        };
      } catch (error) {
        const errorMessage = error instanceof Error ? error.message : String(error);
        return {
          content: [{ type: 'text' as const, text: `Error: ${errorMessage}` }],
          isError: true,
        };
      }
    }
  • Zod schema for validating input arguments to the get_dataset_item tool, requiring a non-empty itemId string.
    export const getDatasetItemSchema = z.object({
      itemId: z.string().min(1).describe('ID of the dataset item to retrieve'),
    });
  • src/index.ts:1118-1121 (registration)
    Switch case in the CallToolRequestSchema handler that parses arguments using the schema and dispatches to the getDatasetItem handler function.
    case 'get_dataset_item': {
      const args = getDatasetItemSchema.parse(request.params.arguments);
      return await getDatasetItem(this.client, args);
    }
  • src/index.ts:744-757 (registration)
    Tool registration entry in the listTools handler, defining name, description, and input schema for get_dataset_item.
    {
      name: 'get_dataset_item',
      description: 'Get detailed information about a specific dataset item.',
      inputSchema: {
        type: 'object',
        properties: {
          itemId: {
            type: 'string',
            description: 'ID of the dataset item to retrieve',
          },
        },
        required: ['itemId'],
      },
    },
  • LangfuseAnalyticsClient method that makes the actual API call to retrieve a dataset item by ID, used by the tool handler.
    async getDatasetItem(itemId: string): Promise<any> {
      const authHeader = 'Basic ' + Buffer.from(
        `${this.config.publicKey}:${this.config.secretKey}`
      ).toString('base64');
    
      const response = await fetch(`${this.config.baseUrl}/api/public/dataset-items/${encodeURIComponent(itemId)}`, {
        headers: {
          'Authorization': authHeader,
        },
      });
    
      if (!response.ok) {
        await this.handleApiError(response, 'Get Dataset Item');
      }
    
      return await response.json();
    }

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/therealsachin/langfuse-mcp-server'

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