# @lelemon-ai/mcp 中文文档

规范地址：https://npmcn.com/package/%40lelemon-ai/mcp/

版本：0\.1\.1
npm 元数据更新时间：2026-11-01T15:30:18.930Z
中文译文更新时间：2026-11-01T17:19:05.581Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40lelemon-ai/mcp
原文对照：https://npmcn.com/package/%40lelemon-ai/mcp/?lang=original
项目主页：https://docs.lelemon.cl/
源码仓库：https://github.com/Lelemon-studio/lelemon-app

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：130 kB，11 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：1 个
- 首次发布：2026-11-01T02:42:43.052Z
- 最新版本发布：2026-11-01T15:30:18.754Z
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

用于Lelemon API v2的MCP服务器：每个API操作一个工具，从其OpenAPI合约生成

## 安装

```sh
npm install @lelemon-ai/mcp
```

也可以使用：`pnpm add @lelemon-ai/mcp`、`yarn add @lelemon-ai/mcp`、`bun add @lelemon-ai/mcp`

## README

# @lelemon-ai / mcp

一个 [MCP](https://modelcontextprotocol.io/) 的服务器 [柠檬API v2](https://docs.lelemon.cl/)． 它把API的每一个操作变成一个工具，所以克劳德，光标或任何MCP客户端可以管理代理，联系人，案例，消息和更多与您的API密钥。

每次服务器启动时，这些工具都是由API自己的OpenAPI契约生成的，因此它们总是与您指向的API相匹配。

## 安装

你需要Node.js 20或更新的版本和一个柠檬API密钥。从测试键开始(`lel_test_...`)，直到你信任客户。

服务器通过studio与MCP对话，因此您不必手动运行它。将其添加到您的客户端 `npx -y @lelemon-ai/mcp` 作为命令。

### 克劳德桌面

编辑 `claude_desktop_config.json` （设置，开发人员，编辑配置）：

```json
{
  "mcpServers": {
    "lelemon": {
      "command": "npx",
      "args": ["-y", "@lelemon-ai/mcp"],
      "env": {
        "LELEMON_API_KEY": "lel_test_...",
        "LELEMON_API_URL": "https://api.lelemon.cl"
      }
    }
  }
}
```

### 光标

编辑 `~/.cursor/mcp.json` (或 `.cursor/mcp.json` 在一个项目中)与相同的 `mcpServers` Block如上所述。

### 克劳德代码

```sh
claude mcp add lelemon \
  -e LELEMON_API_KEY=lel_test_... \
  -e LELEMON_API_URL=https://api.lelemon.cl \
  -- npx -y @lelemon-ai/mcp
```

## 设置

所有设置都是MCP客户端条目的环境变量。

| 变量 | 描述 |
| --- | --- |
| `LELEMON_API_KEY` | 必需的。工具使用的API密钥。 |
| `LELEMON_API_URL` | 要对话的API。默认为 `https://api.lelemon.cl`． 在使用其他环境中的键时显式地设置它。一定是 `https`； `http` 只接受 `localhost`， `127.0.0.1` 和 `[::1]`. |
| `LELEMON_SUBACCOUNT` | 一、 `sub_...` id。除非调用传递自己的子帐户，否则每个调用都作用于该子帐户 `subaccount` 论点。仅用于平台密钥。 |
| `LELEMON_MCP_ALLOW` | 打开隐藏组，以逗号分隔。见下文。 |
| `LELEMON_MCP_TOOLS` | 只保留这些工具，用逗号分隔。见下文。 |
| `LELEMON_OPENAPI_FILE` | 从文件读取合约，而不是下载。键的作用域仍然是从API中读取的。 |

## 它暴露了什么

只是工具。没有资源，也没有提示：API所能做的一切都是一个操作，而一个操作就是一个工具。

工具名称是API的操作id，比如 `agents.list`， `cases.takeControl` 或者 `whatsapp.messages.create`． 每个工具都将其操作的路径和查询值作为参数，JSON请求体作为参数 `body`，以及可选的 `subaccount`.

每个工具还声明一个 `outputSchema`，调用工作时API给出的答案的顶级属性（类型、enum和简短描述；嵌套对象只是） `object`，因此列表保持较小)，并返回该答案为 `structuredContent` 在与文本相同的JSON旁边。答案没有主体（删除）的工具两者都没有。失败的调用返回一个错误，没有 `structuredContent`.

注释告诉客户端每个工具的功能： `readOnlyHint` 读, `destructiveHint` 对于删除和任何发送信息或花钱的东西，以及 `openWorldHint` 能够接触到外部人员或系统的工具。标记为破坏性或金钱的工具在运行前应与人员确认。

### 只有你的钥匙能做什么

