Yuque MCP について
Yuque MCPは、CodexなどのMCPクライアントからYuqueのリポジトリ、ドキュメント、グループ、メンバーを操作するMCPサーバーです。検索と読み書きに加え、許可リストや書き込み・削除の制御を設定できます。
主な機能
- 01リポジトリとドキュメントの一覧
- 02Markdownまたはraw形式での文書取得
- 03文書の作成・更新・削除
- 04グループとメンバーの管理
- 05リポジトリ目次の更新
- 06書き込みと削除の制限設定
活用シーン
- 01Yuqueリポジトリ内の文書検索と閲覧
- 02ローカルファイルからの文書作成・更新
- 03リポジトリとグループのコンテンツ管理
- 04Yuqueの情報を使った調査
MCP 対応
MCPクライアントに、Yuqueのリポジトリ、文書、グループ、メンバー、目次を操作するツールを提供します。書き込みと削除は初期状態で無効で、環境設定から制御できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @wwwwwujl/yuque-mcpYUQUE_TOKENシークレットYuque API tokenYUQUE_ENDPOINTYuque API endpoint (optional)YUQUE_TIMEOUT_MSYuque API timeout in milliseconds (optional)YUQUE_MAX_RETRIESRead-only retry count (optional)YUQUE_ALLOW_WRITEEnable write tools when true (optional, default false)YUQUE_WRITE_NAMESPACE_ALLOWLISTComma-separated namespace allowlist for repo/doc/toc writes (optional)YUQUE_WRITE_GROUP_ALLOWLISTComma-separated group login allowlist for group writes (optional)YUQUE_ALLOW_DELETEEnable delete tools when true (optional, default false)YUQUE_DELETE_NAMESPACE_ALLOWLISTComma-separated delete allowlist targets (optional)YUQUE_FILE_ROOTAllowed root directory for file-based doc tools (optional, default current working directory)YUQUE_FILE_MAX_BYTESMaximum size for file-based doc tools (optional, default 1048576)YUQUE_FILE_ALLOWED_EXTENSIONSComma-separated allowed extensions for file-based doc tools (optional, default .md,.markdown,.txt)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
yuque-mcp
中国語の説明: README.zh-CN.md
このフォルダーは、Yuque 用のカスタム MCP サーバーを構築するために用意されています。
目標
Codex が以下を実行できるよう、Yuque MCP サーバーを構築します。
- Yuque のリポジトリとドキュメントを検索する
- ドキュメントの内容を Markdown/raw モードで読み取る
- 必要に応じてドキュメントを作成/更新/削除する
- ローカルファイルからドキュメントを作成し、ローカルファイルを使ってドキュメントを更新する
- リポジトリ(ナレッジベース)を作成/更新/削除する
- グループを作成/更新/削除する
- グループメンバーを管理する(
list/add/remove) - 複合操作を実行する(
get_my_repositories、get_repository_overview、search_and_read、create_document_with_toc) - リポジトリの目次ノードを更新する
- Yuque のコンテンツをリサーチ用ナレッジベースとして使用する
含まれるドキュメント
docs/00-project-brief.mddocs/01-scope-v1.mddocs/02-architecture.mddocs/03-tool-contract.mddocs/04-api-mapping.mddocs/05-security.mddocs/06-implementation-plan.mddocs/07-test-plan.mddocs/08-codex-integration.mddocs/09-release-notes-zh.mddocs/10-registry-publish.mddocs/11-weekly-maintenance.mddocs/12-complaint-and-takedown.mdCHANGELOG.mdCONTRIBUTING.mdSECURITY.mdDISCLAIMER.mdtasks/TODO.md
セッション開始
新しい Codex セッションでは、次の手順で始めてください。
docs/01-scope-v1.mdとdocs/03-tool-contract.mdを読みます。- Node + TypeScript の MCP サーバーのひな形を作成します。
- 読み取り専用ツールを実装します。
- グループ/リポジトリ/ドキュメントの CRUD と TOC 更新用の書き込みツールを追加します。
- テストを実行し、Codex MCP 設定を追加します。
クイックスタート(ローカル)
npm install
npm run build
必須の環境変数:
YUQUE_TOKENYUQUE_ENDPOINT(任意、デフォルトはhttps://www.yuque.com/api/v2/)YUQUE_TIMEOUT_MS(任意、デフォルトは10000)YUQUE_MAX_RETRIES(任意、デフォルトは2。読み取り専用の再試行のみ)YUQUE_ALLOW_WRITE(任意、デフォルトはfalse)YUQUE_WRITE_NAMESPACE_ALLOWLIST(任意、リポジトリ/ドキュメント/TOC の書き込みを許可する namespace のカンマ区切りリスト)YUQUE_WRITE_GROUP_ALLOWLIST(任意、グループの書き込みを許可するグループ login のカンマ区切りリスト)YUQUE_ALLOW_DELETE(任意、デフォルトはfalse)YUQUE_DELETE_NAMESPACE_ALLOWLIST(任意、削除を許可する対象のカンマ区切りリスト。リポジトリ/ドキュメントには namespace、グループには login を指定)YUQUE_FILE_ROOT(任意、デフォルトは現在の作業ディレクトリ。ファイルベースのドキュメントツールで使用)YUQUE_FILE_MAX_BYTES(任意、デフォルトは1048576)YUQUE_FILE_ALLOWED_EXTENSIONS(任意、デフォルトは.md,.markdown,.txt)
書き込みの安全対策:
- すべての書き込みツールは、デフォルトでブロックされています。
- 書き込みを有効にするには、
YUQUE_ALLOW_WRITE=trueを設定します。 - 書き込み許可リストは任意で設定できます。
YUQUE_WRITE_NAMESPACE_ALLOWLIST=team/sandbox,team/testYUQUE_WRITE_GROUP_ALLOWLIST=sandbox-team
削除の安全対策:
yuque_delete_doc、yuque_delete_repo、yuque_delete_groupは、デフォルトでブロックされています。- テスト用リポジトリのみで削除を有効にするには、次のように設定します。
YUQUE_ALLOW_WRITE=trueYUQUE_ALLOW_DELETE=trueYUQUE_DELETE_NAMESPACE_ALLOWLIST=your/test-namespace,your-test-group-login
- 削除ツールには
confirm: trueと、正確なconfirm_textも必要です。- ドキュメント:
DELETE DOC <namespace>/<docRef> - リポジトリ:
DELETE REPO <namespace> - グループ:
DELETE GROUP <login>
- ドキュメント:
最新の主な更新:
yuque_get_doc/yuque_update_doc/yuque_delete_docは、slugまたはdoc_idのいずれかをサポートします。yuque_list_docsはページネーション(offset、limit)をサポートします。yuque_search_docsは、リポジトリ全体のドキュメントをページネーションで走査するようになりました。- ドキュメント形式は
markdown、html、lakeをサポートし、公開範囲は0 | 1 | 2をサポートします。 - TOC の更新では、追加フィールド(
editNode、url、open_window、visible)をサポートします。 - グループメンバーツール:
yuque_list_group_users、yuque_add_group_user、yuque_remove_group_user。 - ファイルベースのツールは、ルートディレクトリ、拡張子の許可リスト、最大サイズによって制限されます。
開発モードで実行:
npm run dev
コンパイル済みサーバーを実行:
npm run start
ローカル MCP スモークテストを実行(テスト用 namespace のみ):
YUQUE_SMOKE_NAMESPACE=your/test-namespace npm run smoke
クリーンアップ付きの書き込みスモークテストスイートを実行(テスト用 namespace で作成/更新/TOC 更新/削除):
YUQUE_SMOKE_NAMESPACE=your/test-namespace \
YUQUE_SMOKE_ENABLE_WRITE=true \
YUQUE_ALLOW_WRITE=true \
YUQUE_ALLOW_DELETE=true \
YUQUE_DELETE_NAMESPACE_ALLOWLIST=your/test-namespace \
npm run smoke
推奨スタック
- Node.js 20+
- TypeScript
@modelcontextprotocol/sdk- ネイティブの
fetchまたは軽量な HTTP クライアント - 入力検証用の
zod
オープンソースのガバナンス
- 貢献ガイド:
CONTRIBUTING.md - セキュリティポリシー:
SECURITY.md - 週次メンテナンスチェックリスト:
docs/11-weekly-maintenance.md - 苦情および削除要請に関するポリシー:
docs/12-complaint-and-takedown.md - 免責事項:
DISCLAIMER.md
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。