get_project
Retrieve detailed project information from Simplicate using a project ID to access CRM data, timesheets, and invoice records for business management.
Instructions
Get details of a specific project by ID
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID |
Input Schema (JSON Schema)
{
"properties": {
"project_id": {
"description": "Project ID",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
}
Implementation Reference
- src/mcp/server.ts:208-223 (handler)MCP tool handler for 'get_project': validates project_id input, fetches project using SimplicateService, returns JSON stringified response.case 'get_project': { if (!toolArgs.project_id) { throw new Error('project_id is required'); } const project = await this.simplicateService.getProjectById( toolArgs.project_id as string ); return { content: [ { type: 'text', text: JSON.stringify(project, null, 2), }, ], }; }
- src/mcp/server.ts:54-67 (registration)Registration of the 'get_project' tool in ListToolsRequestHandler, including name, description, and input schema.{ name: 'get_project', description: 'Get details of a specific project by ID', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID of the project to retrieve', }, }, required: ['project_id'], }, },
- src/simplicate/services.ts:4-20 (schema)TypeScript interface defining the structure of project data returned by getProjectById.export interface SimplicateProject { id: string; name: string; project_number: string; organization?: { id: string; name: string; }; project_manager?: { id: string; name: string; }; start_date?: string; end_date?: string; budget?: number; status?: string; }
- src/simplicate/services.ts:85-88 (helper)Implementation of getProjectById in SimplicateService: makes API call to fetch single project by ID.async getProjectById(projectId: string): Promise<SimplicateProject> { const response = await this.client.get(`/projects/project/${projectId}`); return response.data; }