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
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| type | No |
Input Schema (JSON Schema)
{
"properties": {
"query": {
"type": "string"
},
"type": {
"enum": [
"project",
"organization",
"person"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
}
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 || []; }