get_task
Retrieve complete details of a task using its database ID or HRID (e.g., PRJ-123).
Instructions
Get detailed information about a specific task by database ID or HRID (e.g., "PRJ-123")
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes |
Implementation Reference
- src/tools.ts:62-74 (registration)Tool definition for 'get_task' registered in the VAIZ_TOOLS array with name, description, and inputSchema. This is the static schema definition that gets merged with remote tool definitions at runtime.
{ name: 'get_task', description: 'Get detailed information about a specific task by database ID or HRID (e.g., "PRJ-123")', inputSchema: { type: 'object', properties: { taskId: { type: 'string', minLength: 1 }, }, required: ['taskId'], additionalProperties: false, }, }, - src/proxy-server.ts:460-479 (registration)Handler registration in the proxy server. All tool calls (including 'get_task') are handled generically by the CallToolRequestSchema handler which proxies the request to the remote backend. The static VAIZ_TOOLS definitions are merged via mergeByName when listing tools.
private registerHandlers(): void { const lowLevel = this.mcpServer.server; lowLevel.setRequestHandler(ListToolsRequestSchema, async () => { this.log('← tools/list'); try { const result = (await this.proxyToRemote('tools/list')) as { tools?: Tool[]; }; const remoteTools = result?.tools ?? []; return { tools: mergeByName(VAIZ_TOOLS, remoteTools) }; } catch { const cached = this.responseCache.get('tools/list') as { tools?: Tool[]; } | undefined; return { tools: mergeByName(VAIZ_TOOLS, cached?.tools ?? []), }; } }); - src/proxy-server.ts:481-485 (handler)The actual execution handler for 'get_task' - it is proxied to the remote backend via CallToolRequestSchema. The tool name and arguments (including taskId) are forwarded to the remote Vaiz MCP API.
lowLevel.setRequestHandler(CallToolRequestSchema, async (request) => { this.log(`← tools/call ${request.params.name}`); const result = await this.proxyToRemote('tools/call', request.params); return result as { content: Array<{ type: string; text: string }> }; }); - src/proxy-server.ts:40-48 (helper)Helper function used during registration to merge hardcoded tool definitions (including 'get_task') with remote tool definitions fetched from the backend.
function mergeByName<T extends { name: string }>( hardcoded: T[], remote: T[], ): T[] { const map = new Map<string, T>(); for (const item of hardcoded) map.set(item.name, item); for (const item of remote) map.set(item.name, item); return [...map.values()]; } - src/tools.ts:66-74 (schema)Input schema for the 'get_task' tool: requires a single 'taskId' string parameter (minLength: 1). The taskId can be a database ID or an HRID like 'PRJ-123'.
inputSchema: { type: 'object', properties: { taskId: { type: 'string', minLength: 1 }, }, required: ['taskId'], additionalProperties: false, }, },