Outline MCP Server

io.github.Vortiago由 GitHub 账号 Vortiago 发布v1.11.0更新于 Nov 3, 2026

Connect AI assistants to Outline for document search, reading, and management

已验证STDIO仅桌面效率与工作流知识与记忆

概览

AI 生成的概览

将 AI 助手连接到 Outline 知识库,可搜索、阅读、编辑、整理和导出文档与集合。

可以做什么
  • 搜索并发现文档、集合、最近变更,以及按标题查找文档 ID
  • 阅读文档全文、按行范围、按标题章节、目录结构,或按文本片段检索内容
  • 创建、编辑、替换、移动、归档、移入回收站与恢复文档,并支持批量操作
  • 管理集合:列出、查看层级结构、创建、更新、删除与导出
  • 查看与添加评论、查找反向链接,并就文档内容提出自然语言问题
  • 解析并获取文档附件,同时以 MCP 资源形式提供文档与集合
适用场景
适合需要让助手在 Outline 知识库内工作的场景:依据内部文档回答问题、维护文档更新、整理集合结构或导出内容。适用于已使用 Outline 的团队,云端或自托管均可。
运行要求
以本地 Python 包方式运行(uvx 或 pip,需 Python 3.10+),也可用 Docker。需要 Outline 账号及 OUTLINE_API_KEY 中的 API 密钥;自托管实例还需设置 OUTLINE_API_URL。需要能访问 Outline API 的网络。
安装前请注意
API 密钥可访问整个工作区,需妥善保管。多数工具会写入、移动、归档或删除内容;delete_collection 会永久删除集合及其全部文档,delete_document 设为 permanent=True 会跳过回收站。只读与禁用删除模式默认关闭。AI 问答工具依赖 Outline 实例的 OpenAI 集成。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Outline MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MCP Outline Server

📢 Official Outline MCP Server Available

Outline now ships an official MCP server — we recommend using it. Read the docs.


[PyPI] [Python 3.10+] [License: MIT] [CI] [Docker]

A Model Context Protocol server for interacting with Outline document management.

Features

  • Document operations: Search, read, create, edit, archive documents
  • Collections: List, create, manage document hierarchies
  • Comments: Add and view threaded comments
  • Backlinks: Find documents referencing a specific document
  • MCP Resources: Direct content access via URIs (outline://document/{id}, outline://collection/{id}, etc.)
  • Automatic rate limiting: Transparent handling of API limits with retry logic

Prerequisites

Before using this MCP server, you need:

  • An Outline account (cloud hosted or self-hosted)
  • API key from Outline web UI: Settings → API Keys → Create New
  • Python 3.10+ (for non-Docker installations)

Getting your API key: Log into Outline → Click your profile → Settings → API Keys → "New API Key". Copy the generated token.

Quick Start

One-Click Install

Click a button to install with interactive API key prompt:

[Install in VS Code] [Install in VS Code Insiders] [Install in Cursor]

Manual Install

Install with uv (recommended), pip, or Docker:

bash
uvx mcp-outline          # using uvpip install mcp-outline   # using pip
bash
# using Dockerdocker run -e OUTLINE_API_KEY=<your-key> ghcr.io/vortiago/mcp-outline:latest

Then add to your MCP client config (works with VS Code, Claude Desktop, Cursor, and others):

json
{  "inputs": [    {      "id": "outline_api_key",      "type": "promptString",      "description": "Enter OUTLINE_API_KEY",      "password": true    },    {      "id": "outline_api_url",      "type": "promptString",      "description": "Outline API URL (optional, for self-hosted)",      "password": false    }  ],  "servers": {    "mcp-outline": {      "command": "uvx",      "args": ["mcp-outline"],      "env": {        "OUTLINE_API_KEY": "${input:outline_api_key}",        "OUTLINE_API_URL": "${input:outline_api_url}"      }    }  }}
Claude Code
bash
claude mcp add mcp-outline uvx mcp-outline

Installing the repo as a plugin instead also bundles the outline-explorer agent (fast read-only wiki exploration) and the outline skill (Outline conventions: mermaidjs fences, document structure, editing workflows).

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "mcp-outline": {      "command": "uvx",      "args": ["mcp-outline"],      "env": {        "OUTLINE_API_KEY": "<YOUR_API_KEY>",        "OUTLINE_API_URL": "<YOUR_OUTLINE_URL>"      }    }  }}

Setup guides for more clients: Docker (HTTP), Cline, Codex, Windsurf, and others

Configuration

VariableRequiredDefaultNotes
OUTLINE_API_KEYYes*-Required for tool calls to succeed. For SSE/HTTP, can alternatively be provided per-request via x-outline-api-key header (details)
OUTLINE_API_URLNohttps://app.getoutline.com/apiFor self-hosted: https://your-domain/api
OUTLINE_VERIFY_SSLNotrueSet false for self-signed certificates
OUTLINE_READ_ONLYNofalsetrue = disable ALL write operations (details)
OUTLINE_DISABLE_DELETENofalsetrue = disable only delete operations (details)
OUTLINE_DISABLE_AI_TOOLSNofalsetrue = disable AI tools (for Outline instances without OpenAI)
OUTLINE_DISABLE_RECENT_DOCUMENTSNofalsetrue = disable the list_recently_updated_documents tool
OUTLINE_DYNAMIC_TOOL_LISTNofalsetrue = enable per-user tool filtering by role/key scopes (details)
OUTLINE_MAX_CONNECTIONSNo100Max concurrent connections in pool
OUTLINE_MAX_KEEPALIVENo20Max idle connections in pool
OUTLINE_TIMEOUTNo30.0Read timeout in seconds
OUTLINE_CONNECT_TIMEOUTNo5.0Connection timeout in seconds
OUTLINE_WRITE_TIMEOUTNo30.0Write timeout in seconds
OUTLINE_CACHE_TTLNo30Document cache TTL in seconds. The short default absorbs same-task read bursts without stressing the Outline API; set 0 to disable caching (always-fresh reads) or higher (e.g. 300) for more API savings. Staged edits work either way
OUTLINE_CACHE_MAX_SIZENo100Max cached documents
MCP_TRANSPORTNostdioTransport mode: stdio (local), sse or streamable-http (remote)
MCP_HOSTNo127.0.0.1Server host. Use 0.0.0.0 in Docker for external connections
MCP_PORTNo3000HTTP server port (only for sse and streamable-http modes)

Access Control

FeatureEnv VarEffect
Read-only modeOUTLINE_READ_ONLY=trueDisables all write operations — only search, read, and export tools available
Disable deletesOUTLINE_DISABLE_DELETE=trueDisables only delete operations, all other writes allowed
Disable recent-changes toolOUTLINE_DISABLE_RECENT_DOCUMENTS=trueDisables only the list_recently_updated_documents tool
Dynamic tool listOUTLINE_DYNAMIC_TOOL_LIST=trueFilters tools per-user based on Outline role and API key scopes
Per-user Outline API keysx-outline-api-key headerEach user passes their own Outline API key in HTTP mode for multi-user setups

Read-only mode takes precedence over disable-delete. See Configuration Guide for details.

Tools

Note: Tool availability depends on your access control settings.

Search & Discovery

  • search_documents(query, collection_id?, limit?, offset?, statusFilter?) - Search documents by keywords with pagination. Defaults to published documents; pass statusFilter with draft, archived, and/or published to include other states
  • list_recently_updated_documents(date_filter?, collection_id?, status_filter?, limit?, offset?) - List documents by most recent change, newest first (e.g. "what changed this week"). date_filter windows by last change: day/week/month/year (default week). Defaults to published documents
  • list_collections() - List all collections
  • get_collection_structure(collection_id) - Get document hierarchy within a collection
  • get_document_id_from_title(query, collection_id?) - Find document ID by title search

Document Reading

  • read_document(document_id, offset?, limit?) - Get document content with optional line-range pagination
  • export_document(document_id) - Export document as markdown

Document Navigation

  • get_document_toc(document_id) - Get table of contents with heading structure and line numbers
  • read_document_section(document_id, heading) - Read a specific section by heading match (case-insensitive substring)

Document Management

  • create_document(title, collection_id, text?, parent_document_id?, publish?) - Create new document
  • update_document(document_id, title?, text?, append?) - Replace full document content (append mode available)

Document Editing

  • edit_document(document_id, edits, save?) - String-match editing with batched replacements; save=False stages changes locally, save=True on the final call pushes all changes
  • move_document(document_id, collection_id?, parent_document_id?) - Move document to different collection or parent

Document Lifecycle

  • archive_document(document_id) - Archive document
  • unarchive_document(document_id) - Restore document from archive
  • delete_document(document_id, permanent?) - Delete document (or move to trash)
  • restore_document(document_id) - Restore document from trash
  • list_archived_documents() - List all archived documents
  • list_trash() - List all documents in trash

Comments & Collaboration

  • add_comment(document_id, text, parent_comment_id?) - Add comment to document (supports threaded replies)
  • list_document_comments(document_id, include_anchor_text?, limit?, offset?) - View document comments with pagination
  • get_comment(comment_id, include_anchor_text?) - Get specific comment details
  • get_document_backlinks(document_id) - Find documents that link to this document

Collection Management

  • create_collection(name, description?, color?) - Create new collection
  • update_collection(collection_id, name?, description?, color?) - Update collection properties
  • delete_collection(collection_id) - Delete collection
  • export_collection(collection_id, format?) - Export collection (default: outline-markdown)
  • export_all_collections(format?) - Export all collections

Batch Operations

  • batch_create_documents(documents) - Create multiple documents at once
  • batch_update_documents(updates) - Update multiple documents at once
  • batch_move_documents(document_ids, collection_id?, parent_document_id?) - Move multiple documents
  • batch_archive_documents(document_ids) - Archive multiple documents
  • batch_delete_documents(document_ids, permanent?) - Delete multiple documents

AI-Powered

  • ask_ai_about_documents(question, collection_id?, document_id?) - Ask natural language questions about your documents

Resources

  • outline://collection/{id} - Collection metadata (name, description, color, document count)
  • outline://collection/{id}/tree - Hierarchical document tree structure
  • outline://collection/{id}/documents - Flat list of documents in collection
  • outline://document/{id} - Full document content (markdown)
  • outline://document/{id}/backlinks - Documents that link to this document

Development

bash
git clone https://github.com/Vortiago/mcp-outline.gitcd mcp-outlineuv sync --group dev
uv run poe test-unit          # unit testsuv run poe test-integration   # integration tests (starts MCP server via stdio)uv run poe test-e2e           # E2E tests (requires Docker)

See Development Guide for self-hosted Outline setup, MCP Inspector, and more.

Troubleshooting

Server not connecting? Test your API key:

bash
curl -H "Authorization: Bearer YOUR_API_KEY" YOUR_OUTLINE_URL/api/auth.info

See Troubleshooting Guide for common issues with tools, rate limiting, and Docker.

Contributing

Contributions welcome! See CONTRIBUTING.md for setup instructions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

来源:README.md,提交 1e80cc9

工具

38

search_documents

Searches for documents using keywords or phrases across your knowledge base. IMPORTANT: The search performs full-text search across all document content and titles. Results are ranked by relevance, with exact matches and title matches typically ranked higher. The search will return snippets of content (context) where the search terms appear in the document. You can limit the search to a specific collection by providing the collection_id. PAGINATION: By default, returns up to 25 results at a time. If more results exist, use the 'offset' parameter to fetch additional pages. For example, use offset=25 to get results 26-50, offset=50 for 51-75, etc. STATUS FILTER: By default, searches published documents only. Pass status_filter to include other document states. Allowed values are "draft", "archived", and "published". Use this tool when you need to: - Find documents containing specific terms or topics - Locate information across multiple documents - Search within a specific collection using collection_id - Discover content based on keywords - Browse through large result sets using limit and offset Args: query: Search terms (e.g., "vacation policy" or "project plan") collection_id: Optional collection to limit the search to limit: Maximum results to return (default: 25, max: 100) offset: Number of results to skip for pagination (default: 0) status_filter: Optional list of statuses to search. Allowed values are "draft", "archived", and "published". Defaults to ["published"] when omitted. Returns: Formatted string containing search results with document titles, contexts, and pagination information

输入参数limitquery必填offsetcollection_idstatus_filter

list_collections

Retrieves and displays all available collections in the workspace. Use this tool when you need to: - See what collections exist in the workspace - Get collection IDs for other operations - Explore the organization of the knowledge base - Find a specific collection by name Args: limit: Maximum number of results to return offset: Number of results to skip (pagination) Returns: Formatted string containing collection names, IDs, and descriptions If the response contains as many collections as the limit, execute the tool again with an increased offset to check for more results.

输入参数limitoffset

get_collection_structure

Retrieves the hierarchical document structure of a collection. Use this tool when you need to: - Understand how documents are organized in a collection - Find document IDs within a specific collection - See the parent-child relationships between documents - Get an overview of a collection's content structure Args: collection_id: The collection ID to examine Returns: Formatted string showing the hierarchical structure of documents

输入参数collection_id必填

get_document_id_from_title

Locates a document ID by searching for its title. IMPORTANT: This tool first checks for exact title matches (case-insensitive). If none are found, it returns the best partial match instead. This is useful when you're not sure of the exact title but need to reference a document in other operations. Results are more accurate when you provide more of the actual title in your query. Use this tool when you need to: - Find a document's ID when you only know its title - Get the document ID for use in other operations - Verify if a document with a specific title exists - Find the best matching document if exact title is unknown Args: query: Title to search for (can be exact or partial) collection_id: Optional collection to limit the search to Returns: Document ID if found, or best match information

输入参数query必填collection_id

list_recently_updated_documents

Lists documents ordered by most recent change (newest first). Answers questions like "what changed this week" without needing search keywords. Backed by Outline's search endpoint with an empty query, sorted by last-modified time. IMPORTANT: date_filter is a coarse server-side window on each document's last-modified time. It accepts only "day", "week", "month", or "year" (no arbitrary timestamps) and defaults to "week". Results are ordered newest-changed first. STATUS FILTER: By default this lists published documents only. Pass status_filter to include other states. Allowed values are "draft", "archived", and "published". Drafts only ever include those you are allowed to see. PAGINATION: Returns up to limit documents (default 25). Use offset to page through older changes. Use this tool when you need to: - Answer "what documents changed recently / this week" - Review recent activity, optionally within one collection - Catch up on edits since you last looked Args: date_filter: Time window on last-modified time. One of "day", "week", "month", "year". Defaults to "week". collection_id: Optional collection to limit results to status_filter: Optional list of statuses to include. Allowed values are "draft", "archived", and "published". Defaults to published only. limit: Maximum number of documents to return (default: 25) offset: Number of documents to skip for pagination (default: 0) Returns: Formatted string listing documents with their IDs and last-updated timestamps, newest first

输入参数limitoffsetdate_filtercollection_idstatus_filter

read_document

Retrieves and displays document content, optionally paginated by line range. Use this tool when you need to: - Access the complete content of a specific document - Read a specific range of lines from a large document - Review document information in detail - Quote or reference document content When offset or limit are set, output includes line numbers and a metadata header showing the range. When both are 0 (default), the full document is returned in the original format for backward compatibility. Args: document_id: The document ID to retrieve offset: 0-based line number to start from; must be non-negative (default: 0) limit: Number of lines to return; 0 means all lines; must be non-negative (default: 0) Returns: Formatted string containing the document title and content

