文档管理服务器

Yonote MCP服务器是一个用于通过AI助手(如Claude、Cursor等)管理工作空间的文档管理工具,提供56种工具用于文档、集合、用户、组、评论、共享链接、收藏夹、版本、事件和视图的管理。

  • by NikitaMurugov
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 NikitaMurugov/yonote-mcp

使用说明

尤诺特·麦克普

用于工作空间管理的MCP服务器 约诺特 人工智能助理(Claude,Cursor等)

提供56个工具来处理文档、集合、用户、组、注释、共享链接、收藏夹、修订、事件和视图。

机会

团队描述 |---|---|---| Ð文档›CRUD、搜索、归档、移动、访问控制› ÐcollectionsÐÐÐÐÐÐÐÐÐÐÐ ÐÐÐÐÐÐÐÐÐÐÐÐÐ 6、管理团队及其成员 4、对文档的评论 4、公开参考资料 3、被选中的人管理 2、文档的历史版本 ÐÐÐÐÐÐÐÐÐÐÐÐÐÐ 2、浏览统计 【授权】(1)当前用户和团队信息→

要求

  • Node.js>=18
  • npm
  • Yonote API 代币

安装

git clone <url-репозитория>
cd yonote-mcp
npm install
npm run build

获取API令牌

  1. 打开Yonote并转到 设置 -> API
  2. 创建新的个人API令牌
  3. 连接时使用令牌(见下文)

令牌代表您的用户行事,并具有相同的访问权限。

配置

令牌和项目可以通过两种方式传递:

方法1:CLI参数(推荐)

直接将设置传输到MCP客户端配置-无需 .env 文件:

论点是必须的,描述是必须的。 |---|---|---| | --token Yonote API 代币 | --project 项目名称(创建URL) https://{project}.yonote.ru/api) | | --base-url ≫不≫完全基本API URL(如果需要非标准URL)≫

默认使用 https://app.yonote.ru/api如果移交 --projectURL是自动生成的。

方法2:环境变量

创建文件 .env 基于 .env.example:

cp .env.example .env
YONOTE_API_TOKEN=ваш-токен
YONOTE_PROJECT=ваш-проект
YONOTE_API_BASE_URL=https://ваш-проект.yonote.ru/api

CLI参数优先于环境变量。

本地连接(STDIO)

在本地连接中,MCP客户端将服务器作为子进程启动,并通过stdin/stdout与服务器通信。

克劳德桌面

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "yonote": {
      "command": "node",
      "args": [
        "/абсолютный/путь/к/yonote-mcp/dist/index.js",
        "--token", "ваш-токен",
        "--project", "ваш-проект"
      ]
    }
  }
}

重新启动Claude Desktop。

克劳德代码

claude mcp add yonote -- node /абсолютный/путь/к/yonote-mcp/dist/index.js --token ваш-токен --project ваш-проект

或者添加到 .claude/settings.json 项目:

{
  "mcpServers": {
    "yonote": {
      "command": "node",
      "args": [
        "/абсолютный/путь/к/yonote-mcp/dist/index.js",
        "--token", "ваш-токен",
        "--project", "ваш-проект"
      ]
    }
  }
}

光标

打开 设置 -> MCP服务器 -> 添加新的MCP服务器 并指定:

{
  "mcpServers": {
    "yonote": {
      "command": "node",
      "args": [
        "/абсолютный/путь/к/yonote-mcp/dist/index.js",
        "--token", "ваш-токен",
        "--project", "ваш-проект"
      ]
    }
  }
}

其他MCP客户端

任何支持STDIO传输的MCP客户端都可以使用此服务器。一般模式:

  • 命令: node
  • 参数: ["/путь/к/yonote-mcp/dist/index.js", "--token", "ваш-токен", "--project", "ваш-проект"]

远程部署(HTTP)

为了从远程计算机连接,服务器支持流式HTTP传输模式。

在HTTP模式下运行

YONOTE_API_TOKEN=ваш-токен TRANSPORT=http PORT=3000 node dist/index.js

服务器将在 http://0.0.0.0:3000/mcp.

Endpoint也可用 /health 检查状态。

远程客户端连接

在MCP客户端配置中,指定服务器URL:

{
  "mcpServers": {
    "yonote": {
      "url": "http://ваш-сервер:3000/mcp"
    }
  }
}

码头工人

收集图像(确保项目已编译- npm run build):

docker build -t yonote-mcp .

