关于 Edworking MCP
Edworking MCP 是用于访问 Edworking 项目、任务、Docs、对话和文件的官方开源服务。它面向需要受权限控制访问的助手,并通过不同授权范围区分读取和写入操作。
主要功能
- 01搜索任务、Docs、文件和消息
- 02创建与更新任务和 Docs
- 03读取对话并发送消息
- 04管理项目并上传文件
- 05通过 OAuth 范围控制访问
适用场景
- 01查找项目任务和工作区内容
- 02创建或编辑任务、Doc
- 03读取对话并发送消息
- 04上传公开的 HTTPS 文件
MCP 相关
该服务通过 Streamable HTTP 和 OAuth 将 MCP 客户端连接到 Edworking,并依据授权范围及上游令牌权限控制访问。也可使用 Edworking API 令牌运行本地 stdio 模式。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.edworking.com/mcpclaude mcp add --transport http edworking-edworking https://mcp.edworking.com/mcp{"mcpServers":{"edworking-edworking":{"type":"http","url":"https://mcp.edworking.com/mcp"}}}在 Cursor 中打开{"servers":{"edworking-edworking":{"type":"http","url":"https://mcp.edworking.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"edworking-edworking":{"type":"http","url":"https://mcp.edworking.com/mcp"}}}{"mcpServers":{"edworking-edworking":{"serverUrl":"https://mcp.edworking.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Edworking MCP
Edworking 官方开源 MCP 服务。将你的助手连接到你的账号有权访问的项目、任务、文档、对话和文件。
托管端点: https://mcp.edworking.com/mcp
公开身份: Edworking MCP。Railway 基础设施保留代号 Bellsprout。所有新连接均使用上方的自定义域名。使用早期 Railway URL 创建的连接必须重新连接,因为其 OAuth 资源受众已更改。
发布版本: 此源码为 0.2.0 版本做准备,包含 22 个工具。请先部署匹配的、限定作用域的 API 后端,再部署 MCP 服务。文档需要新的 docs:read / docs:write 令牌权限和 OAuth 授权。现有授权不会自动扩展。
已发布基线: 0.1.4 已通过 npm、Official MCP Registry、Smithery 和 Glama 托管连接器提供。OpenAI 审核已于 2026 年 10 月 13 日提交,目前仍在审核中;尚未在 OpenAI 发布。各目录的具体状态请参阅发布检查清单。
连接
将端点添加到支持 Streamable HTTP 和 OAuth 的 MCP 客户端。按照浏览器中的授权窗口操作。在 Edworking → Profile → API tokens 中创建专用的限定作用域令牌,在 Edworking MCP 授权页面输入令牌,并批准客户端和权限。切勿将令牌粘贴到助手对话中。
默认情况下,连接会请求读取权限。写入操作需要匹配的 OAuth 作用域和上游令牌权限。如果客户端无法请求其他权限,请使用明确的作用域重新连接。在 Edworking 中撤销专用令牌,即可断开使用该令牌的所有授权。授权有效期最长为 30 天,或在 Edworking 令牌过期时失效,以较早者为准。访问令牌有效期最长为十分钟,刷新令牌会轮换。
codex mcp add edworking-mcp --url https://mcp.edworking.com/mcp
codex mcp login edworking-mcp
如需测试 ChatGPT,请使用 Plugins → Add custom MCP server,选择 OAuth 并输入端点。能否使用取决于你的套餐和工作区策略。便携式 OpenAI 插件包位于 plugin/。0.2.0 软件包声明了六个读取和五个写入 OAuth 作用域,其中包括文档。已提交的 OpenAI 审核包仍是独立的 0.1.4 产物,直到提交新版本。请验证实际授权页面和 get_connection 结果。10 月 13 日,提交门户中的元数据授权使用了五个读取作用域,而单独的 ChatGPT 演示连接获得了全部九个作用域,并成功创建任务和发送消息。现有只读授权在重新授权之前仍为只读;具有写入权限的令牌不会自动升级 OAuth 授权。
其他客户端应配置名为 edworking-mcp 的远程 HTTP 服务,并使用内置的 OAuth 流程。支持具有 PKCE、动态注册和 HTTPS Client ID Metadata Documents 的公开客户端。/mcp 仅接受 Edworking MCP 访问令牌。
客户端设置说明:Edworking MCP 指南。有关剩余功能和发布门槛,请参阅竞品评估与交付路线图。
点击 Allow access 或 Cancel 后,浏览器会自动返回助手。如果页面停留在 Returning to your assistant,请使用返回按钮。每个授权请求只能使用一次,并在十分钟后过期。如果看到 invalid_grant 或请求已过期/已使用,请从助手重新开始连接,而不是重新打开旧的授权链接。不要刷新或重新提交批准表单。
工具
| 工具 | 范围 | 用途 |
|---|---|---|
get_connection | 任意连接 | 连接名称、权限和有效期 |
list_projects、list_project_statuses、list_project_members | projects:read | 项目、有效状态和现有受派人 ID |
list_tasks、get_task | tasks:read | 按项目、状态、受派人、优先级、标题和截止日期筛选任务;读取任务内容 |
search、fetch | 每个来源的读取范围 | 已索引的任务、Docs、文件和项目消息;检索指定类型的结果 |
list_docs、get_doc | docs:read | 查找 Docs 并读取其 Markdown 内容 |
create_doc、update_doc、edit_doc_content | docs:write;编辑正文还需要 docs:read | 创建、重命名和编辑 Docs |
list_conversations | chats:read | 现有私密对话 |
read_messages | messages:read | 可访问的对话消息 |
list_files | files:read | 文件元数据 |
create_task、update_task、edit_task_content | tasks:write;编辑正文还需要 tasks:read | 创建任务;编辑名称、状态、优先级、受派人、日期和描述 |
send_message | messages:write | 发送用户指定的消息 |
create_project | projects:write | 创建项目 |
upload_file | files:write | 导入公开的 HTTPS 文件 |
将文件附加到任务还需要 files:write。列表使用游标,每页最多包含 100 项;分页时保持排序和筛选条件不变。搜索使用工作区索引,每个获准来源最多返回 20 条按相关性排序的结果。向用户展示摘要前,搜索会重新检查实时访问权限、删除状态和消息历史记录限制。索引可能会有延迟;不可用的来源会被报告,私密聊天和不属于任何项目的条目会被排除。要完整查找任务,请使用带筛选条件的列表。文件 fetch 会返回元数据,而非文件内容。
编辑任务或 Doc 的正文前,请先读取该任务或 Doc。内容读取上限为 20,000 个字符,并会提供区块句柄;定向编辑会复用协作服务和版本历史记录。大规模删除需要明确设置 allowRemoval。任务的受派人列表会替换当前列表:省略该列表可保留现有设置,使用 [] 可取消分派。受派人必须已属于该项目和工作区。不提供删除、邀请、移动任务和更改共享设置的功能。
写入操作需要 UUID requestId;重试时请使用相同的 requestId 和未更改的参数。已完成的结果会加密并缓存 24 小时。对于结果不确定的操作,系统绝不会自动重复执行:请先检查 Edworking,再决定如何处理。这不是上游提供的恰好一次事务。去重信息会在 24 小时后过期。
开发
使用 Node 24 LTS(最低要求为 22.19)。无需 OpenAI API 密钥。
npm ci
cp .env.example .env
# Generate a key and save it as TOKEN_ENCRYPTION_KEY in .env:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
npm run build
node --env-file=.env dist/index.js
运行 npm run check 可进行类型检查、安全与集成测试以及构建。如果环境变量已由 shell 加载,运行 npm run dev 会启动监视程序。
对于本地 stdio,请配置客户端运行 npx -y @edworking/[email protected],并在其进程环境中安全地提供 EDWORKING_API_TOKEN;也可以从源代码构建并运行 node /absolute/path/to/edworking-mcp/dist/stdio.js。npm 软件包是公开的。stdio 会直接使用该令牌连接 Edworking,并采用内存去重机制,该机制会在重启后重置。
Railway 部署
使用随附的 Dockerfile,在 /data 挂载卷,并设置:
| 变量 | 值 |
|---|---|
NODE_ENV | production |
PORT | 3000 |
PUBLIC_BASE_URL | 稳定的公共 HTTPS 源,不含 /mcp |
DATABASE_PATH | /data/bellsprout.sqlite |
TOKEN_ENCRYPTION_KEY | 随机生成的 32 字节密钥,以 64 个十六进制字符编码 |
EDWORKING_API_URL | https://gateway.edworking.com/ |
EDWORKING_APP_URL | https://app.edworking.com |
保持一个副本,关闭休眠,并将部署重叠设为零。/healthz 检查进程,/readyz 检查 SQLite。部署期间请保留密钥。可选的 ALLOWED_ORIGINS 用于添加精确的浏览器源,OPENAI_DOMAIN_CHALLENGE 用于提供 OpenAI 验证值,而 EDWORKING_CONNECT_URL 仅在原生 Edworking 连接页面发布后启用该页面。
请参阅运维文档、安全文档和发布文档。贡献请遵循 CONTRIBUTING.md。采用 MIT 许可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。