项目简介
该项目是 Arcjet 官方开发的基于 Model Context Protocol (MCP) 的服务端实现。它旨在为支持 MCP 的 LLM 客户端(如 Cursor、VS Code Copilot Chat 等)提供访问 Arcjet 安全平台 API 的能力。通过这个服务端,AI Agent 可以获取用户的 Arcjet 团队和站点信息,甚至检索站点的安全密钥,从而帮助开发者更便捷地将 Arcjet 集成到应用中或获取请求相关的安全信息。
主要功能点
- 列出团队: 允许 AI Agent 获取当前用户在 Arcjet 平台上的所有团队列表,包括团队名称和ID。
- 列出站点: 允许 AI Agent 根据指定的团队ID,获取该团队下的所有站点(项目)列表,包括站点名称和ID。
- 获取站点密钥: 允许 AI Agent 根据指定的站点ID,获取用于在应用中集成 Arcjet SDK 的站点安全密钥。
安装步骤
在本地计算机上安装并运行此 MCP 服务端需要 Node.js 环境。
- 克隆仓库: 使用 Git 将该 GitHub 仓库克隆到本地。
git clone https://github.com/arcjet/mcp.git cd mcp - 安装依赖: 进入仓库目录后,使用 npm 安装项目所需的依赖库。
npm install - 构建项目: 运行构建命令编译 TypeScript 源代码。
构建完成后,会在项目根目录生成 'index.js' 文件。npm run build
服务器配置
MCP 服务器不是独立运行的应用,而是由 MCP 客户端(如支持 MCP 的 IDE 或编辑器)启动和管理的。你需要将该 MCP 服务器的启动信息配置到你的客户端中。配置通常是 JSON 格式,指定如何启动服务器进程。
关键配置项说明:
- 'name': 服务器的标识名称,例如 '"arcjet"'。
- 'command': 启动服务器的可执行命令,对于此项目通常是 '"node"'。
- 'args': 传递给命令的参数列表,需要指定构建生成的 'index.js' 文件的绝对路径,例如 '["/Users/YourUsername/path/to/mcp/index.js"]'。请务必将 '/Users/YourUsername/path/to/mcp/index.js' 替换为你本地实际的文件路径。
- 'env': 传递给服务器进程的环境变量。最重要的一个环境变量是 'ARCJET_API_KEY'。
- 获取 'ARCJET_API_KEY': 当前 Arcjet 尚未提供公开的 API Key。你需要登录 Arcjet 控制台,在浏览器开发者工具的应用(Application)或存储(Storage)标签下找到 'Cookies',复制名为 'session' 的 cookie 值(一个 UUID)作为 'ARCJET_API_KEY' 的值。注意:这是一个临时的解决方法,且该 session cookie 可能会过期,需要定期更新。
配置示例(概念说明,请参考你的客户端文档进行实际配置):
你的客户端配置文件(例如 '.vscode/mcp.json' 或 Cursor 设置中的 MCP 配置)中会有一个服务器列表,你需要添加一个条目,大致结构如下:
{ "servers": { // 或 mcpServers "arcjet": { // 服务器名称 "command": "node", "args": ["/YOUR_ABSOLUTE_PATH_TO/mcp/index.js"], "env": { "ARCJET_API_KEY": "YOUR_SESSION_COOKIE_VALUE" } } } }
请根据你的 MCP 客户端的具体要求和界面进行配置。
基本使用方法
- 按照上述步骤安装、构建并配置好 MCP 客户端与 Arcjet MCP 服务端的连接。
- 重启你的 MCP 客户端(如 VS Code 或 Cursor),确保新的服务器配置被加载。
- 在客户端中打开与 AI Agent 交互的界面(如聊天窗口或 Agent 模式)。
- AI Agent 应该能够检测到并列出由 Arcjet MCP 服务端提供的工具(例如 'list-teams', 'list-sites', 'get-site-key')。
- 你可以在与 AI Agent 的对话中,提及或调用这些工具,Agent 会通过 MCP 协议请求服务端执行相应的操作,并将结果反馈给你。例如,你可以问 "列出我的 Arcjet 团队" 或 "获取 ID 为 team_xyz 的团队下的站点"。
信息
分类
开发者工具