diff --git a/package.json b/package.json index d907da6..04ab842 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@missionsquad/mcp-msq", - "version": "0.3.1", + "version": "0.3.2", "description": "MCP server interface for the MissionSquad API", "type": "module", "main": "dist/index.js", diff --git a/src/schemas.ts b/src/schemas.ts index 9b9ec37..609f31b 100644 --- a/src/schemas.ts +++ b/src/schemas.ts @@ -94,6 +94,11 @@ export const DeleteModelSchema = z.object({ modelId: NonEmptyString, }) +const AgentModelOptionsSchema = z.object({ + temperature: z.number().min(0).max(2).optional().describe('Temperature for model generation (0-2). Omit to use model default.'), + maxTokens: z.number().int().optional().describe('Max output tokens. Use -1 for unlimited/model default.'), +}).optional().describe('Model generation options (temperature, maxTokens). These are stored in the agent\'s modelOptions.') + export const AddAgentSchema = z.object({ name: NonEmptyString.describe('Unique agent name.'), description: z.string().describe('Short description of what the agent does.'), @@ -111,6 +116,7 @@ export const AddAgentSchema = z.object({ timezoneOffset: NonEmptyString.optional().describe('Timezone offset string (e.g. "-05:00") used when addToday is true.'), tools: z.array(z.string()).optional().describe('Array of tool function names (e.g. ["geolocate"]). The server resolves these to MCP servers automatically.'), selectedFunctions: z.record(z.array(z.string())).optional().describe('Map of MCP server name to function names. Alternative to tools; use one or the other.'), + modelOptions: AgentModelOptionsSchema, }).refine( (data) => data.systemPrompt || data.systemPromptId, { message: 'Either systemPrompt or systemPromptId must be provided.', path: ['systemPrompt'] } @@ -132,8 +138,7 @@ export const UpdateAgentSchema = z.object({ timezoneOffset: NonEmptyString.optional().describe('Timezone offset string (e.g. "-05:00") used when addToday is true.'), tools: z.array(z.string()).optional().describe('Array of tool function names. Replaces all existing tools.'), selectedFunctions: z.record(z.array(z.string())).optional().describe('Map of MCP server name to function names. Replaces existing selectedFunctions.'), - temperature: z.number().min(0).max(2).optional().describe('Temperature for model generation (0-2). Omit to use model default.'), - maxTokens: z.number().int().optional().describe('Max output tokens (stored in modelOptions). Use -1 or omit for unlimited/model default.'), + modelOptions: AgentModelOptionsSchema, combineSystemPrompts: z.boolean().optional().describe('Whether to combine system prompts from agent and messages.'), convertSystemPrompt: z.boolean().optional().describe('Whether to convert additional system prompts to user messages.'), })