search
Find projects, organizations, and people in Simplicate business data using natural language queries to access CRM, projects, and contact information.
Instructions
Search across Simplicate resources
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| type | No |
Implementation Reference
- src/mcp/server.ts:164-182 (registration)Registration of the 'search' MCP tool including its input schema definition.{ name: 'search', description: 'Search across Simplicate resources', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'The search query', }, type: { type: 'string', description: 'The type of resource to search (project, organization, person)', enum: ['project', 'organization', 'person'], }, }, required: ['query'], }, },
- src/mcp/server.ts:319-335 (handler)MCP tool handler for 'search' that validates input, calls SimplicateService.search, and returns JSON-formatted results.case 'search': { if (!toolArgs.query) { throw new Error('query is required'); } const results = await this.simplicateService.search( toolArgs.query as string, toolArgs.type as 'project' | 'organization' | 'person' | undefined ); return { content: [ { type: 'text', text: JSON.stringify(results, null, 2), }, ], }; }
- src/simplicate/services.ts:134-139 (helper)Core search implementation in SimplicateService that constructs the search endpoint and queries the Simplicate API.// Search across resources async search(query: string, type?: 'project' | 'organization' | 'person'): Promise<any[]> { const endpoint = type ? `/search/${type}` : '/search'; const response = await this.client.get(endpoint, { q: query }); return response.data || []; }