Kipli

MODEL CONTEXT PROTOCOL

Connect AI agents to Kipli

Kipli exposes a Streamable HTTP MCP server that lets any compatible AI agent — Claude, ChatGPT, Cursor, or custom clients — create pages, update content, and manage comments programmatically.

QUICK START

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "kipli": {
      "url": "https://mcp.kipli.dev/mcp"
    }
  }
}

Claude Code

claude --mcp-server-url https://mcp.kipli.dev/mcp

Any MCP client

Endpoint: https://mcp.kipli.dev/mcp
Transport: Streamable HTTP (POST + SSE)
Health check: GET https://mcp.kipli.dev/health

AVAILABLE TOOLS

The MCP server exposes 5 tools. All write operations require the page's edit token.

create_page

Create a new Kipli page. Returns the slug and edit token.

PARAMETERS

titlestringPage title (default: Untitled)

EXAMPLE

{
  "name": "create_page",
  "arguments": { "title": "Sprint retro notes" }
}

RESPONSE

Page created!
URL: https://kipli.dev/aBcDeFgH?token=xYz...
Slug: aBcDeFgH
Edit Token: xYz...
read_page

Read a Kipli page content by slug.

PARAMETERS

slugstringREQUIREDThe page slug

EXAMPLE

{
  "name": "read_page",
  "arguments": { "slug": "aBcDeFgH" }
}

RESPONSE

{
  "title": "Sprint retro notes",
  "contentJson": { "type": "doc", "content": [...] },
  "version": 3
}
update_page

Update page content. Plain text is auto-wrapped in TipTap format.

PARAMETERS

slugstringREQUIREDThe page slug
tokenstringREQUIREDThe edit token
contentstringREQUIREDNew content as plain text
titlestringNew title

EXAMPLE

{
  "name": "update_page",
  "arguments": {
    "slug": "aBcDeFgH",
    "token": "xYz...",
    "content": "First paragraph.\n\nSecond paragraph."
  }
}

RESPONSE

Page updated successfully.
list_comments

List all comments on a page.

PARAMETERS

slugstringREQUIREDThe page slug

EXAMPLE

{
  "name": "list_comments",
  "arguments": { "slug": "aBcDeFgH" }
}

RESPONSE

{
  "comments": [
    { "content": "Great draft!", "authorIdentifier": "mcp-agent", ... }
  ]
}
add_comment

Add a comment to a page. Requires edit token.

PARAMETERS

slugstringREQUIREDThe page slug
tokenstringREQUIREDThe edit token
contentstringREQUIREDThe comment text

EXAMPLE

{
  "name": "add_comment",
  "arguments": {
    "slug": "aBcDeFgH",
    "token": "xYz...",
    "content": "Consider rephrasing the intro paragraph."
  }
}

RESPONSE

Comment added successfully.

KEY CONCEPTS

Token-based access

Every page has an edit token generated at creation. This token grants write access — pass it in token parameters for update and comment operations. Without a token, pages are read-only.

Optimistic locking

If two agents (or an agent and a human) edit the same page simultaneously, the server returns a 409 Conflict. The MCP tool will tell you to read the page again and retry.

Content format

The update_page tool accepts plain text — paragraphs are separated by double newlines. The server converts this to TipTap JSON internally. When reading, read_page returns the full TipTap JSON structure.

No deletion

Pages cannot be deleted via MCP or the API. Inactive pages are automatically cleaned up after 90 days without access.