在启动时，服务器询问API您的密钥具有哪些作用域(`GET /v2/me`)，并只列出您的钥匙覆盖的工具。带 `agents:read` 和 `cases:read` 查看代理和案例读取，而不是整个API，这也保存了模型上下文。

### 自己筛选列表

`LELEMON_MCP_TOOLS` 进一步缩小列表范围。每个条目是一个操作id或以。结尾的前缀 `.*`：

```
LELEMON_MCP_TOOLS=cases.*,agents.list,agents.retrieve
```

与任何操作都不匹配的条目会在开始时停止服务器，这样就不会忽略键入错误。过滤器是该客户端的设置，而不是API的设置。

### 隐藏的组

有些工具是关闭的，直到你打开它们 `LELEMON_MCP_ALLOW`． 组隐藏更改其中某些内容或返回秘密的操作。无害的阅读，比如 `apiKeys.list`， `approvals.list` 或者 `suppressions.retrieve`，总是可见的。

| 集团 | 它隐藏了什么 |
| --- | --- |
| `keys` | 创建，更改，旋转和删除API密钥，以及返回一个秘密的每个工具（签名秘密，webhook秘密，运行身份）。除非你把这个打开，否则模特是看不见秘密的。 |
| `approvals` | 批准，拒绝或要求审查代理人想要做的事情，以及行动的批准范围。 |
| `suppression` | 删除联系人，更改选择退出和编辑消息。 |

```
LELEMON_MCP_ALLOW=keys,approvals
```

### 上传和下载

只接受的操作 `multipart/form-data` （文件上传）或用二进制文件回答不能是工具，所以它们被忽略了。同时接受多部分和JSON的操作，例如使用 `text`，通过JSON公开。在开始时，服务器将打印遗漏的操作，以确定原因。

## 不做两次就重新尝试

每一个创造东西或有副作用的工具都需要一个 `idempotencyKey`． 发送消息或花钱的工具（效果） `money`)需要它：模型选择一个键并记住它。对于其他密钥，当您省略它时将生成一个密钥。

这些工具的每个结果和每个错误都返回它使用的键作为自己的键 `idempotencyKey: <key>` 块和错误内部。当调用失败或超时时，使用相同的键重试：如果第一次调用成功，API将使用原始结果进行应答，而不是再次执行。

## 错误

错误命名工具和参数，而不是路由或标头。

-   在调用API之前发现的错误将作为工具错误返回 `code` （`unknown_argument`， `missing_argument`， `invalid_argument`)，参数的名称，以及有效参数列表。
-   `api_unreachable` 和 `timeout` (调用等待50秒，小于MCP客户端默认等待的60秒，因此客户端得到这个错误，而不是它自己的错误 `-32001`)表示是否使用相同的重试 `idempotencyKey`． 等待时间少于50秒的客户端首先放弃。
-   `invalid_response` 意味着API回答成功，但答案不是工具文档的JSON对象。电话通了。
-   来自API的错误保留其 `code`， `message` 和 `fix`, `fix.endpoint` 作为工具名称和 `fix.param` 作为参数名。

## 它一开始就下载了什么

每次启动时，服务器都会下载 `GET <LELEMON_API_URL>/v2/openapi.json` （15秒限制）和 `GET <LELEMON_API_URL>/v2/me` 用你的钥匙。如果其中一个失败，它将退出，代码为1，并在stderr上显示一条消息，说明它尝试了哪个URL以及要检查什么。当它启动时，它打印一行代码：名称和版本、公开的工具数量和子帐户。

它只发送你的密钥到 `LELEMON_API_URL`.

## 开发

```sh
pnpm --filter @lelemon-ai/mcp typecheck
pnpm --filter @lelemon-ai/mcp test
pnpm --filter @lelemon-ai/mcp build
```

读取实际合同使用的测试 `apps/docs/api/openapi.v2.json`． 点 `LELEMON_OPENAPI_FILE` 在另一个文件中进行测试。

## 许可证

麻省理工学院，莱蒙SpA。

## 常见问题

### @lelemon-ai/mcp 是什么？

用于Lelemon API v2的MCP服务器：每个API操作一个工具，从其OpenAPI合约生成

### 如何安装 @lelemon-ai/mcp？

在项目目录运行 npm install @lelemon-ai/mcp，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 lelemon-mcp，可以用 npx lelemon-mcp 直接运行。

### @lelemon-ai/mcp 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @lelemon-ai/mcp 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @lelemon-ai/mcp 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @lelemon-ai/mcp 可以商用吗？

@lelemon-ai/mcp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @lelemon-ai/mcp 还在维护吗？

最新版本 0\.1\.1 发布于 2026/11/01（1 天前）；至今共发布 3 个版本，其中过去 12 个月发布了 3 个；首次发布于 2026/11/01。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

