Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OUTLINE_API_KEYYesYour Outline API key (get this from your Outline account settings)
OUTLINE_API_URLNoThe URL of your Outline API (defaults to https://app.getoutline.com/api for cloud-hosted, or use your self-hosted instance URL)https://app.getoutline.com/api

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_documentsA
    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
    
list_collectionsA
    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.
    
get_collection_structureA
    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
    
get_document_id_from_titleA
    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
    
list_recently_updated_documentsA
        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
        
read_documentA
    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
    
export_documentA
    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
    
get_document_tocA
    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
    
read_document_sectionA
    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
    
search_document_contentA
    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
    
get_attachment_urlA
    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)
    
fetch_attachmentA
    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.
    
list_document_attachmentsA
    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
    
list_document_commentsA
    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
    
get_commentA
    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
    
get_document_backlinksA
    Finds all documents that link to a specific document.

    Use this tool when you need to:
    - Discover references to a document across the workspace
    - Identify dependencies between documents
    - Find documents related to a specific document
    - Understand document relationships and connections

    Args:
        document_id: The document ID to find backlinks for

    Returns:
        Formatted string listing all documents that link to
        the specified document
    
export_collectionA
    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
    
export_all_collectionsA
    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
    
create_collectionA
        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
        
update_collectionA
        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
        
delete_collectionA
        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
        
ask_ai_about_documentsA
    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
    
create_documentA
    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
    
update_documentA
    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
    
add_commentA
    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
    
edit_documentA
    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
    
archive_documentA
    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
    
unarchive_documentA
    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
    
delete_documentA
        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
        
restore_documentA
    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
    
list_archived_documentsA
    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_trashA
    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_documentA
    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
    
batch_archive_documentsA
    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
    
batch_move_documentsA
    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
    
batch_delete_documentsA
    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
    
batch_update_documentsA
    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
    
batch_create_documentsA
    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
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vortiago/mcp-outline'

If you have feedback or need assistance with the MCP directory API, please join our Discord server