Skip to main content

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.

Example Error Response
{
"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, and icon.
Example Response
[
{
"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.

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, and updatedAt.

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 an excerpt.

wikiGetDocument

Retrieve the full content of a document by its ID.

  • Parameters:
    • documentId (String, Required): UUID of the document.
  • Returns: Document details including title, plainText content, excerpt, icon, and metadata.
Example Response
{
"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 ContentBlock structure.

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).
Example contentJson Payload
[
{
"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.