Skip to main content
Glama

list_apis

Retrieve available APIs from Eolink OpenAPI for a specific project and space to enable API integration and management in Windsurf IDE.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdNoProject ID
spaceIdNoSpace ID

Implementation Reference

  • Handler function for the list_apis tool that fetches APIs using getApis helper and returns formatted JSON response.
    async ({ projectId, spaceId }) => { const apis = await this.getApis(projectId, spaceId ); return { content: [{ type: "text", text: JSON.stringify({ apis }, null, 2) }] }; }
  • Zod input schema defining optional projectId and spaceId parameters for the list_apis tool.
    { projectId: z.string().optional().describe("Project ID") , spaceId: z.string().optional().describe("Space ID") },
  • Registration of the list_apis MCP tool including name, schema, and inline handler function.
    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) }] }; } );
  • Caching helper method getApis that calls eolinkService.getApis and stores results in this.apis cache.
    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 helper implementation of getApis that performs HTTP GET request to Eolink's API management endpoint to list APIs.
    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 []; } }

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