search
Search your Vaiz workspace for tasks, projects, users, comments, boards, or documents using keywords.
Instructions
Search for entities in YOUR workspace (tasks, projects, users, comments, boards, USER documents). NOT system documentation!
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| entityType | No | task | |
| query | Yes | ||
| limit | No |
Implementation Reference
- src/tools.ts:8-27 (schema)Hardcoded schema definition for the 'search' tool as part of the VAIZ_TOOLS array. Defines the tool name as 'search', its description, and input schema with entityType (enum: task/project/user/comment/board/document, default: task), query (required, minLength: 1), and limit (1-50, default: 10).
export const VAIZ_TOOLS: Tool[] = [ { name: 'search', description: 'Search for entities in YOUR workspace (tasks, projects, users, comments, boards, USER documents). NOT system documentation!', inputSchema: { type: 'object', properties: { entityType: { type: 'string', enum: ['task', 'project', 'user', 'comment', 'board', 'document'], default: 'task', }, query: { type: 'string', minLength: 1 }, limit: { type: 'number', minimum: 1, maximum: 50, default: 10 }, }, required: ['query'], additionalProperties: false, }, }, - src/proxy-server.ts:460-485 (registration)Handler registration in proxy-server.ts. The CallToolRequestSchema handler at line 481 is the generic handler that processes ALL tool call requests, including 'search'. It proxies the call to the remote Vaiz HTTP MCP API via proxyToRemote('tools/call', request.params), meaning the actual search execution logic is on the remote server. The ListToolsRequestSchema handler at line 463 merges the hardcoded VAIZ_TOOLS (including 'search') with remote tool definitions.
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 ?? []), }; } }); 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/tools.ts:8-8 (registration)Export of the VAIZ_TOOLS array which includes the 'search' tool definition. This array is imported by proxy-server.ts (line 15) and used in tool registration.
export const VAIZ_TOOLS: Tool[] = [