输入参数limitoffsetdocument_id必填

export_document

Exports a document as plain markdown text. Use this tool when you need to: - Get clean markdown content without formatting - Extract document content for external use - Process document content in another application - Share document content outside Outline Args: document_id: The document ID to export Returns: Document content in markdown format without additional formatting

输入参数document_id必填

get_document_toc

Returns the heading structure of a document as a table of contents with line numbers. Use this tool when you need to: - Understand the structure of a large document - Find specific sections before reading them - Navigate a document by its headings Line numbers in the output can be used with read_document(offset=...) or read_document_section(heading=...) to read specific parts. Args: document_id: The document ID Returns: Formatted table of contents with line numbers

输入参数document_id必填

read_document_section

Reads a specific section of a document identified by heading match. Uses case-insensitive substring matching against headings. Returns the section content from the matched heading up to the next heading of the same or higher level, including all nested subsections. Use this tool when you need to: - Read a specific part of a large document - Focus on one section without loading everything - Navigate by heading name instead of line numbers Args: document_id: The document ID heading: Case-insensitive substring to match against headings (e.g. "arch" matches "## Architecture") Returns: Section content with line numbers

输入参数heading必填document_id必填

search_document_content

Searches within a document for lines containing a text snippet (grep-style), returning matches with line numbers and surrounding context. Use this tool when you need to: - Locate specific text in a large document without reading it in full - Find the exact text and line number to build edit_document old_string values or read_document offsets Matching is case-insensitive per line. Line numbers are 0-based and valid as read_document offsets. Args: document_id: The document ID to search query: Text snippet to find (case-insensitive) context_lines: Lines of context around each match (default: 2, must be non-negative) Returns: Matching lines with line numbers and context

输入参数query必填document_id必填context_lines

get_attachment_url

Resolve an attachment ID to a downloadable URL. Calls attachments.redirect and returns the final URL after the redirect. Allows clients/agents to fetch the file themselves. Use this tool when you need to: - Get a direct URL to download an attachment - Share or reference an attachment URL - Let another system fetch the file Args: attachment_id: The attachment UUID Returns: The redirect URL (signed download URL)

输入参数attachment_id必填

fetch_attachment

Fetch attachment content and return it as base64. Calls attachments.redirect, follows the redirect, and returns the raw file content encoded as base64. Useful for images and files that agents can process. Use this tool when you need to: - Read PDF content from Outline documents - Process embedded images - Analyze files referenced in documents - Enable AI tools to work with all document content Args: attachment_id: The attachment UUID Returns: Multi-line string in this format (blank line after Content-Length / before Content-Base64): Content-Type: <mime-type> Content-Length: <bytes> Content-Base64: <base64-encoded-data> Note: For large files (e.g. multi-MB PDFs), the base64 output may hit token limits. Prefer get_attachment_url to obtain a download URL for large attachments, then fetch externally.

输入参数attachment_id必填

list_document_attachments

List attachment IDs referenced in a document. Parses document content for attachment references (e.g. /api/attachments.redirect?id=<uuid>) and returns a list of attachment IDs with context snippets. Use this tool when you need to: - Discover attachments within a document - Find attachment IDs for use with get_attachment_url or fetch_attachment - Audit what files a document references Args: document_id: The document ID to scan Returns: Formatted list of attachment IDs and context

输入参数document_id必填

list_document_comments

Retrieves comments on a specific document with pagination support. IMPORTANT: By default, this returns up to 25 comments at a time. If there are more than 25 comments on the document, you'll need to make multiple calls with different offset values to get all comments. The response will indicate if there are more comments available. Use this tool when you need to: - Review feedback and discussions on a document - See all comments from different users - Find specific comments or questions - Track collaboration and input on documents Args: document_id: The document ID to get comments from include_anchor_text: Whether to include the document text that comments refer to limit: Maximum number of comments to return (default: 25) offset: Number of comments to skip for pagination (default: 0) Returns: Formatted string containing comments with author, date, and optional anchor text

输入参数limitoffsetdocument_id必填include_anchor_text

get_comment

Retrieves a specific comment by its ID. Use this tool when you need to: - View details of a specific comment - Reference or quote a particular comment - Check comment content and metadata - Find a comment mentioned elsewhere Args: comment_id: The comment ID to retrieve include_anchor_text: Whether to include the document text that the comment refers to Returns: Formatted string with the comment content and metadata

输入参数comment_id必填include_anchor_text

export_collection

Exports all documents in a collection to a downloadable file. IMPORTANT: This tool starts an asynchronous export operation which may take time to complete. The function returns information about the operation, including its status. When the operation is complete, the file can be downloaded or accessed via Outline's UI. The export preserves the document hierarchy and includes all document content and structure in the specified format. Use this tool when you need to: - Create a backup of collection content - Share collection content outside of Outline - Convert collection content to other formats - Archive collection content for offline use Args: collection_id: The collection ID to export format: Export format ("outline-markdown", "json", or "html") Returns: Information about the export operation and how to access the file

输入参数formatcollection_id必填

export_all_collections

Exports the entire workspace content to a downloadable file. IMPORTANT: This tool starts an asynchronous export operation which may take time to complete, especially for large workspaces. The function returns information about the operation, including its status. When the operation is complete, the file can be downloaded or accessed via Outline's UI. The export includes all collections, documents, and their hierarchies in the specified format. Use this tool when you need to: - Create a complete backup of all workspace content - Migrate content to another system - Archive all workspace documents - Get a comprehensive export of knowledge base Args: format: Export format ("outline-markdown", "json", or "html") Returns: Information about the export operation and how to access the file

输入参数format

create_collection

Creates a new collection for organizing documents. Use this tool when you need to: - Create a new section or category for documents - Set up a workspace for a new project or team - Organize content by department or topic - Establish a separate space for related documents Args: name: Name for the collection description: Optional description of the collection's purpose color: Optional hex color code for visual identification (e.g. #FF0000) Returns: Result message with the new collection ID

输入参数name必填colordescription

update_collection

Modifies an existing collection's properties. Use this tool when you need to: - Rename a collection - Update a collection's description - Change a collection's color coding - Refresh collection metadata Args: collection_id: The collection ID to update name: Optional new name for the collection description: Optional new description color: Optional new hex color code (e.g. #FF0000) Returns: Result message confirming update

输入参数namecolordescriptioncollection_id必填

delete_collection

Permanently removes a collection and all its documents. Use this tool when you need to: - Remove an entire section of content - Delete obsolete project collections - Remove collections that are no longer needed - Clean up workspace organization WARNING: This action cannot be undone and will delete all documents within the collection. Args: collection_id: The collection ID to delete Returns: Result message confirming deletion

输入参数collection_id必填

ask_ai_about_documents

Queries document content using natural language questions. Use this tool when you need to: - Find specific information across multiple documents - Get direct answers to questions about document content - Extract insights from your knowledge base - Answer questions like "What is our vacation policy?" - Answer "How do we onboard new clients?" and similar queries Args: question: The natural language question to ask collection_id: Optional collection to limit the search to document_id: Optional document to limit the search to Returns: AI-generated answer based on document content with sources

输入参数question必填document_idcollection_id

create_document

Creates a new document in a specified collection. Use this tool when you need to: - Add new content to a knowledge base - Create documentation, guides, or notes - Add a child document to an existing parent - Start a new document thread or topic - Create a reusable template document Note: For Mermaid diagrams, use ```mermaidjs (not ```mermaid) as the code fence language identifier for proper rendering. Args: title: The document title collection_id: The collection ID to create in text: Optional markdown content for the document parent_document_id: Optional parent document ID for nesting publish: Whether to publish immediately (True) or save as draft (False) template: If True, creates the document as a template icon: Optional emoji character to use as the document icon (e.g. "📋", "🚀"). If None, no icon is set. Returns: Result message with the new document ID

输入参数icontexttitle必填publishtemplatecollection_id必填parent_document_id

update_document

Modifies an existing document's title or content. IMPORTANT: This tool replaces the document content rather than just adding to it. For partial edits (changing specific text), prefer the edit_document tool instead. Use this tool when you need to: - Replace the entire document content - Change a document's title - Append new content to an existing document - Convert a document to or from a template Note: For Mermaid diagrams, use ```mermaidjs (not ```mermaid) as the code fence language identifier for proper rendering. Args: document_id: The document ID to update title: New title (if None, keeps existing title) text: New content (if None, keeps existing) append: If True, adds text to end of document instead of replacing template: If True, converts to a template. If False, converts a template back to a regular document. icon: Optional emoji character to use as the document icon (e.g. "📋", "🚀"). If None, keeps existing icon. Pass an empty string to remove the icon. Returns: Result message confirming update

输入参数icontexttitleappendtemplatedocument_id必填

add_comment

Adds a comment to a document or replies to an existing comment. Use this tool when you need to: - Provide feedback on document content - Ask questions about specific information - Reply to another user's comment - Collaborate with others on document development Args: document_id: The document to comment on text: The comment text (supports markdown) parent_comment_id: Optional parent comment ID (for replies) Returns: Result message with the new comment ID

输入参数text必填document_id必填parent_comment_id

edit_document

Edits a document using string-match replacement. Each edit finds a unique old_string in the document and replaces it with new_string. Edits are applied server-side — you never need to hold the full document in context. IMPORTANT: Batch all edits for a document into a single call when possible to minimize API calls. Each old_string must uniquely match one location in the document. Include surrounding context if needed to disambiguate. Edits are applied sequentially, so later edits can target text created by earlier edits in the same batch. If any edit fails, no changes are applied (all-or-nothing). By default (save=True), changes are pushed to Outline immediately. Set save=False to stage changes locally for large rewrites spanning multiple calls, then pass save=True on the final call to push all accumulated changes. Args: document_id: The document ID to edit edits: List of edits to apply save: If True (default), push changes to Outline immediately. If False, stage locally. Returns: Summary of edits applied and save status

输入参数saveedits必填document_id必填

archive_document

Archives a document to remove it from active use while preserving it. IMPORTANT: Archived documents are removed from collections but remain searchable in the system. They won't appear in normal collection views but can still be found through search or the archive list. Use this tool when you need to: - Remove outdated or inactive documents from view - Clean up collections while preserving document history - Preserve documents that are no longer relevant - Temporarily hide documents without deleting them Args: document_id: The document ID to archive Returns: Result message confirming archival

输入参数document_id必填

unarchive_document

Restores a previously archived document to active status. Use this tool when you need to: - Restore archived documents to active use - Access or reference previously archived content - Make archived content visible in collections again - Update and reuse archived documents Args: document_id: The document ID to unarchive Returns: Result message confirming restoration

输入参数document_id必填

delete_document

Moves a document to trash or permanently deletes it. IMPORTANT: When permanent=False (the default), documents are moved to trash and retained for 30 days before being permanently deleted. During this period, they can be restored using the restore_document tool. Setting permanent=True bypasses the trash and immediately deletes the document without any recovery option. Use this tool when you need to: - Remove unwanted or unnecessary documents - Delete obsolete content - Clean up workspace by removing documents - Permanently remove sensitive information (with permanent=True) Args: document_id: The document ID to delete permanent: If True, permanently deletes the document without recovery option Returns: Result message confirming deletion

输入参数permanentdocument_id必填

restore_document

Recovers a document from the trash back to active status. Use this tool when you need to: - Retrieve accidentally deleted documents - Restore documents from trash to active use - Recover documents deleted within the last 30 days - Access content that was previously trashed Args: document_id: The document ID to restore Returns: Result message confirming restoration

输入参数document_id必填

list_archived_documents

