UNPKG

genkit-cli

Version:

CLI for interacting with the Google Genkit AI framework

52 lines (49 loc) 1.59 kB
/** * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { RuntimeManager } from '@genkit-ai/tools-common/manager'; import { McpServer } from '@modelcontextprotocol/sdk/server/mcp'; import z from 'zod'; export function defineTraceTools(server: McpServer, manager: RuntimeManager) { server.registerTool( 'get_trace', { title: 'Get Genkit Trace', description: 'Returns the trace details', inputSchema: { traceId: z .string() .describe( 'trace id (typically returned after running a flow or other actions)' ), }, }, async ({ traceId }) => { try { const response = await manager.getTrace({ traceId }); return { content: [ // TODO: render the trace insetad of of dumping it as is. { type: 'text', text: JSON.stringify(response, undefined, 2) }, ], }; } catch (e) { return { content: [{ type: 'text', text: `Error: ${e}` }], }; } } ); }