Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Yuque MCP Serversearch for documents about API integration"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
语雀 MCP 代理服务器
语雀 Model Context Protocol (MCP) 代理服务器,让 AI 助手能够通过 MCP 协议与语雀平台交互。
技术栈: Python 3.7+, Flask/FastAPI, Redis/内存缓存, httpx
兼容性: 支持所有符合 MCP 标准的客户端,包括 Chatbox、Claude Desktop、Cherry Studio、Cursor 等主流工具。
✨ 功能特性
🔌 MCP 协议支持 - 完全兼容 Model Context Protocol 2024-11-05
🌐 多客户端支持 - 支持 Chatbox、Claude Desktop、Cherry Studio、Cursor 等主流工具
🪟 跨平台支持 - 支持 macOS、Linux 和 Windows 系统
📚 知识库管理 - 创建、读取、更新、删除知识库
📄 文档管理 - 完整的文档 CRUD 操作
🔍 搜索功能 - 全文搜索、高级搜索
👥 用户管理 - 获取用户信息、团队管理
🔐 安全配置 - 支持 HTTP Header 和环境变量配置 Token
🚀 自动启动 - 支持系统服务自动启动(macOS launchd / Windows Service)
📦 缓存机制 - 支持 Redis 和内存缓存,减少 API 调用次数
⚡ 异步框架 - 支持 FastAPI 和 httpx,提高并发处理能力
🎯 智能启动 - 支持按需启动,自动检测服务状态
🔄 自动降级 - Redis 不可用时自动切换到内存缓存
📊 缓存统计 - 支持查看缓存命中次数和命中率
📋 支持的工具
用户相关
get_user_info- 获取当前用户信息get_user- 获取指定用户信息
知识库管理
list_repos- 列出所有知识库list_user_repos- 列出指定用户的知识库get_repo- 获取知识库详情create_repo- 创建知识库update_repo- 更新知识库信息delete_repo- 删除知识库get_repo_toc- 获取知识库目录update_repo_toc- 更新知识库目录
文档管理
list_docs- 列出知识库中的文档get_doc- 获取文档内容(自动获取知识库信息,包含完整元数据)get_doc_by_id- 通过文档ID获取文档(提供友好错误提示)create_doc- 创建文档update_doc- 更新文档delete_doc- 删除文档list_doc_versions- 列出文档版本历史
搜索功能
search_docs- 搜索文档(返回完整路径信息,可直接用于获取文档)get_doc_by_id- 通过文档ID获取文档(提供友好错误提示和使用建议)
团队管理(需要团队权限)
list_groups- 列出团队get_group- 获取团队信息list_group_users- 列出团队成员list_group_repos- 列出团队知识库... 等更多功能
🚀 快速开始
方式一:Docker 部署(推荐)
方式二:一键安装(推荐)
1. 克隆项目
2. 运行一键安装脚本
3. 安装选项
方式三:本地部署
1. 克隆项目
2. 配置 Token
方式一:配置文件(推荐)
方式二:环境变量
方式三:HTTP Header(Chatbox 配置)
在 Chatbox 的 MCP Server 配置中,HTTP Header 字段添加:
获取 Token:语雀设置 > 个人设置 > Token
3. 启动服务
方式一:同步启动(默认)
方式二:异步启动(推荐,性能更好)
方式三:自动启动模式
4. 验证服务
📝 常用命令
基本命令
异步模式命令
自动启动模式命令
⚙️ 配置说明
配置文件格式
yuque-config.env:
配置优先级
HTTP Header (
X-Yuque-Token) - 最高优先级环境变量 (
YUQUE_TOKEN)配置文件 (
yuque-config.env)
如果都未配置,系统会返回明确的错误提示。
🔧 系统服务(macOS)
如果您希望服务在系统启动时自动运行:
安装后,服务会在开机时自动启动,无需手动操作。
服务管理
📋 最新变更
Version 1.2.3(2025-11-29)
✨ 新增功能
项目优化和清理
删除了冗余文件,优化项目结构
完善了 .gitignore 配置,符合 GitHub 规范
🔧 改进
Docker 部署优化
更新 Dockerfile 使用 Python 3.10 和异步服务
使用 uvicorn 启动,提升性能
完善了容器健康检查
代码质量提升
修复了所有代码问题
优化了错误处理
🐛 修复
修复了 Docker 构建中的依赖兼容性问题
修复了所有已知的 bug
Version 1.2.1(2025-11-29)
✨ 新增功能
缓存机制实现
支持 Redis 和内存缓存两种模式
为不同类型的 API 请求设置不同的过期时间
自动降级机制,Redis 不可用时自动切换到内存缓存
缓存统计功能,支持查看命中次数和命中率
异步框架集成
使用 FastAPI 和 httpx 实现异步 API 调用
创建了异步版本的 API 客户端
async_yuque_client.py支持异步 Web 服务
app_async.py提高了系统的并发处理能力和响应速度
自动启动功能
实现了自动启动包装器
auto_start_server.py支持系统服务自动启动
智能检测服务状态,按需启动
支持多种启动模式:启动脚本、系统服务、自动启动包装器
🔧 改进
项目结构优化
符合 GitHub 发布标准
清晰的文件组织结构
完整的 README 文档
适当的许可证文件
文档更新
更新了所有文档,确保内容完整准确
添加了 AUTO_START_GUIDE.md 自动启动指南
更新了 DOCKER_DEPLOYMENT.md Docker 部署指南
更新了 WINDOWS_DEPLOYMENT.md Windows 部署指南
启动脚本增强
支持三种启动模式:异步、同步、自动
增强了命令行选项
改进了日志管理
🐛 修复
修复了 GitHub Actions 测试配置
修复了各种 bug 和配置问题
修复了 Windows 部署指南中的脚本路径错误
修复了 Dockerfile 中的脚本路径错误
📦 依赖更新
添加了 fastapi>=0.100.0
添加了 uvicorn>=0.22.0
添加了 httpx>=0.24.0
添加了 redis>=5.0.0
📚 文档
详细文档请查看 docs/ 目录:
快速开始
docs/QUICK_START.md- 快速开始指南docs/CONFIG_GUIDE.md- 配置指南
部署指南
docs/DOCKER_DEPLOYMENT.md- Docker 部署指南(推荐)docs/AUTO_START_GUIDE.md- 自动启动指南(macOS)docs/WINDOWS_DEPLOYMENT.md- Windows 部署指南
使用指南
docs/CLIENT_COMPATIBILITY.md- 客户端兼容性指南(多工具配置)docs/YUQUE_API_REFERENCE.md- 语雀 API 接口文档(OpenAPI 规范)
故障排查
如遇到问题,请查看相关文档或提交 Issue。
❓ 常见问题解答(FAQ)
缓存相关问题
Q: 缓存机制是如何工作的?
A: 系统支持 Redis 和内存缓存两种模式。当 Redis 可用时,系统会使用 Redis 作为缓存存储;当 Redis 不可用时,系统会自动切换到内存缓存。对于不同类型的 API 请求,系统会设置不同的过期时间。
Q: 如何查看缓存统计信息?
A: 您可以通过异步服务的健康检查端点查看缓存统计信息,或者查看日志输出。
Q: 如何清除缓存?
A: 您可以重启服务来清除缓存,或者直接操作 Redis 清除缓存。
异步框架相关问题
Q: 异步模式和同步模式有什么区别?
A: 异步模式使用 FastAPI 和 httpx,具有更高的并发处理能力和响应速度,适合高并发场景;同步模式使用 Flask 和 requests,适合简单场景和调试。
Q: 如何切换到异步模式?
A: 您可以使用 ./start_server.sh --async start 命令启动异步服务,或者直接使用 uvicorn 启动 app_async:app。
Q: 异步模式需要额外配置吗?
A: 不需要,异步模式使用与同步模式相同的配置文件和环境变量。
自动启动相关问题
Q: 自动启动功能是如何工作的?
A: 自动启动功能会智能检测服务状态,当服务未运行时自动启动服务。您可以使用 ./start_server.sh --auto start 命令启动自动启动服务。
Q: 如何配置自动启动服务?
A: 您可以在配置文件中设置 SERVICE_MODE=auto,或者使用 --auto 命令行选项。
🤝 贡献
欢迎提交 Issue 和 Pull Request!
贡献流程
Fork 本仓库
创建您的特性分支 (
git checkout -b feature/AmazingFeature)提交您的更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)打开一个 Pull Request
代码规范
遵循 PEP 8 代码风格
编写清晰的注释
确保所有测试通过
提交信息要清晰明了
测试要求
确保新功能有相应的测试用例
确保所有现有测试通过
运行
python3 -m unittest discover tests进行测试
🔒 安全提示
✅ 配置文件
yuque-config.env已添加到.gitignore,不会被提交到代码仓库✅ 文件权限已设置为 600(仅所有者可读写)
⚠️ 请勿将 Token 提交到代码仓库
⚠️ 定期轮换 Token,确保安全
🐛 故障排查
服务无法启动
Token 配置问题
端口被占用
📊 API 端点
POST /mcp- MCP 协议端点GET /health- 健康检查GET /test- 测试端点
📄 许可证
MIT License
🙏 致谢
提示: 所有操作都在项目根目录中执行。