Skip to main content
Glama
queryTask.ts2.43 kB
import { z } from "zod"; import { searchTasksWithCommand } from "../../models/taskModel.js"; import { getQueryTaskPrompt } from "../../prompts/index.js"; // 查詢任務工具 // Query task tool export const queryTaskSchema = z.object({ query: z .string() .min(1, { message: "查詢內容不能為空,請提供任務ID或搜尋關鍵字", // Query content cannot be empty, please provide task ID or search keywords }) .describe("搜尋查詢文字,可以是任務ID或多個關鍵字(空格分隔)"), // Search query text, can be task ID or multiple keywords (space-separated) isId: z .boolean() .optional() .default(false) .describe("指定是否為ID查詢模式,默認為否(關鍵字模式)"), // Specify whether it is ID query mode, default is false (keyword mode) page: z .number() .int() .positive() .optional() .default(1) .describe("分頁頁碼,默認為第1頁"), // Page number, default is page 1 pageSize: z .number() .int() .positive() .min(1) .max(20) .optional() .default(5) .describe("每頁顯示的任務數量,默認為5筆,最大20筆"), // Number of tasks displayed per page, default is 5, maximum is 20 }); export async function queryTask({ query, isId = false, page = 1, pageSize = 3, }: z.infer<typeof queryTaskSchema>) { try { // 使用系統指令搜尋函數 // Use system command search function const results = await searchTasksWithCommand(query, isId, page, pageSize); // 使用prompt生成器獲取最終prompt // Use prompt generator to get the final prompt const prompt = await getQueryTaskPrompt({ query, isId, tasks: results.tasks, totalTasks: results.pagination.totalResults, page: results.pagination.currentPage, pageSize, totalPages: results.pagination.totalPages, }); return { content: [ { type: "text" as const, text: prompt, }, ], }; } catch (error) { return { content: [ { type: "text" as const, text: `## 系統錯誤\n\n查詢任務時發生錯誤: ${ // ## System Error\n\nAn error occurred while querying tasks: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } }

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/cjo4m06/mcp-shrimp-task-manager'

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