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
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ID of the dataset item to retrieve |
Input Schema (JSON Schema)
{
"properties": {
"itemId": {
"description": "ID of the dataset item to retrieve",
"type": "string"
}
},
"required": [
"itemId"
],
"type": "object"
}
Implementation Reference
- src/tools/get-dataset-item.ts:10-26 (handler)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, }; } }
- src/tools/get-dataset-item.ts:4-6 (schema)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'], }, },
- src/langfuse-client.ts:517-533 (helper)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(); }