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_pageCreate a new Kipli page. Returns the slug and edit token.
PARAMETERS
titlestring— Page 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_pageRead a Kipli page content by slug.
PARAMETERS
slugstringREQUIRED— The page slugEXAMPLE
{
"name": "read_page",
"arguments": { "slug": "aBcDeFgH" }
}RESPONSE
{
"title": "Sprint retro notes",
"contentJson": { "type": "doc", "content": [...] },
"version": 3
}update_pageUpdate page content. Plain text is auto-wrapped in TipTap format.
PARAMETERS
slugstringREQUIRED— The page slugtokenstringREQUIRED— The edit tokencontentstringREQUIRED— New content as plain texttitlestring— New titleEXAMPLE
{
"name": "update_page",
"arguments": {
"slug": "aBcDeFgH",
"token": "xYz...",
"content": "First paragraph.\n\nSecond paragraph."
}
}RESPONSE
Page updated successfully.
list_commentsList all comments on a page.
PARAMETERS
slugstringREQUIRED— The page slugEXAMPLE
{
"name": "list_comments",
"arguments": { "slug": "aBcDeFgH" }
}RESPONSE
{
"comments": [
{ "content": "Great draft!", "authorIdentifier": "mcp-agent", ... }
]
}add_commentAdd a comment to a page. Requires edit token.
PARAMETERS
slugstringREQUIRED— The page slugtokenstringREQUIRED— The edit tokencontentstringREQUIRED— The comment textEXAMPLE
{
"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.