项目简介
Cursor AI代理MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端服务,它使得大型语言模型(LLMs)能够以标准化的方式,通过JSON-RPC协议与Cursor的后台AI代理API进行通信。这意味着LLMs可以编程化地创建、管理和操作Cursor的强大后台代理,从而实现自主的代码开发和项目管理。
主要功能点
- AI代理管理: 提供了创建新的后台AI代理、列出所有现有代理、获取特定代理的详细状态和结果、删除代理以及向运行中的代理添加后续指令等全面功能。
- 代码仓库与模型访问: LLM可以查询用户可访问的GitHub仓库列表,并获取用于后台代理的可用AI模型清单。
- 会话与历史记录: 能够访问AI代理的完整对话历史,并接收实时的状态更新,确保LLM对代理工作进程有充分的了解。
- 安全与质量: 项目内置了持续集成/部署(CI/CD)流程、代码质量检查(ESLint)、安全漏洞扫描和分支保护规则,保障了服务器代码的质量和运行的安全性。
安装步骤
- 获取Cursor API Key:
- 打开Cursor IDE。
- 进入“设置” → “功能” → “后台代理”部分。
- 在此生成或复制您的API密钥。请务必妥善保管此密钥,因为它提供对您Cursor账户的完全访问权限。
- 安装服务器:
- 在您的系统上需要安装 Node.js 18 或更高版本。
- 打开终端或命令行工具,根据您的需求选择安装方式:
- 全局安装 (推荐):
npm install -g cursor-agent-mcp - 使用npx (无需安装,直接运行):
npx cursor-agent-mcp
- 全局安装 (推荐):
服务器配置
MCP服务器旨在与各种MCP客户端(如Claude Desktop, ChatGPT, Codex CLI等)配合使用。为了使您的MCP客户端能够连接到这个MCP服务器,您需要在客户端的配置文件中添加相应的配置信息。
以下是MCP客户端配置的关键参数和示例:
- 服务器名称 ('server name'): 您可以为这个MCP服务器实例自定义一个唯一的名称,例如 'cursor-background-agents'。
- 启动命令 ('command'): MCP客户端将执行的命令,用于启动这个MCP服务器进程。通常是 'npx' 或者 'cursor-agent-mcp' (如果您已全局安装)。
- 命令参数 ('args'): 传递给启动命令的参数。例如,如果使用 'npx',参数可以是 '["cursor-agent-mcp@latest"]'。如果已全局安装 'cursor-agent-mcp' 并希望通过标准输入/输出 (Stdio) 模式运行,参数可以是 '["stdio"]'。
- 环境变量 ('env'): 用于向MCP服务器进程传递敏感信息或配置。
- 'CURSOR_API_KEY' (必填): 您的Cursor API密钥。
- 'CURSOR_API_URL' (可选): Cursor API的基准URL,默认值为 'https://api.cursor.com'。
MCP客户端配置示例 (JSON格式): 您可以直接将以下JSON片段添加到您的MCP客户端配置文件(例如Claude Desktop的'claude_desktop_config.json')中,请务必将 'your_cursor_api_key_here' 替换为您的实际Cursor API密钥。
{ "mcpServers": { "cursor-background-agents": { "command": "npx", "args": ["cursor-agent-mcp@latest"], "env": { "CURSOR_API_KEY": "your_cursor_api_key_here", "CURSOR_API_URL": "https://api.cursor.com" } } } }
对于ChatGPT或OpenAI平台自托管: 如果您需要将此MCP服务器暴露给外部服务(如ChatGPT或OpenAI平台),您可以自托管HTTP服务器并使用工具(如ngrok)将其暴露到公网。详细的自托管和ChatGPT连接配置步骤,请参考项目README文件中的'🌐 Self-Hosting for OpenAI Platform & ChatGPT'部分。
基本使用方法
一旦MCP服务器在您的LLM客户端中配置并启动,LLM便能够通过调用服务器提供的工具来与Cursor后台AI代理进行交互。LLM将使用自然语言或结构化请求来触发这些工具的功能。
以下是一些LLM可能使用的示例场景:
- 列出AI代理: LLM可能会发出请求,例如:“列出我所有正在运行的Cursor AI代理。” 这会调用 'listAgents' 工具。
- 创建AI代理: LLM可以指示:“创建一个AI代理,让它在 'https://github.com/myuser/my-project' 仓库中修复所有TypeScript错误并添加单元测试。” 这会调用 'createAgent' 工具。
- 获取代理详情: LLM可以询问:“查看ID为 'agent-xyz-123' 的AI代理的当前状态和进度。” 这会调用 'getAgent' 工具。
- 添加后续指令: 如果一个代理正在运行,LLM可以发出指令:“告诉ID为 'agent-abc-456' 的AI代理,除了现有任务外,它还需要为新功能更新文档。” 这会调用 'addFollowup' 工具。
- 获取对话历史: LLM可以请求:“获取ID为 'agent-def-789' 的AI代理的完整对话历史记录。” 这会调用 'getAgentConversation' 工具。
信息
分类
开发者工具