启动容器:

docker run -d \
  -p 3000:3000 \
  -e YONOTE_API_TOKEN=ваш-токен \
  --name yonote-mcp \
  yonote-mcp

客户端连接类似于上面的HTTP模式。

Docker Compose

services:
  yonote-mcp:
    build: .
    ports:
      - "3000:3000"
    environment:
      - YONOTE_API_TOKEN=ваш-токен
    restart: unless-stopped
docker compose up -d

产品建议

  • 使用HTTPS(通过反向代理-nginx、caddy、traefik)
  • 不要在Docker映像中缝合令牌-通过环境变量或秘密传输
  • 限制对服务器的网络访问(防火墙、VPN)

环境变量

变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种,变种。 |---|---|---|---| | YONOTE_API_TOKEN |API --token) | | YONOTE_PROJECT 没有 app 项目名称(或 --project) | | YONOTE_API_BASE_URL 没有 https://{project}.yonote.ru/api 基本API URL(或) --base-url) | | TRANSPORT 没有 stdio 运输: stdio 或 http | | PORT 没有 3000 HTTP服务器端口(仅限 TRANSPORT=http) |

可用工具

Документы (18)

工具描述 |---|---| | documents_list –按集合、用户、状态筛选的文档列表› | documents_info 关于ID或Share ID的信息 | documents_search 全文搜索文档 | documents_search_titles 快速搜索标题 | documents_create 创建文档(Markdown) | documents_update –更新标题、文本和属性。 | documents_delete –移动到垃圾桶或删除。 | documents_archive 档案归档 | | documents_restore –从备份或回收站恢复。 | documents_move 搬到另一个收藏。 | documents_duplicate 创建文件副本。 | documents_drafts 当前用户的草稿列表 | documents_viewed 最近查看的文件 | documents_unpublish 回复到草稿状态 | documents_users 有访问权限的用户列表 | documents_add_user 允许用户访问。 | documents_remove_user 从用户处撤回访问。 | documents_children –子文档的嵌入结构→

Коллекции (10)

工具描述 |---|---| | collections_list 列出所有可用的收藏 | collections_info 收藏信息 | collections_create 创建收藏 | collections_update 更新集合属性。 | collections_delete 删除所有文档的集合。 | collections_documents 收藏的文档树 | collections_add_user 允许用户访问。 | collections_remove_user 从用户处撤回访问。 | collections_memberships 收藏成员名单 | collections_export 导出集合(Markdown/HTML/JSON)

Пользователи (5)

工具描述 |---|---| | users_list 工作区参与者名单 | users_info 用户信息 | users_create 邀请新用户 | users_suspend –锁定帐户。 | users_activate 解锁帐户

Группы (6)

工具描述 |---|---| | groups_list 列出所有组。 | groups_info 集团信息 | groups_create 成立团队。 | groups_update 集团名称更新 | groups_delete 删除组。 | groups_memberships 团队成员名单

Комментарии (4)

工具描述 |---|---| | comments_list –文档评论列表或集合› | comments_create 添加对文档的评论。 | comments_update 更新评论 | comments_delete 删除评论

Шаринг (4)

工具描述 |---|---| | shares_list 收藏/收藏列表 | shares_info 共享链接信息 | shares_create 创建公共链接 | shares_delete 回复公共链接

Избранное (3)

工具描述 |---|---| | stars_list –精选文档和收藏列表→ | stars_create 添加到收藏夹 | stars_delete 从收藏夹中删除

Ревизии (2)

工具描述 |---|---| | revisions_list 文档版本历史 | revisions_info 获取文件的特定版本。

События (1)

工具描述 |---|---| | events_list 审计是工作空间的日志。

Просмотры (2)

工具描述 |---|---| | views_list 文档浏览统计 | views_create 查看文档

Авторизация (1)

工具描述 |---|---| | auth_info 当前用户和团队信息

开发

npm run build    # Компиляция TypeScript
npm start        # Запуск (stdio-режим)
npm test         # Запуск тестов

项目结构

src/
├── index.ts          # Точка входа, настройка транспорта
├── api-client.ts     # HTTP-клиент для Yonote API
└── tools/            # Инструменты MCP
    ├── documents.ts
    ├── collections.ts
    ├── users.ts
    ├── groups.ts
    ├── comments.ts
    ├── shares.ts
    ├── stars.ts
    ├── revisions.ts
    ├── events.ts
    ├── views.ts
    └── auth.ts