ESA API连接服务器

一个与esa.io API集成的Model Context Protocol (MCP)服务器,提供用户信息获取、文章管理等功能,适用于团队协作和内容管理。

  • by masseater
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 masseater/esa-mcp-server

使用说明

ESA MCP服务器

esa.io API 与…合作Model Context Protocol (MCP) 服务器。 Deno 打开JSR 对较大场景进行渲染期间已观察到该故障。

机能

现在,以下基本的esa.io API 单击功能区上MCP 作为工具提供:

  • 获取用户信息
  • 获取文章列表
  • 获取文章详细信息
  • 创建文章
  • 更新文章
  • 删除文章

使用方法(从JSR执行)

JSR(JavaScript注册表) 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积MCP 可以运行服务器。

前提条件 (Prerequisites)

  • 德诺 v2.0 安装了以下内容。(Deno v2.0 or later installed.)
  • 网络连接。(Internet connection.)

“设置”

  1. 環境変数の設定 (设置环境变量): 您可以更改放映的名称 .env 创建文件并描述以下内容:。(Create a .env 在要运行服务器的目录(通常是项目工作区根目录)中的文件中添加以下内容:)

    # .env
    ESA_TEAM_NAME="YOUR_ESA_TEAM_NAME" # Replace with your esa.io team name
    ESA_TOKEN="YOUR_ESA_API_TOKEN"     # Replace with your esa.io API access token
    

    YOUR_ESA_TEAM_NAME 打开 YOUR_ESA_API_TOKEN 将条目添加到文档注册表。(Replace YOUR_ESA_TEAM_NAME 和 YOUR_ESA_API_TOKEN 与您的实际值。)

    esa.io API 如何提交标记:

    • 你的身影esa.io 访问团队页面(例如: https://<your-team-name>.esa.io/)。
    • 单击右上角的图标,然后选择“设置”>“应用程序”。
    • 在“人员访问令牌”部分中,单击“提交新令牌”。
    • 标记名称(例如: mcp-server),然后选择所需的权限范围。这个MCP 服务器至少需要具有以下权限:
      • read (读取文章)
      • write (文章的制作、更新、删除)
      • read_user (获取用户信息)
    • 单击“生成到”。
    • 请务必复制显示的标记并将其存储在安全位置。此标记仅显示一次。
    • 复制的令牌 .env 在动态输入提示中单击 ESA_TOKEN 的明细栏样式中定义的设置。

実行 (Running)

执行以下命令:。(Run the following command:)

# 最新版を使う場合 (推奨)
deno run --allow-env --allow-net=api.esa.io --allow-read jsr:@masseater/esa-mcp-server

# 特定バージョン (例: 0.1.0) を使う場合
# deno run --allow-env --allow-net=api.esa.io --allow-read jsr:@masseater/esa-mcp-server@0.1.0
  • --allow-env:允许访问环境变量。(从属库(npm:debug)试图从内部读取整个环境变量,因此特定变量(ESA_TOKEN, ESA_TEAM_NAME),模板名称将采用不同的格式 --allow-env=... 将条目添加到文档注册表。)
  • --allow-net=api.esa.io:欧空局.io API(api.esa.io),模板名称将采用不同的格式。
  • --allow-read: Deno 内部利用npm 包等的高速缓存,(如果使用的话) .env 允许对文件的读取访问。
    • 注记: 本来应该将访问许可缩小到最小限度Deno 的缓存目录位置因环境而异,难以限制到特定路径。因此,这里考虑到便利性 --allow-read 中所述修改相应参数的值。请注意,这允许对文件系统进行广泛的读取访问。在初次执行时等Deno 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
  • jsr:@masseater/esa-mcp-server:运行JSR 指定包。如果省略版本始终是最新版本(建议)。如果您想使用特定版本 @<バージョン> (例: @0.1.0)或版本范围(@^0.1.0 等已弃用的函数的缺少的支持。

正常启动后JSON-RPC 的,之 ping 消息将在标准输出中重复显示。这表示服务器等待客户端连接的状态。要退出 Ctrl+C 来修改标记元素的显示属性。

{\"method\":\"ping\",\"jsonrpc\":\"2.0\",\"id\":0}
{\"method\":\"ping\",\"jsonrpc\":\"2.0\",\"id\":1}
{\"method\":\"ping\",\"jsonrpc\":\"2.0\",\"id\":2}
...

MCP将服务器设置为

Cursor 单击功能区上MCP 作为服务器使用时.cursor/mcp.json 中所述修改相应参数的值。

🚨 警告:如以下设置示例所示API 直接写入令牌等的方法伴随着安全风险。.cursor 目录 .gitignore 而需要与环境混合的每条反射光线,进行环境采样。尽可能 .env 使用文件${env:VAR_NAME} 强烈建议以格式导入。如果直接写入.cursor/mcp.json 绝对不要提交文件! 🚨

{
  "mcpServers": {
    "esa-mcp-server-jsr": {
      "command": "deno",
      "args": [
        "run",
        "--allow-env",
        "--allow-net=api.esa.io",
        "--allow-read",
        "jsr:@masseater/esa-mcp-server"
      ],
      "env": {
        "ESA_TOKEN": "YOUR_ACTUAL_ESA_API_TOKEN",
        "ESA_TEAM_NAME": "YOUR_ACTUAL_ESA_TEAM_NAME"
      }
    }
  }
}
  • 要点:
    • command: deno 的双曲正切值。
    • args: run 和所需的权限(--allow-env, --allow-net=api.esa.io, --allow-read),然后JSR 打包课程specifier 的双曲正切值。(由于依赖库的原因--allow-env 中所述修改相应参数的值。)
    • env:将环境变量 直接 进行配置。在您查看完详细信息后,单击.cursor/mcp.json 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

局部开发

这个MCP 要参与服务器开发或在本地修改和运行代码,请执行以下步骤:。

前提条件 (Prerequisites)

  • 德诺 v2.0 安装了以下内容。(Deno v2.0 or later installed.)
  • Git 中所述修改相应参数的值。(Git installed.)
  • esa.io 的,之API 持有令牌。

“设置”

  1. 克隆存储库:
    git clone https://github.com/masseater/esa-mcp-server.git
    cd esa-mcp-server
    
  2. 環境変数の設定 (设置环境变量): .env.example 复制 .env 创建文件esa.io API 描述令牌和团队名称。
    cp .env.example .env
    # Edit .env with your actual token and team name
    
  3. (推奨) Git フックの有効化 (启用Git挂钩(推荐)): 为了在提交前自动检查代码,请执行以下命令Git 设置挂钩。
    deno run -A https://deno.land/x/deno_hooks/mod.ts install
    

在本地运行

deno run --allow-env --allow-net --allow-read main.ts

或者,如果启用并执行热重载:

deno task dev

检查和测试

通过以下命令,可以集中执行格式、链接、类型检查、单元测试。pre-commit 挂钩在提交之前也会自动执行。

deno task check:all

集成测试esa.io API 进行调试。.env 文件必须设置正确。

deno task test:integration

JSR 发布到

打开新版本JSR 的明细栏样式中定义的设置。

  1. deno.jsonc 的,之 version 更新字段。
  2. 提交更改。
  3. 执行发布前检查。
    deno publish --dry-run
    
  4. 如果没有问题的话就公开。
    deno publish
    

许可证

这个项目 MIT许可证 的明细栏样式中定义的设置。 (注: LICENSE 如果文件还没有在存储库中,则必须单独添加。)

其他

生成元 (Generated by)

由Cursor生成(双子座-2.5-pro-exp-03-25)