list_projects
Fetch and display all available projects in the MCP-APIKit server to simplify API integration and management within the Windsurf IDE environment.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/services/mcpServer.ts:51-59 (handler)Handler function for the list_projects tool that fetches projects using getProjects() and returns them as JSON text content.async () => { const projects = await this.getProjects(); return { content: [{ type: "text", text: JSON.stringify({ projects }, null, 2) }] }; }
- src/services/mcpServer.ts:48-60 (registration)Registration of the list_projects tool with empty input schema and inline handler.this.server.tool( "list_projects", {}, // No parameters async () => { const projects = await this.getProjects(); return { content: [{ type: "text", text: JSON.stringify({ projects }, null, 2) }] }; } );
- src/models/api.ts:6-12 (schema)TypeScript interface defining the Project type used for projects listed by list_projects.export interface Project { id: string; name: string; description?: string; createdAt: string; updatedAt: string; }
- src/services/mcpServer.ts:244-250 (helper)Helper method providing cached access to projects, loading them if cache is empty.private async getProjects(): Promise<Project[]> { // Refresh projects if needed if (this.projects.length === 0) { await this.loadProjects(); } return this.projects; }
- src/services/eolinkService.ts:28-38 (helper)Core helper that performs the actual HTTP request to Eolink API to retrieve the list of projects.async getProjects(): Promise<Project[]> { try { const response = await axios.get(`${this.baseUrl}/projects`, { headers: this.getHeaders(), }); return response.data.data || []; } catch (error) { console.error('Error fetching projects:', error); return []; } }