关于 One
One 是面向需要使用团队应用的 Agent 的托管 MCP 服务,涵盖 Gmail、Slack、Shopify 和 Linear 等平台。它可跨已连接平台查找带文档的操作,并通过三个工具执行,同时支持 OAuth 和访问控制。
主要功能
- 01连接 1,000 多款应用
- 02查找跨平台操作及其文档
- 03执行已连接应用的 API 操作
- 04按连接、操作和权限限制访问
- 05代理请求并自动隐藏密钥
适用场景
- 01读取 Gmail 邮件或发送 Slack 消息
- 02获取 Shopify 商店中的商品
- 03生成 Gmail 或 Linear 集成代码
- 04限制 Agent 只能访问指定操作
MCP 相关
提供使用 Streamable HTTP 的托管 MCP 端点,通过 One OAuth 认证,也支持本地安装。它公开用于列出集成、查找操作和执行操作的工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.withone.ai/mcpclaude mcp add --transport http one https://mcp.withone.ai/mcp{"mcpServers":{"one":{"type":"http","url":"https://mcp.withone.ai/mcp"}}}在 Cursor 中打开{"servers":{"one":{"type":"http","url":"https://mcp.withone.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"one":{"type":"http","url":"https://mcp.withone.ai/mcp"}}}{"mcpServers":{"one":{"serverUrl":"https://mcp.withone.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action_id | string | 是 | 由 search_one_platform_actions 返回的操作系统 ID(actionId 字段)。 |
| connection_key | string | 是 | 调用方连接的连接键(来自 list_one_integrations)。 |
| data | any | 否 | 请求正文。默认使用 JSON;设置 is_form_url_encoded 时编码为表单数据。 |
| headers | object|null | 否 | 要转发到上游平台的额外请求标头。 |
| is_form_data | boolean|null | 否 | 尚不支持——设置此项会返回错误。请将正文作为 JSON 发送,或使用 is_form_url_encoded 进行 application/x-www-form-urlencoded 编码。 |
| is_form_url_encoded | boolean|null | 否 | 将正文编码为 application/x-www-form-urlencoded。 |
| path_variables | object|null | 否 | 用于替换操作路径中 {var} / {{var}} 占位符的值。 |
| query_params | object|null | 否 | 附加到请求的查询字符串参数。 |
详细介绍
One MCP Server
网站 · 文档 · 控制面板 · 更新日志 · X · LinkedIn
通过单个 MCP 服务,将你的 AI Agent 连接到 1000 多款应用。查找任务所需的操作及其文档,并跨平台执行 API 调用,无需管理 OAuth 令牌或 API 密钥。
npm install -g @withone/cli
one init
就是这么简单。One CLI 会提示你输入 API 密钥(可从 One 控制面板获取),并为你的环境配置 MCP 服务:Claude Desktop、Cursor、Claude Code、Windsurf,或任何兼容 MCP 的 Agent。
功能
- 1000 多个平台。 Gmail、Slack、Shopify、HubSpot、Stripe、Linear、QuickBooks,以及更多平台。
- 自然语言执行。“读取我最近的 Gmail 邮件”、“在 Slack 的 #general 频道发送消息”
- 代码生成。“构建一个使用 Gmail 发送邮件的表单”、“创建一个列出我的 Linear 项目的控制面板”
- **不臃肿的工具。**无论你连接多少个平台或操作,都只会公开 3 个工具。一次调用即可跨平台查找任务所需的所有操作及其文档,让 Agent 的上下文窗口保持简洁。
- **精细访问控制。**限制 Agent 可访问的操作、连接和权限级别(读取、写入、管理员)。
- **默认安全。**所有请求均通过 One 代理,机密会自动脱敏,无需管理平台 API 密钥。
示例
直接执行操作:
“获取我最近的 5 封 Gmail 邮件”
“向 Slack 的 #general 发送消息:‘10 分钟后开会’”
“获取我 Shopify 商店中的所有商品”
生成集成代码:
“创建一个使用 Gmail 发送邮件的 React 表单组件”
“构建一个控制面板,显示 Linear 用户及其分配的项目,并支持筛选”
“创建一个可分页表格,用于获取和显示 QuickBooks 发票,并支持搜索和排序”
工具
该服务公开三个 MCP 工具:
| 工具 | 说明 |
|---|---|
list_one_integrations | 列出可用平台和活动连接,以及每个连接授予的 access(全部、方法或特定操作) |
find_one_actions | 一次调用即可跨平台查找任务所需每项操作及其文档;load 可获取文档的更多内容或某个替代项的文档 |
execute_one_action | 在已连接的平台上执行 API 操作 |
查找操作
find_one_actions 的每个操作对应一条 requests 条目,其中包含 kebab-case 格式的 platform 和简短的 intent,仅说明操作本身(例如 "send a message to a channel",而不是消息内容)。task 用通俗的方式描述整个工作,ai_model 则指定发出请求的模型;系统要求 Agent 每次查找都同时提供这两项,因为 task 有助于区分相似操作。对于每个 intent,One 的决策模型会选择要使用的操作;响应会介绍该操作,在模型不确定时标明替代项,并列出一些其他选项。如果某个平台没有对应的活动平台(例如 click-up 对应 clickup),则不会进行搜索:响应会按匹配度从高到低列出可能的目标平台,方便 Agent 使用正确的平台再次请求。大型文档会以摘要形式返回;如需查看未包含的章节,请使用 load: [{ action_id, section }] 再次调用 find_one_actions;如需完整文档,请使用 full: true;如需目录,请使用 toc: true。ONE_ACTION_IDS、ONE_PERMISSIONS 和 ONE_CONNECTION_KEYS 适用于每个响应:它们拒绝的操作绝不会被提供;如果它们拒绝模型选定的操作,则会改用下一个符合条件的候选项。
从 1.x 升级:search_one_platform_actions 和 get_one_action_knowledge 已移除。find_one_actions 取代了这两者。
远程 MCP 服务
不想在本地运行任何内容?One 提供远程 MCP 服务,地址为 https://mcp.withone.ai/mcp。将支持远程(HTTP)服务的任何 MCP 客户端指向该 URL,并通过 OAuth 使用 One 进行身份验证。无需 npm install,也不必管理 ONE_SECRET。你可以在 One 的授权页面批准访问权限,并精确限定 Agent 可以使用哪些连接、操作和权限级别。这些选择会通过每个连接的 access 字段传回 Agent,因此 Agent 无需搜索即可知道自己可以执行哪些操作。
将其添加到客户端的 MCP 配置中。该端点使用 Streamable HTTP 传输:
{
"mcpServers": {
"one": {
"type": "http",
"url": "https://mcp.withone.ai/mcp"
}
}
}
有些客户端会省略 type,只使用 URL;基于 UI 的客户端(自定义连接器)则只需要 URL。首次连接时,客户端会打开浏览器,通过 One 进行身份验证和授权。之后即可使用相同的三个工具。
一键安装:
Windsurf 链接会在编辑器的 MCP 市场中打开 One 页面。该市场由官方 MCP 注册表提供,其中 One 以 ai.withone/mcp 发布。从该页面安装后,Windsurf 会自行处理 OAuth 登录。
手动安装
如果你更倾向于手动配置服务,而不是使用 one init,请直接安装软件包:
npm install @withone/mcp
然后设置必需的环境变量:
ONE_SECRET=your-one-secret-key
身份范围限定
将连接限定到特定身份(例如用户、团队或组织):
ONE_IDENTITY=user_123
ONE_IDENTITY_TYPE=user
| 变量 | 描述 | 值 |
|---|---|---|
ONE_IDENTITY | 实体的标识符(例如用户 ID、团队 ID) | 任意字符串 |
ONE_IDENTITY_TYPE | 身份类型 | user、team、organization、project |
设置后,MCP 服务只会返回与指定身份关联的连接。这适用于多租户应用,可将集成限定到特定用户或实体。
访问控制
精细控制 MCP 服务可以查看和执行的内容:
ONE_PERMISSIONS=read
ONE_CONNECTION_KEYS=conn_key_1,conn_key_2
ONE_ACTION_IDS=action_id_1,action_id_2
ONE_KNOWLEDGE_AGENT=true
| 变量 | 类型 | 默认值 | 描述 |
|---|---|---|---|
ONE_PERMISSIONS | read | write | admin | admin | 按 HTTP 方法筛选操作。read = 仅 GET,write = GET/POST/PUT/PATCH,admin = 所有方法 |
ONE_CONNECTION_KEYS | * 或逗号分隔的键 | * | 将可见连接和平台限制为指定的连接键 |
ONE_ACTION_IDS | * 或逗号分隔的 ID | * | 将可见和可执行的操作限制为指定的操作 ID |
ONE_KNOWLEDGE_AGENT | true | false | false | 完全移除 execute_one_action 工具,强制进入仅知识模式。此时,find_one_actions 会返回每个选定操作的完整文档,其中说明了如何从代码调用该操作,以及一份集成代码指南(直通 URL、x-one-* 标头、ONE_SECRET / ONE_{PLATFORM}_CONNECTION_KEY 环境变量、仅限后端使用),用于编写应用程序代码 |
所有默认值都会保留当前行为。如果未设置访问控制环境变量,服务将以完整访问权限启动,并提供所有工具。
你在此处配置的内容也会呈现给 Agent:list_one_integrations 会为每个连接添加 access 字段,让 Agent 提前了解可以在该连接上执行哪些操作,无需花费一轮搜索。该字段的值包括:
access | 条件 |
|---|---|
{ "policy": "full" } | 未设置操作允许列表,且 ONE_PERMISSIONS=admin——所有操作均可执行。 |
{ "policy": "methods", "methods": ["GET", ...] } | 未设置操作允许列表,但 ONE_PERMISSIONS 为 read/write——仅这些 HTTP 方法可执行。 |
{ "policy": "actions", "actions": [{ "actionId", "title", "method" }] } | 已设置 ONE_ACTION_IDS——仅可执行指定的操作(即该连接所属平台上的操作),因此无需搜索。 |
手动配置
如果你使用了 one init,下方的配置已为你完成。以下示例供参考或手动配置时使用。
独立运行
npx @withone/mcp
需要 Node.js 22.23.4+、24.22.1+ 或 26.12.1+。较旧版本的 Node 会信任已遭入侵的 eMudhra CA 证书(2026 年 10 月),因此网络攻击者可能拦截 ONE_SECRET。在较旧版本的 Node 上,服务仍会启动,但每个工具都会返回错误,并附上根据其安装方式更新 Node 的命令。如果你暂时无法更新,ONE_ALLOW_UNPATCHED_NODE=1 可让它继续调用 One;启用期间,你仍会面临风险。
Claude Desktop / Cursor
将以下内容添加到 MCP 配置中:
- Claude Desktop: MacOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json· Windows:%APPDATA%/Claude/claude_desktop_config.json - Cursor: 打开 Cursor 菜单并选择“MCP Settings”
{
"mcpServers": {
"one": {
"command": "npx",
"args": ["@withone/mcp"],
"env": {
"ONE_SECRET": "your-one-secret-key"
}
}
}
}
Docker
docker build -t one-mcp-server .
docker run -e ONE_SECRET=your_one_secret_key one-mcp-server
上面列出的所有环境变量都可以通过 -e 标志传入。
安全
所有发往第三方平台的请求都会经过身份验证,并通过 One 的 API 代理。MCP 服务不会直接处理 OAuth 令牌或平台 API 密钥。ONE_SECRET 密钥是唯一必需的凭据,并且会自动从返回给客户端的所有响应载荷中移除。敏感标头会从记录和返回的请求配置中剥离。
许可证
MIT
支持
如需支持,请联系 [email protected] 或访问 https://withone.ai
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。