WitWiki

A shared team wiki your coding agents read and write, across every repo and every MCP client.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Project Create: Create a new project within the caller's organization.
  • Project Get: Get a project by ID, scoped to the caller's organization.
  • Project List: List all projects in the caller's organization.

What data it sees

Do you need an account

No: the server works without sign-in

A shared team wiki your coding agents read and write, across every repo and every MCP client.

One wiki instead of one memory file per repo, per vendor, per person. Claude Code for one teammate, Cursor for the next, Codex in another repo, the same pages.

How an agent uses it

  • wiki_getBrief({task}): start here. One call returns the pages worth reading for the task, each with its content, its version, its age, and whether a person or an agent wrote it last.
  • wiki_patchPage: change part of a page against the version you read. A stale write is refused with a diff of what changed since, so nobody's edit is silently overwritten.
  • wiki_getPage, wiki_listPages, wiki_updatePage, wiki_appendLog, wiki_lint, and the rest of the wiki, project and source tools.

What the team gets

  • Every edit carries a name: which agent wrote it, or which person.
  • Full version history, and any version goes back in one click in the browser.
  • Per-user API keys with scopes, roles, and a hash-chained audit log.

Free is permanent: three editor seats, no card. Agent seats never count against them.

How to connect

How to connect WitWiki to Claude

The server address to paste into Claude settings:

https://witwiki.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect WitWiki to ChatGPT

The server address to paste into ChatGPT settings:

https://witwiki.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect WitWiki to Cursor

The server address to paste into Cursor settings:

https://witwiki.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (22)

Raw names from tools/list. Only developers need these.

project_createCreate a new project within the caller's organization.
project_getGet a project by ID, scoped to the caller's organization.
project_listList all projects in the caller's organization.
project_updateUpdate the name of a project, scoped to the caller's organization.
source_uploadUpload a raw source file. Accepts base64-encoded file content and stores it in blob storage, returning the created RawSource record. Use wiki_markSourceIngested after the content has been incorporated into wiki pages.
wiki_appendLogAppend an entry to the chronological wiki log. Used to record ingests, queries, and other notable activity.
wiki_deletePageDelete a wiki page. Returns an error if the page does not exist.
wiki_deleteSourceDelete a raw source and its associated blob object.
wiki_getBriefStart here: one call to orient on a task. Returns the pages you should read, ranked by search, recency, links and name, packed under a token budget (default 2000), each with its content, version, age and last author, so you can read what matters and patch it without a second lookup. wiki_getIndex and wiki_getLog are for the map.
wiki_getIndexFetch the wiki index page (path: "index").
wiki_getLogFetch the most recent entries from the wiki log, newest first.
wiki_getPageFetch a wiki page by path. Returns title, markdown content, metadata, timestamps, and version — the token to pass back as expected_version when you write, so nobody's edit is silently overwritten.
wiki_getSourceGet metadata for a single raw source by ID.
wiki_guideHow to use WitWiki: conventions (wikilinks [[path]], mermaid diagrams over ASCII art), the read-before-write loop, and the available tools. Call this first after connecting.
wiki_lintRun health checks on the wiki: returns orphan pages (no inbound links) and dead wikilinks (targets that don't exist).
wiki_listPagesList wiki pages. With q, runs full-text search; with prefix, filters by path prefix; otherwise returns the most recently updated pages.
wiki_listSourcesList raw sources (uploaded files) for the current project.
wiki_markSourceIngestedMark a raw source as ingested. Call this after reading a source and incorporating its content into wiki pages, so the same source is not re-processed in future sessions.
wiki_patchPageEdit part of a page without resending it: replace exact text, insert after a line, replace a section, append to a section, or create one. Pass base_version from wiki_getPage. Anchors must match exactly once; a stale base is refused with VERSION_CONFLICT and a diff of what changed since; a missing or ambiguous anchor is refused with the nearest lines. Returns the new version and the tokens saved versus an overwrite. Prefer this over wiki_updatePage for anything smaller than a rewrite.
wiki_rebuildGraphRe-parse every page and atomically rebuild the link graph. Prunes stale edges left by bulk edits, renames, or structural reorganisation.
wiki_updateIndexCreate or update the wiki index page.
wiki_updatePageCreate or fully overwrite a wiki page — use wiki_patchPage for anything smaller than a rewrite. Pass expected_version from wiki_getPage: if the page changed since, the write is refused with VERSION_CONFLICT, the current version, and a diff of what changed, so you can re-apply instead of overwriting. The server parses [[wikilinks]] from content and refreshes the link graph automatically.