Skip to main content
Glama
README.md
# MCP-APIKit

MCP-APIKit is a microservice control plane (MCP) server designed specifically for Windsurf IDE integration. It fetches API information from Eolink OpenAPI and provides it to the IDE's MCP client, enabling seamless API integration and management within your development environment.

## Features

- Connects to Eolink OpenAPI to retrieve API specifications
- Exposes API information as MCP resources
- Provides tools for API discovery and exploration
- Supports API testing and integration within Windsurf IDE
- Implements the Model Context Protocol (MCP) for standardized communication

## Installation

```bash
# Clone the repository
git clone https://github.com/yourusername/mcp-apikit.git
cd mcp-apikit

# Install dependencies
pnpm install

# Build the project
pnpm run build
```

## Configuration

Create a `.env` file in the root directory with the following variables:

```
EOLINK_API_KEY=your_eolink_api_key
EOLINK_BASE_URL=https://api.eolink.com
SPACE_ID=your_space_id
PROJECT_ID=your_project_id
```

## Usage

### Starting the Server

```bash
pnpm start
```

The server will start on the port specified in your `.env` file (default: 3000).

### Debug
 
```bash
npx @modelcontextprotocol/inspector node dist/index.js
```
### Connecting from Windsurf IDE

```bash
pnpm build
```
In your Windsurf IDE settings, add a new MCP server with the following configuration:

```json
    "mcpServers": {
      "apikit": {
        "command": "node",
        "args": [
          "/Users/{userName}/Documents/mcp-apikit/dist/index.js"
        ],
        "env": {}
      }
    }
```

## API Resources

The MCP-APIKit server exposes the following resources:

- `api://projects` - List all API projects
- `api://projects/{projectId}` - Get details for a specific project
- `api://projects/{projectId}/apis` - List all APIs in a project
- `api://projects/{projectId}/apis/{apiId}` - Get details for a specific API

## Tools

The server provides the following tools:

- `search-apis` - Search for APIs across all projects
- `test-api` - Test an API endpoint with custom parameters
- `import-api` - Import an API specification from Eolink to your project

## Development

```bash
# Run in development mode with hot reloading
npm run dev
```

## License

MIT

TDQS

C2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: get_api retrieves a single API, list_apis lists multiple APIs, search_apis searches APIs, get_project retrieves a single project, list_projects lists multiple projects, and test_api tests an API. The resource-action pairs are unambiguous and well-defined.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: get_api, get_project, list_apis, list_projects, search_apis, test_api. The naming is perfectly predictable and uniform throughout the set.

Tool Count4/5

With 6 tools, the count is reasonable for managing APIs and projects, but it feels slightly thin as it lacks update or delete operations. However, it covers core retrieval and listing functions adequately for a basic API management scope.

Completeness3/5

The tool set covers retrieval and listing for APIs and projects, plus searching and testing for APIs, but there are notable gaps: no create, update, or delete operations for either resource. This limits full lifecycle management and may cause agent failures for modification tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues