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

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

## Features

- Connects to Feishu 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-feishu.git
# cd mcp-feishu

# Install dependencies
pnpm install

# Build the project
pnpm run build
```
## Usage

### Starting the Server

```bash
pnpm start
```

### 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": {
      "feiShuServer": {
        "command": "node",
        "args": ["/Program Files/project/mcp-feishu/dist/index.js"],
        "env": {
          "APP_ID": "",
          "APP_SECRET": "",
          "TABLE_ID": "",
          "APP_TOKEN": ""
        }
      }
    }
```

## API Resources

The MCP-FEISHU 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:

- `get_defect_link` - Get the link to a specific defect
- `get_recently_updated_defect_list` - Get a list of recently updated defects

## Development

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

## License

MIT

TDQS

D1.7/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves a specific defect link, while the other fetches a list of recently updated defects. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'get_' prefix and snake_case naming. The naming is predictable and uniform across the set.

Tool Count2/5

With only 2 tools, the server feels thin for a domain like defect management in Feishu. This minimal set lacks essential operations like creating, updating, or deleting defects, making it under-scoped.

Completeness1/5

The tool surface is severely incomplete for defect management. It only provides read-only access to defects (link and list), missing critical CRUD operations such as create, update, delete, or search, which will cause agent failures in handling defect workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues