Skip to main content
Glama
mkXultra
by mkXultra
message.schema.ts3.35 kB
// Agent Communication MCP Server - メッセージング機能の実装済みZodスキーマ定義 // このファイルは実際の実装に合わせて作成されています import { z } from 'zod'; // 共通のバリデーションルール(実装済み) const roomNameSchema = z .string() .min(1, 'Room name cannot be empty') .max(50, 'Room name cannot exceed 50 characters') .regex(/^[a-zA-Z0-9-_]+$/, 'Room name must contain only alphanumeric characters, hyphens, and underscores'); const agentNameSchema = z .string() .min(1, 'Agent name cannot be empty') .max(50, 'Agent name cannot exceed 50 characters'); const messageContentSchema = z .string() .min(1, 'Message cannot be empty') .max(2000, 'Message cannot exceed 2000 characters'); // send_message ツール(実装済み) export const sendMessageInputSchema = z.object({ agentName: agentNameSchema, roomName: roomNameSchema, message: messageContentSchema, metadata: z.record(z.any()).optional(), }); export const sendMessageOutputSchema = z.object({ success: z.boolean(), messageId: z.string(), roomName: z.string(), timestamp: z.string(), mentions: z.array(z.string()), }); // get_messages ツール(実装済み) export const getMessagesInputSchema = z.object({ roomName: roomNameSchema, agentName: agentNameSchema.optional(), limit: z.number().int().min(1).max(1000).optional().default(50), offset: z.number().int().min(0).optional().default(0), mentionsOnly: z.boolean().optional().default(false), }); export const getMessagesOutputSchema = z.object({ roomName: z.string(), messages: z.array(z.object({ id: z.string(), agentName: z.string(), roomName: z.string(), message: z.string(), timestamp: z.string(), mentions: z.array(z.string()), metadata: z.record(z.any()).optional(), })), count: z.number(), hasMore: z.boolean(), }); // wait_for_messages ツール export const waitForMessagesInputSchema = z.object({ agentName: agentNameSchema, roomName: roomNameSchema, timeout: z.number() .int() .min(1000, 'Timeout must be at least 1000ms') .max(120000, 'Timeout cannot exceed 120000ms') .optional() .default(120000), }); export const waitForMessagesOutputSchema = z.object({ messages: z.array(z.object({ id: z.string(), agentName: z.string(), roomName: z.string(), message: z.string(), timestamp: z.string(), mentions: z.array(z.string()), metadata: z.record(z.any()).optional(), })), hasNewMessages: z.boolean(), timedOut: z.boolean(), warning: z.string().optional(), waitingAgents: z.array(z.string()).optional(), }); // エイリアスを追加(後方互換性のため) export const sendMessageSchema = sendMessageInputSchema; export const getMessagesSchema = getMessagesInputSchema; // 型定義をエクスポート(実装済み機能のみ) export type SendMessageInput = z.infer<typeof sendMessageInputSchema>; export type SendMessageOutput = z.infer<typeof sendMessageOutputSchema>; export type GetMessagesInput = z.infer<typeof getMessagesInputSchema>; export type GetMessagesOutput = z.infer<typeof getMessagesOutputSchema>; export type WaitForMessagesInput = z.infer<typeof waitForMessagesInputSchema>; export type WaitForMessagesOutput = z.infer<typeof waitForMessagesOutputSchema>;

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/mkXultra/agent-communication-mcp'

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