getnote-web-mcp
by ccBilly-aipm
README.md
# getnote-web-mcp
> MCP Server · Dedao Brain (formerly Get Notes / biji.com) · 免费账号 · AI 总结 · 原始逐字稿 · 音频附件 · CLI
**得到大脑(原 Get笔记)网页版 API 的 MCP Server + CLI** —— 让 Claude Desktop、Cursor、Trae CLI 等任何支持 MCP 的 AI 工具,直接读取你得到大脑里的笔记内容;**免费账号即可,无需会员**。
> [English version](README_EN.md)
## 这个 MCP 能帮你做什么
你在得到大脑 App 里记的每一条语音、链接、截图、会议录音,背后都有三层内容:AI 智能总结、未润色的原始逐字稿、原始音频文件。官方 MCP 只开放给会员(开放平台 API),本项目走网页会话,**免费账号三层全可读**。
接入后,你可以直接在 AI 对话里这样用:
- 「找一下我笔记里关于**定价**的内容」→ 列表响应自带 AI 总结全文,AI 可直接翻页全文检索
- 「我上次录的那条 75 分钟的直播,**原话**是怎么说的?」→ 调出原始逐字稿(非 AI 润色版)
- 「把这条录音的**总结**整理成一封邮件」→ 读取 AI 智能总结后写作
- 「这条录音的音频文件在哪?」→ 返回 OSS 直链,或直接下载 mp3
- 离开 AI 工具也能用:`getnote_cli.py` 一行命令导出任意笔记的总结/逐字稿/音频
## ⚠️ 免责声明
本项目**非官方**,通过逆向得到大脑(biji.com,得到团队)网页版内部接口实现,属于灰色地带:
- 可能违反得到《用户协议》,存在账号风控/封禁风险,请自行评估;
- 接口随时可能改版失效(前端更新后需重新逆向);
- 仅建议个人自用(读自己的数据),请勿用于批量抓取或商业用途;
- 仓库不包含任何凭证,登录态只保存在你自己机器的浏览器 profile 里。
## 背景:为什么做这个
| 路线 | 会员要求 | 说明 |
| --- | --- | --- |
| 官方 MCP([@getnote/mcp](https://github.com/iswalle/getnote-mcp)) | **需要会员** | 走开放平台 `openapi.biji.com`,免费账号返回 10004 未授权 |
| 本项目(网页内部 API) | **免费可用** | 走网页自身会话 `notes-api.biji.com`,实测三层内容全部可读 |
2026-09-12 实测(免费账号,302 条笔记,含 3 条录音):AI 智能总结、原始逐字稿、原始音频直链**全部可获取**。
## 功能
**数据层**(getnote_core.py):
- 笔记列表(翻页/全量,含 AI 总结正文)
- 笔记详情(AI 智能总结 markdown、纯文本、附件信息)
- 原始逐字稿(未润色口水稿,毫秒级时间戳 sentence_list)
- 音频附件(OSS 签名直链获取 / 直接下载 mp3)
- token 管理(自动静默刷新 + 失效转交互登录)
**双壳**:
- `getnote_cli.py` —— 命令行直接用
- `getnote_mcp.py` —— MCP server(stdio),接入任意支持 MCP 的 AI 工具
## 安装
依赖:Python 3.9+、Playwright(用系统 Chrome,无需 `playwright install`)。
```bash
git clone https://github.com/ccBilly-aipm/getnote-web-mcp.git
cd getnote-web-mcp
pip3 install playwright # 复用本机 Chrome,无需下载浏览器内核
```
## 快速开始
```bash
# 1. 登录(弹出浏览器,手动登录一次即可)
python3 getnote_cli.py login
# 2. 查看登录态
python3 getnote_cli.py status
# 3. 列出笔记
python3 getnote_cli.py notes --limit 10
# 4. 读取某条笔记的 AI 总结
python3 getnote_cli.py note NOTE_ID
# 5. 读取录音笔记的原始逐字稿
python3 getnote_cli.py transcript NOTE_ID
# 6. 获取音频直链或下载
python3 getnote_cli.py audio NOTE_ID --dest ~/Downloads/x.mp3
```
## MCP 配置
### Trae CLI(trae_cli.yaml)
```yaml
mcp_servers:
- args:
- /path/to/getnote-web-mcp/getnote_mcp.py
command: /usr/bin/python3
name: getnote
type: stdio
```
### Claude Desktop
```json
{
"mcpServers": {
"getnote": {
"command": "/usr/bin/python3",
"args": ["/path/to/getnote-web-mcp/getnote_mcp.py"]
}
}
}
```
### Cursor
MCP 设置里添加:Name `getnote`,Command `/usr/bin/python3 /path/to/getnote-web-mcp/getnote_mcp.py`。
## MCP 工具列表
| 工具 | 功能 |
| --- | --- |
| `getnote_status` | 查看登录态与账号信息 |
| `getnote_login` | 弹浏览器手动登录(阻塞直到完成) |
| `getnote_notes` | 笔记列表(limit / all 全量 / note_type 过滤) |
| `getnote_note` | 笔记详情:AI 智能总结正文与附件(mode=json 返回原始结构) |
| `getnote_transcript` | 录音/会议笔记的原始逐字稿(mode=json 返回带时间戳的 sentence_list) |
| `getnote_audio` | 音频 OSS 直链(传 dest 直接下载) |
## Token 生命周期(刷新策略抄自 [AndyZhengyan/obsidian-getnote-importer](https://github.com/AndyZhengyan/obsidian-getnote-importer) 的刷新协调器)
```
浏览器登录一次(Playwright 持久化 profile)
│
▼
localStorage 收割 JWT ──── 有效期约 30 分钟(实测)
│ │
│ 每次调用前检查,距过期 <5min 或 401
▼ ▼
静默刷新:headless 重开 biji.com/note
(页面自动用 refresh_token 续签 → 重新收割)
│ │
▼ ▼
正常请求 ◄──────────── 刷新成功重试
│ 失败(refresh_token 也过期,约 90 天)
▼
提示交互登录(弹浏览器)
```
凭证保存位置:`~/.getnote/credentials.json`(可用 `GETNOTE_DATA_DIR` 环境变量改路径;兼容旧路径 `~/.trae/mcps/getnote_data`)。浏览器 profile 在同级目录 `browser-profile/`,**不要提交到任何仓库**。
## 实测能力边界(2026-09-12,免费账号)
| 能力 | 结果 | 接口 |
| --- | --- | --- |
| 笔记列表(302 条全量翻页) | ✅ | `GET /voicenotes/web/notes?limit=&since_id=` |
| AI 智能总结正文 | ✅ | 列表与详情的 `content` 字段(markdown) |
| 原始逐字稿(带毫秒时间戳) | ✅ | `GET /voicenotes/web/notes/{id}/original` |
| 音频附件直链(约 30 天签名) | ✅ | 详情 `attachments[].url` |
| 开放平台 API(openapi.biji.com) | ❌ 需会员 | 10004 未授权 |
实测样例:75 分钟录音笔记 → AI 总结 5898 字 + 逐字稿 118 句 19204 字 + mp3 直链。
## 已知限制
- 列表接口**不能带 `sort` 参数**(否则报参数错误);
- 服务端 `note_type_list` 筛选的参数格式未摸清,全量过滤在客户端做;
- App 内「剪辑后成片」是否作为独立附件出现尚未验证(暂无样本);
- 部分录音逐字稿无说话人分离字段(speaker 为空)。
## 致谢
- [iswalle/getnote-mcp](https://github.com/iswalle/getnote-mcp) —— 官方 MCP(会员路线),本项目的接口发现受益于其开放平台文档;
- [AndyZhengyan/obsidian-getnote-importer](https://github.com/AndyZhengyan/obsidian-getnote-importer) —— Obsidian 同步插件,token 刷新协调器策略抄自这里;
- 得到大脑产品团队 —— 好用的产品(会员值得买,只是 API 另收费)。
## License
[MIT](LICENSE)
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues