MCP

MCP Server

Let Claude, Cursor, Windsurf, and other AI tools create and manage documents on Memory.Wiki directly.

The MCP-native memory layer for AI agents.

Read Memory.Wiki URLs as context today. Write memory back via MCP in Phase 2.

Today Live

  • Read Memory.Wiki URLs as AI context
  • Document CRUD via 25 MCP tools
  • Auto-source detection

Coming Q2 2026

  • Memory write access
  • Bundle deploy
  • Multi-agent memory sharing
  • Real-time bundle sync

What is MCP

The Model Context Protocol (MCP) is an open standard that lets AI assistants interact with external tools and services. The Memory.Wiki MCP server exposes 25 tools across 7 categories — core CRUD, append/prepend, section editing, sharing controls, version history, folders, and stats. The hosted endpoint at https://memory.wiki/api/mcp works with any MCP-compatible client (Claude Web, Cursor, etc.).

Claude Web (Hosted MCP)

Use Memory.Wiki directly in claude.ai via our hosted MCP endpoint — no local install required.

Endpoint URL

https://memory.wiki/api/mcp

In Claude.ai → Settings → Integrations / Connectors → Add custom MCP server → paste the URL above.

Same hosted endpoint works for any MCP-compatible client that supports remote HTTP MCP (Cursor, ChatGPT, Gemini, etc.).

Local Installation

For local stdio-based clients (Claude Desktop, Claude Code, Cursor stdio mode), install the npm package:

bash
npm install -g memory-wiki-cli && Memory.Wiki login

The MCP server uses JWT authentication from Memory.Wiki login. No environment variables needed.

Claude Code Setup

Add to .mcp.json in your project root:

json
{
  "mcpServers": {
    "Memory.Wiki": {
      "command": "npx",
      "args": ["memory-wiki-mcp"]
    }
  }
}

Claude Desktop Setup

Add to claude_desktop_config.json:

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

json
{
  "mcpServers": {
    "Memory.Wiki": {
      "command": "npx",
      "args": ["memory-wiki-mcp"]
    }
  }
}

Cursor / Windsurf

Cursor and Windsurf both support MCP. Use the hosted HTTP endpoint or the npm package.

Cursor — Settings → MCP → Add new global MCP server

json
{
  "mcpServers": {
    "Memory.Wiki": {
      "url": "https://memory.wiki/api/mcp"
    }
  }
}

All 25 Tools

The hosted MCP exposes 25 tools across 8 categories. Auth happens via the user's Memory.Wiki session (no API keys).

Core CRUD
mw_createmw_readmw_updatemw_deletemw_listmw_search
Append/Prepend
mw_appendmw_prepend
Sections
mw_outlinemw_extract_sectionmw_replace_section
Duplicate/Import
mw_duplicatemw_import_url
Sharing
mw_publishmw_set_allowed_emailsmw_get_share_url
Versions
mw_versionsmw_restore_versionmw_diff
Stats/Folders
mw_statsmw_recentmw_folder_listmw_folder_createmw_move_to_folder
Render
mw_render_preview

Detailed parameters for the 6 core tools below. The other 19 follow the same pattern — the AI will autocomplete arguments from the tool descriptions when called.

mw_create

Create a new document from Markdown content. Returns the document URL, ID, and edit token.

mw_read

Fetch a document's content and metadata by ID.

mw_update

Update an existing document's content or title.

mw_list

List all documents owned by the authenticated user.

mw_publish

Toggle a document between draft (private) and published (shared) state.

mw_delete

Soft-delete a document. Can be restored by owner.

mw_create

Create a new document from Markdown content. Returns the document URL, ID, and edit token.

Parameters

markdownREQUIREDstringThe Markdown content.
titlestringDocument title.
isDraftbooleanCreate as draft. Default: false.

Example

// In Claude Code:
"Publish this analysis as a document on Memory.Wiki"

// Claude calls mw_create:
{
  "markdown": "# Performance Analysis\n...",
  "title": "Performance Analysis",
  "isDraft": false
}

// Returns:
{
  "url": "https://memory.wiki/abc123",
  "id": "abc123",
  "editToken": "tok_..."
}

mw_read

Fetch a document's content and metadata by ID.

Parameters

idREQUIREDstringDocument ID.

Example

// "Read the document at memory.wiki/abc123"

// Claude calls mw_read:
{ "id": "abc123" }

// Returns full markdown content and metadata

mw_update

Update an existing document's content or title.

Parameters

idREQUIREDstringDocument ID.
markdownstringNew Markdown content.
titlestringNew title.
changeSummarystringDescription of changes.

Example

// "Update the document with the revised version"

// Claude calls mw_update:
{
  "id": "abc123",
  "markdown": "# Revised Analysis\n...",
  "changeSummary": "Added benchmarks section"
}

mw_list

List all documents owned by the authenticated user.

Example

// "Show me my published documents"

// Claude calls mw_list (no parameters)
// Returns array of documents with id, title, status

mw_publish

Toggle a document between draft (private) and published (shared) state.

Parameters

idREQUIREDstringDocument ID.
isDraftREQUIREDbooleanSet to true for draft, false for published.

Example

// "Make document abc123 public"

// Claude calls mw_publish:
{ "id": "abc123", "isDraft": false }

mw_delete

Soft-delete a document. Can be restored by owner.

Parameters

idREQUIREDstringDocument ID.

Example

// "Delete the old draft"

// Claude calls mw_delete:
{ "id": "abc123" }

Usage Examples

Publish a document

You: "Write a blog post about WebAssembly and publish it on Memory.Wiki"

Claude: I'll write the blog post and publish it for you.

[Claude writes the content, then calls mw_create]

Done! Your blog post is live at https://memory.wiki/abc123

Update with revisions

You: "Update the document at memory.wiki/abc123 - add a section about benchmarks"

Claude: I'll read the current document and add the benchmarks section.

[Claude calls mw_read, then mw_update with new content]

Updated! The document now includes the benchmarks section.

Manage documents

You: "Show me my recent documents and delete the old drafts"

Claude: Let me list your documents.

[Claude calls mw_list]

You have 5 documents:
1. "API Guide" (published) - updated 2h ago
2. "Draft notes" (draft) - updated 3d ago
3. "Old meeting notes" (draft) - updated 2w ago

Should I delete the old drafts (#2 and #3)?

You: "Yes"

[Claude calls mw_delete for each]

Done! Deleted 2 documents.