Skip to main content
Glama

list_apis

Retrieve and list available APIs within a specified project and space using the MCP-APIKit server to streamline API integration and management in Windsurf IDE.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdNoProject ID
spaceIdNoSpace ID

Implementation Reference

  • Registration of the list_apis MCP tool, including Zod input schema for optional projectId/spaceId and inline handler that fetches APIs via getApis and returns as JSON text content.
    this.server.tool( "list_apis", { projectId: z.string().optional().describe("Project ID") , spaceId: z.string().optional().describe("Space ID") }, async ({ projectId, spaceId }) => { const apis = await this.getApis(projectId, spaceId ); return { content: [{ type: "text", text: JSON.stringify({ apis }, null, 2) }] }; } );
  • Helper method in Server class providing caching for APIs by projectId, delegating fetch to eolinkService.getApis.
    private async getApis(projectId: string='FuP13lBce885f9b8437ad8346d3b8576eaf134272a61f7d', spaceId?: string): Promise<Api[]> { // Check cache first if (!this.apis[projectId]) { try { this.apis[projectId] = await eolinkService.getApis(projectId, spaceId); console.log(`Loaded ${this.apis[projectId].length} APIs for project ${projectId}`); } catch (error) { console.error(`Error loading APIs for project ${projectId}:`, error); } } return this.apis[projectId]; }
  • Core API fetching logic using axios to query Eolink's REST API for APIs in a project/space, handling pagination with size=999.
    async getApis(projectId: string=this.projectId, spaceId: string=this.spaceId): Promise<Api[]> { try { let url = `${this.baseUrl}/v3/api-management/apis?project_id=${projectId}&page=1&size=999`; // Add space_id parameter if provided if (spaceId) { url += `&space_id=${spaceId}`; } const response = await axios.get(url, { headers: this.getHeaders(), }); return response.data.data.items || []; } catch (error) { console.error(`Error fetching APIs for project ${projectId}:`, error); return []; } }
  • TypeScript interface defining the structure of individual Api objects returned in the list_apis tool response.
    export interface Api { id: string; name: string; projectId: string; path: string; method: HttpMethod; description?: string; requestHeaders?: Header[]; requestParams?: Parameter[]; requestBody?: RequestBody; responses?: Response[]; createdAt: string; updatedAt: string; }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/scarqin/mcp-apikit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server