Displays all documents that have been archived. Use this tool when you need to: - Find specific archived documents - Review what documents have been archived - Identify documents for possible unarchiving - Check archive status of workspace content Returns: Formatted string containing list of archived documents

无需输入参数。

list_trash

Displays all documents currently in the trash. Use this tool when you need to: - Find deleted documents that can be restored - Review what documents are pending permanent deletion - Identify documents to restore from trash - Verify if specific documents were deleted Returns: Formatted string containing list of documents in trash

无需输入参数。

move_document

Relocates a document to a different collection or parent document. IMPORTANT: When moving a document that has child documents (nested documents), all child documents will move along with it, maintaining their hierarchical structure. You must specify either collection_id or parent_document_id (or both). Use this tool when you need to: - Reorganize your document hierarchy - Move a document to a more relevant collection - Change a document's parent document - Restructure content organization Args: document_id: The document ID to move collection_id: Target collection ID (if moving between collections) parent_document_id: Optional parent document ID (for nesting) Returns: Result message confirming the move operation

输入参数document_id必填collection_idparent_document_id

batch_archive_documents

Archives multiple documents in a single batch operation. This tool processes each document sequentially, continuing even if individual operations fail. Rate limiting is handled automatically by the Outline client. IMPORTANT: Archived documents are removed from collections but remain searchable. They won't appear in normal collection views but can still be found through search or the archive list. Use this tool when you need to: - Archive multiple outdated documents at once - Clean up collections in bulk - Batch hide documents without deleting them Recommended batch size: 10-50 documents per operation Args: document_ids: List of document IDs to archive Returns: Summary of batch operation with success/failure details

输入参数document_ids必填

batch_move_documents

Moves multiple documents to a different collection or parent. This tool processes each document sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. IMPORTANT: When moving documents that have child documents, all children will move along with them, maintaining hierarchical structure. You must specify either collection_id or parent_document_id (or both). Use this tool when you need to: - Reorganize multiple documents at once - Move documents between collections in bulk - Restructure document hierarchies efficiently Recommended batch size: 10-50 documents per operation Args: document_ids: List of document IDs to move collection_id: Target collection ID (optional) parent_document_id: Target parent document ID (optional) Returns: Summary of batch operation with success/failure details

输入参数document_ids必填collection_idparent_document_id

batch_delete_documents

Deletes multiple documents, moving them to trash or permanently. This tool processes each document sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. IMPORTANT: When permanent=False (the default), documents are moved to trash and retained for 30 days. Setting permanent=True bypasses trash and immediately deletes documents without recovery option. Use this tool when you need to: - Remove multiple unwanted documents at once - Clean up workspace in bulk - Permanently delete sensitive information (with permanent=True) Recommended batch size: 10-50 documents per operation Args: document_ids: List of document IDs to delete permanent: If True, permanently deletes without recovery option Returns: Summary of batch operation with success/failure details

输入参数permanentdocument_ids必填

batch_update_documents

Updates multiple documents with different changes. This tool processes each update sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. Use this tool when you need to: - Update multiple documents with different changes - Batch edit document titles or content - Append content to multiple documents Note: For Mermaid diagrams, use ```mermaidjs (not ```mermaid) as the code fence language identifier for proper rendering. Recommended batch size: 10-50 documents per operation Args: updates: List of update specifications Returns: Summary of batch operation with success/failure details

输入参数updates必填

batch_create_documents

Creates multiple documents in a single batch operation. This tool processes each creation sequentially, continuing even if individual operations fail. Rate limiting is handled automatically. Use this tool when you need to: - Create multiple documents at once - Bulk import content into collections - Set up document structures efficiently Note: For Mermaid diagrams, use ```mermaidjs (not ```mermaid) as the code fence language identifier for proper rendering. Recommended batch size: 10-50 documents per operation Args: documents: List of document specifications Returns: Summary of batch operation with created document IDs and success/failure details

输入参数documents必填

版本历史

2
  1. v1.11.0最新Oct 31, 2026
  2. v1.10.1Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分