open-index/open-npm huggingface dataset:
npm package: @setobox/mcp-coding-api
Description: MCP Server for CODING Open API - 接口列表查询、使用方式、鉴权说明
Author: Setobox
Latest version: 0.0.1

# mcp-coding-api

CODING Open API 的 MCP 服务器，提供接口列表查询、接口详情、鉴权方式说明。

## 快速开始

```bash
# 安装依赖
npm install

# 构建接口缓存（解析 YAML，生成索引 + 类型文件）
npm run build-cache

# 开发模式运行 MCP 服务器
npm run dev
```

## 文件说明

| 文件                       | 说明                                                                           |
| -------------------------- | ------------------------------------------------------------------------------ |
| `coding-open-api.yaml`   | CODING Open API 原始规范（103k 行）                                            |
| `coding-api.ts`          | **生成的接口类型索引**（携带 JSDoc 注释，供 `#coding-api` 上下文引用） |
| `cache/api-index.json`   | 轻量接口索引（MCP 服务器使用）                                                 |
| `cache/api-details.json` | 完整接口详情（MCP 服务器使用）                                                 |

## MCP 工具

| 工具                | 说明                                        |
| ------------------- | ------------------------------------------- |
| `list_apis`       | 列出接口列表，支持分类/关键词筛选和分页     |
| `get_api_detail`  | 获取接口完整详情（参数、返回值、curl 示例） |
| `search_apis`     | 按中英文关键词搜索接口（按相关性排序）      |
| `list_categories` | 列出全部接口分类及数量                      |
| `get_auth_info`   | 获取鉴权认证方式说明                        |

## VS Code 配置

`.vscode/mcp.json` 已配置好，在 VS Code 中启用 MCP 后即可使用。

支持在 VS Code 安装/启用 MCP 时预先配置以下变量：

| 变量 | 说明 |
|------|------|
| `CODING_TEAM` | 团队标识，对应 `https://{your-team}.coding.net` 的 `{your-team}` |
| `CODING_AUTH_MODE` | 认证方式：`personal_token` / `project_token` / `oauth2` |
| `CODING_PERSONAL_TOKEN` | 个人访问令牌（`personal_token` 时生效） |
| `CODING_PROJECT_TOKEN_USERNAME` | 项目令牌用户名（`project_token` 时生效） |
| `CODING_PROJECT_TOKEN_PASSWORD` | 项目令牌密码（`project_token` 时生效） |
| `CODING_OAUTH_ACCESS_TOKEN` | OAuth2 Access Token（`oauth2` 时生效） |

说明：

- `get_api_detail` 的调用示例会自动使用当前预配置的 Team 和鉴权头。
- `get_auth_info` 会显示当前配置摘要，便于确认是否配置成功。

## 使用示例

```
# 示例 1：自然语言查询
对接 coding api，获取当前个人令牌的个人信息

# 示例 2：直接指定接口 + 附加类型文件上下文
#coding-api 当前用户信息查询 DescribeCodingCurrentUser
获取当前用户信息

# 示例 3：功能检索
#coding-api 有没有查询用户可用权限的 api
```

## 认证方式

所有 API 的调用端点为：

```
POST https://{your-team}.coding.net/open-api
Content-Type: application/json
```

| 方式      | Header                                         |
| --------- | ---------------------------------------------- |
| 个人令牌  | `Authorization: token {访问令牌}`            |
| OAuth 2.0 | `Authorization: Bearer {access_token}`       |
| 项目令牌  | `Authorization: Basic {base64(用户名:密码)}` |

## 本地运行测试 MCP 工具

使用 node 直接调用 MCP 工具函数(index.js)：

```bash
node dist/index.js
```

假如要测试 `list_categories` 工具：

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_categories",
    "arguments": {}
  }
}
```

需要通过 JSON.stringify 转换为字符串后发送到 MCP 服务器的输入流。

```
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_categories","arguments":{}}}
```

即可得到接口分类列表的响应