MCP Server Tools
Integrate AI assistants (like Cursor, Claude Desktop, Cline, or Antigravity) directly with your Wiki using the Model Context Protocol (MCP). The MCP server exposes a set of "Tools" that your AI can automatically discover and call to read, write, and manage your documents through natural language.
Base Path: /api/v1/mcp/sse
Authentication: Required (X-Mcp-Api-Key Header)
Protocol: Server-Sent Events (SSE)
:::tip Connecting your AI To learn how to generate an API Key and configure your AI assistant to connect to the Wiki, please see the MCP Connection Guide. :::
Error Handling
If an operation fails (e.g., workspace not found, document archived, or insufficient permissions), the tool will return a JSON object containing an error key.
{
"error": "Workspace not found or access denied: Personal Docs"
}
Workspace Tools
These tools allow the AI to explore and discover available workspaces.
wikiListWorkspaces
List all active workspaces in the wiki.
- Parameters: None
- Returns: A list of workspace objects containing
id,name,description, andicon.
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Project Documentation",
"description": "Main workspace for project docs",
"icon": "📚"
}
]
wikiListUserWorkspaces
List all workspaces that the currently authenticated user has access to.
- Parameters: None
- Returns: A list of accessible workspace objects.
Document Discovery & Search
Tools for finding and retrieving documents.
wikiListDocuments
List all documents inside a specific workspace by ID.
- Parameters:
workspaceId(String, Required): UUID of the workspace.
- Returns: A list of document summaries including
id,title,icon,parentId, andupdatedAt.
wikiListDocumentsInWorkspace
List all documents inside a specific workspace by Name (easier for AI natural language mapping).
- Parameters:
workspaceName(String, Required): The exact name of the workspace.
wikiSearch
Search for documents by keyword across titles and content within a workspace.
- Parameters:
workspaceId(String, Required): UUID of the workspace to search in.query(String, Required): Search keyword.
- Returns: Matches containing
id,title,matchField(where the match occurred), and anexcerpt.
wikiGetDocument
Retrieve the full content of a document by its ID.
- Parameters:
documentId(String, Required): UUID of the document.
- Returns: Document details including
title,plainTextcontent,excerpt,icon, and metadata.
{
"id": "770e8400-e29b-41d4-a716-446655440000",
"title": "Meeting Notes",
"plainText": "Discussion points from today's meeting...",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000",
"updatedAt": "2025-01-15T10:30:00Z"
}
Document Editing Tools
Tools for creating, modifying, and deleting documents.
wikiGetBlockNoteSchema
Get the JSON schema and architecture of BlockNote content blocks.
:::info Why is this needed? The Wiki uses a block-based editor (BlockNote). Before an AI creates or heavily formats a document, it can call this tool to understand how to properly structure the JSON payload for headings, paragraphs, lists, and code blocks. :::
- Parameters: None
- Returns: A detailed JSON schema describing the
ContentBlockstructure.
wikiCreateDocument
Create a new document in a workspace.
- Parameters:
workspaceName(String, Required): Name of the target workspace.title(String, Required): Title of the new document.contentJson(String, Required): A JSON string array of BlockNote blocks representing the document body.
- Returns: The newly created Document details (same format as
wikiGetDocument).
[
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Hello World",
"styles": {}
}
]
}
]
wikiUpdateDocument
Overwrite the content and title of an existing document.
- Parameters:
workspaceName(String, Required): Name of the workspace containing the document.documentId(String, Required): UUID of the document to update.title(String, Optional): New title.contentJson(String, Optional): New BlockNote JSON string array.
- Returns: The updated Document details (same format as
wikiGetDocument).
wikiAppendTextToDocument
A simplified tool to quickly add plain text to the bottom of an existing document without needing to construct full BlockNote JSON. The server automatically parses the text into paragraph blocks.
- Parameters:
workspaceName(String, Required): Name of the workspace.documentId(String, Required): UUID of the document.textToAppend(String, Required): The text to add.
- Returns: The updated Document details containing the new appended content.
wikiDeleteDocument
Archive (soft-delete) an existing document.
- Parameters:
workspaceName(String, Required): Name of the workspace.documentId(String, Required): UUID of the document to delete.
- Returns: Success message if archived successfully.