关于 DataToRAG
DataToRAG 是一个开源托管网关,用于将 MCP 客户端连接到 Google Workspace、Atlassian 和 Notion。用户授权自己的账户,网关仅提供已连接服务的工具;也可依据 MIT 许可证自行托管。
主要功能
- 01一个端点连接三类服务
- 02按用户授权 OAuth 账户
- 03每项服务支持多个账户
- 04适配上下文窗口的工具响应
- 05在已连接服务间传输文件
- 06预制技能与工作流
适用场景
- 01搜索或更新 Workspace 内容
- 02通过 MCP 客户端使用 Jira、Confluence 或 Notion
- 03在已连接服务间移动文件
- 04运行定时或由客户端调用的技能
MCP 相关
该网关通过 Streamable HTTP 提供托管或自托管的 MCP 端点,为用户已授权的 Google Workspace、Atlassian 和 Notion 账户提供连接器工具,并提供账户、技能和文件链接等内置工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://datatorag.com/mcpclaude mcp add --transport http com-datatorag-mcp-gateway https://datatorag.com/mcp{"mcpServers":{"com-datatorag-mcp-gateway":{"type":"http","url":"https://datatorag.com/mcp"}}}在 Cursor 中打开{"servers":{"com-datatorag-mcp-gateway":{"type":"http","url":"https://datatorag.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-datatorag-mcp-gateway":{"type":"http","url":"https://datatorag.com/mcp"}}}{"mcpServers":{"com-datatorag-mcp-gateway":{"serverUrl":"https://datatorag.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
通过一个端点,为 Claude 和其他 MCP 客户端连接 Google Workspace、Jira、Confluence 和 Notion。
DataToRAG 是一个开源的 Model Context Protocol 网关。你只需将 AI 客户端指向一个 URL。每个人都可以连接自己的 Google、Atlassian 和 Notion 账号,网关会向客户端提供这些账号对应的工具,并使用用户自己的 OAuth 授权调用服务。它托管于 datatorag.com,也可以根据 MIT 许可证部署在你自己的基础设施上。
60 秒快速试用
设置需要连接两个地方,两者缺一不可:
- 连接你的账号。 登录 datatorag.com/dashboard,然后连接 Google、Atlassian 或 Notion。Google 的授权同意页面默认不会勾选任何选项:勾选“全选”,或勾选你需要的服务。
- 连接你的 AI 客户端到
https://datatorag.com/mcp,然后在客户端提示时使用相同的电子邮件地址登录。
Claude(网页和桌面版)。 依次点击 Customize、Connectors、Add,再点击“Add custom connector”。粘贴 URL,高级 OAuth 字段留空。
Claude Code。
claude mcp add --transport http datatorag https://datatorag.com/mcp
Cursor 和其他需要 JSON 配置的客户端。
{
"mcpServers": {
"datatorag": {
"url": "https://datatorag.com/mcp"
}
}
}
ChatGPT。 依次点击 Settings、Connectors,启用 Developer mode,然后点击 Create 并粘贴 URL。
入门指南提供了每个步骤的截图。所有客户端都通过 OAuth 连接。
该服务已在官方 MCP 注册表中列出,名称为 com.datatorag/mcp-gateway;server.json 是该条目。
截图
仪表板中的 Agent 使用相同的工具操作你已连接的账号,无需配置客户端。
上传链接可从你的电脑上传一个文件,大小上限为 25 MB,并显示其大小和 SHA-256。
状态页面按服务显示针对生产环境最近一次端到端运行的结果。
## 连接器工具数量根据截至 2026 年 10 月的代码统计:三个连接器共 133 个工具,网关内置 10 个。
| 连接器 | 工具 | 服务 | 文档 |
|---|---|---|---|
Google Workspace (plugins/gws-mcp) | 87 | Gmail、Calendar、Drive、Docs、Sheets、Slides、Contacts、Tasks | 文档 |
Atlassian (plugins/atlassian-mcp) | 28 | Jira、Confluence | 文档 |
Notion (plugins/notion-mcp) | 18 | 页面、数据库、评论 | 文档 |
| 网关内置工具 | 10 | 已连接的账户、技能、文件上传和下载链接、连通性检查 | 文档 |
三个连接器位于此仓库的 plugins/ 目录下,并随网关镜像一同发布。客户端只能看到其用户已连接服务对应的工具。
它的与众不同之处
每项服务可连接多个账户。 在同一个登录账号下连接工作和个人 Google 账户,或两个 Notion 工作区,并选择默认账户。每个连接器工具都接受 account 参数,用于选择账户(实现方式)。
响应大小适合上下文窗口。 工具返回模型需要的内容,而非原始 API 响应。两页的 Google 文档返回的是 2 到 3 KB 的文本,而不是 50 KB 或更多的 JSON(详细说明)。
每位用户单独进行 OAuth 授权。 每个人都授权访问自己的账户,网关负责刷新授权。连接器只会收到发起调用的用户的访问令牌,而不会收到共享凭据。
文件可在服务之间流转,无需经过聊天。 文件引用用于标识邮件、附件或 Drive 文件,网关可通过一次调用将其传送到 Jira、Drive 或邮件,并返回文件大小和 SHA-256 值。你电脑上的文件可通过一次性上传链接上传(文件引用)。
技能。 现成的工作流,例如晨间简报或收件箱整理,可在仪表板中运行、按计划运行,或从任意客户端作为 MCP 提示词调用(技能、公告)。
公开状态页面。 测试会以用户的方式调用生产环境中的工具,并按服务发布运行结果(状态)。
架构
具体来说:
- 客户端。 任何 MCP 客户端都会携带 bearer token,通过 Streamable HTTP 向
POST /mcp发送请求:该 token 是网关自身授权服务器签发的 OAuth 访问令牌,也是网关唯一接受的凭据。 - 网关(
apps/gateway,单个 Node.js 进程:Express 加 Next.js)。网关会验证 bearer token,创建或复用会话,并从 Postgres 的tools表中返回tools/list,仅包含用户已连接服务的工具。tools/call会根据__拆分为插件和工具,解析用户在该服务上的令牌(如果已过期则刷新),并将调用转发给插件。每次调用都会计量。同一进程还会提供仪表板及其 Agent、文档、更新日志和状态页。 - 内置工具。
list_connected_accounts、skills_*、file_upload_link和file_download_link由网关直接响应,无需插件或注册表条目。 - 插件。 每个连接器都是
plugins/下的一个 MCP 服务。网关会以自己的非 root 账户将每个插件作为子进程启动,环境变量仅包含PATH、NODE_ENV和PORT,并在每次调用时通过X-User-Token标头传递用户令牌。插件崩溃后,每分钟最多重启三次;/health会报告每个插件的运行或停机状态。 - 注册表。 Postgres 保存用户、已连接账户、提供商令牌和工具注册表(每个插件工具的名称、描述和输入架构)。生产环境中的注册表变更以
registry/下的 SQL 文件形式保存,并由registry工作流在审批后应用。
自托管
前置条件
- Node.js 20 或更高版本,以及 pnpm 9。
- Postgres 数据库,以及作为
DATABASE_URL的连接字符串。任何 Postgres 均可;此处不会为你启动数据库。 - 为你需要的每个提供商创建一个 OAuth 客户端:Google(一个用于登录,另一个用于 Workspace 权限范围)、Atlassian、Notion。
运行网关
pnpm install
pnpm -r --filter "./packages/*" run build # the gateway reads these packages' built output
cp .env.example .env # then fill in DATABASE_URL, CONNECTION_TOKEN_KEYS and the OAuth clients
pnpm --filter @datatorag-mcp/db db:migrate # schema changes are never applied on start
pnpm dev:gateway
网关会在 http://localhost:8285 上监听(由 GATEWAY_PORT 设置):
| 路径 | 说明 |
|---|---|
/mcp | MCP 端点 |
/dashboard | 登录、连接账户、Agent |
/docs/getting-started | 文档 |
/health | 存活状态及每个插件的状态 |
/.well-known/oauth-authorization-server | MCP 客户端的 OAuth 元数据 |
在笔记本电脑上,网关会从 ~/.datatorag/plugins 加载插件;如果设置了 DATATORAG_PLUGINS_DIR,则从该目录加载。使用 pnpm --filter @datatorag-mcp/gws-mcp run build 构建插件(atlassian-mcp 和 notion-mcp 也同样如此)。
环境变量
完整列表及注释见 .env.example,用于验证环境变量的架构见 packages/config/src/index.ts。自托管所需的变量如下:
| 变量 | 用途 |
|---|---|
DATABASE_URL | Postgres 连接字符串。必填 |
CONNECTION_TOKEN_KEYS | 用于加密提供方令牌的密钥:<id>:<base64 of 32 bytes>,以逗号分隔;第一个密钥用于加密,所有密钥都可用于解密。必填;使用 openssl rand -base64 32 生成 |
GATEWAY_PORT, GATEWAY_BASE_URL | 端口,以及用于构建 OAuth 重定向地址的公开 URL |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | 用于控制面板登录的 Google 登录信息 |
GOOGLE_GWS_CLIENT_ID, GOOGLE_GWS_CLIENT_SECRET | Google Workspace 连接信息 |
ATLASSIAN_CLIENT_ID, ATLASSIAN_CLIENT_SECRET | Jira 和 Confluence 连接信息 |
NOTION_OAUTH_CLIENT_ID, NOTION_OAUTH_CLIENT_SECRET | Notion 连接信息 |
ANTHROPIC_API_KEY, PLAYGROUND_MODEL | 控制面板 Agent;留空则会关闭 |
STRIPE_* | 计费;可选 |
POSTHOG_API_KEY, SLACK_BOT_TOKEN, BREVO_API_KEY | 分析、通知和电子邮件;留空时各自关闭 |
生产环境
生产环境运行由 apps/gateway/Dockerfile 构建的镜像,其中包含三个插件。合并到 main 后会构建并发布镜像(build.yml),部署则需手动触发并经批准(release.yml),启动时使用 docker/docker-compose.prod.yml。
项目结构
apps/gateway/ The product: MCP gateway, OAuth server, dashboard, site
server.ts Express entry: /mcp, /oauth, /auth, /files, /health
src/gateway/ Tool routing, auth, plugin manager, file references, metering
src/app/ Next.js app: dashboard, docs, blog, changelog, status, skills
src/mastra/ The dashboard agent
content/ Markdown for the blog, changelog, docs and skills
packages/
config/ Environment schema (zod)
db/ Drizzle schema and migrations
auth/ Token hashing and constant-time compares
types/ Shared types, including the plugin manifest
plugins/
gws-mcp/ Google Workspace connector
atlassian-mcp/ Jira and Confluence connector
notion-mcp/ Notion connector
registry/ Reviewed SQL for changes to the tool registry
docker/ Compose files
scripts/ The pre-merge gate, leak scan, deploy and registry helpers
docs/ Architecture notes and implementation plans
tools/capture/ Product screenshots and recordings (Remotion)
参与贡献
欢迎提交问题和拉取请求。如需进行重大更改,请先提出问题,以便我们就方向达成一致;每个拉取请求都会运行检查流程(类型检查和测试)并扫描泄漏。
安全
请将漏洞私下报告至 [email protected],而不要在公开问题中披露。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。