--- title: ATAD-MCP created: 2026-07-25 09:04 updated: 2026-07-25 12:43 revision: 6 author: Auriea summary: "spell out the [[tag:ai]] convention explicitly for future agents" --- A wiki page describing itself: this documents the MCP connector that lets Claude read and write pages here directly, instead of you copy-pasting content back and forth. ## What it is A small local MCP (Model Context Protocol) server at `ATAD/wiki/mcp/server.js` that speaks to this wiki purely over its existing HTTP API — the same `/raw`, `/save`, and `/upload` routes Tincture already uses to publish diary entries. No new server-side code was added to the wiki engine itself; the connector is just a stdio front end onto what was already there. It runs locally on your machine, launched by Claude Code, and talks to `https://wiki.auriea.org` over HTTPS. ## Tools it gives Claude - **wiki_read(page)** — fetch a page's raw Markdown source - **wiki_search(query)** — search titles and body text; `tag:Name` browses a tag - **wiki_backlinks(page)** — list pages linking to a given page - **wiki_recent()** — list the most recently changed pages - **wiki_write(page, body, title?, summary?)** — create or update a page. Every save is a git commit on the live site, same as editing by hand. Writing a body of exactly `DeletedPage` deletes the page (recoverable from history, same as always). - **wiki_upload(filename, data_base64, alt?)** — upload an image or 3D model to content/files/, returning the stem to reference with `[[thumb:stem]]`, `[[image:stem]]`, or `[[model:stem.glb]]` ## Auth The connector reads the bearer API token straight out of `.api-token.json` (the same file/token created by `npm run api-token`) at the moment it needs it. The token never passes through chat, never gets typed anywhere, and never leaves your machine except as the Authorization header on the two API calls that already required it (`/save`, `/upload`). Reading pages needs no token at all, same as browsing the wiki normally. If the token is ever rotated (`npm run api-token` again), the connector picks up the new one automatically on its next run — nothing to reconfigure. ## Setup / where it lives - Code: `ATAD/wiki/mcp/` (its own `package.json`, depends on `@modelcontextprotocol/sdk` and `zod`) - Registered in `~/.claude.json` under the name `atad-wiki`, alongside other personal MCP servers (rebelle, maxmcp, etc.) — active from the start of any new Claude Code session - Base URL defaults to `https://wiki.auriea.org`; can be pointed at a local dev instance via the `ATAD_WIKI_URL` environment variable instead ## Safety notes Every write is a real git commit on the live public wiki — there's no draft or preview step baked into the connector itself. The tool descriptions instruct Claude to confirm exact content with you before calling `wiki_write`/`wiki_upload` unless you've explicitly said to proceed autonomously, but that's a prompt-level convention, not a hard technical gate. If a stronger guarantee (like a required dry-run flag) is ever wanted, that would need adding to `server.js`. ## Tagging convention **Every page created through this connector must carry a `[[tag:ai]]` line among its tags** (see the bottom of this page for an example). Auriea wants a durable, at-a-glance way to tell which pages on the wiki were authored by Claude versus written by hand. This applies to newly *created* pages only — don't retroactively tag an existing page just because you edited it. [[tag:ATAD]] [[tag:mcp]] [[tag:ai]]