@answerai/answeragent-mcp
Version:
A lightweight Model Context Protocol (MCP) server for Answer AI chatflow and document store management
45 lines (44 loc) • 1.58 kB
JavaScript
import { z } from "zod";
// Define schema for parsed flow data structure
export const ParsedNodeSchema = z.object({
id: z.string(),
type: z.string(),
label: z.string(),
description: z.string().optional(),
category: z.string().optional(),
credential: z.string().optional(),
prompts: z.object({
systemMessagePrompt: z.string().optional(),
humanMessagePrompt: z.string().optional(),
agentInstructions: z.string().optional(),
}).optional(),
});
export const ParsedFlowDataSchema = z.object({
nodes: z.array(ParsedNodeSchema),
credentialIds: z.array(z.string()),
});
export const ChatflowSchema = z.object({
id: z.string().uuid().optional(),
name: z.string(),
description: z.string().optional(),
visibility: z.string().optional(),
flowData: z.string().optional(),
deployed: z.boolean().optional(),
isPublic: z.boolean().optional(),
apikeyid: z.string().optional(),
chatbotConfig: z.string().optional(),
apiConfig: z.string().optional(),
analytic: z.string().optional(),
speechToText: z.string().optional(),
category: z.string().optional(),
type: z.string().optional(),
userId: z.string().optional(),
organizationId: z.string().optional(),
createdDate: z.string().datetime().optional(),
updatedDate: z.string().datetime().optional(),
deleteDate: z.string().datetime().optional(),
badge: z.string().optional(),
isOwner: z.boolean().optional(),
canEdit: z.boolean().optional(),
parsedFlowData: ParsedFlowDataSchema.optional(),
});