Claude + Notion MCP Demo
README.md
# Claude + Notion MCP Demo
A small, offline MCP server over a **synthetic** two-client workspace (Acme / Beta). It shows the part of the job that is easy to get wrong: **find the right page, patch one table cell, or refuse if the match is ambiguous.**
This is not your live Notion workspace. There is no Anthropic API key and no Notion token in this repo. Connecting the **official** Notion connector still happens in your Claude Desktop app, on a screen share, with you signed in.
## What it demonstrates
1. A mixed workspace: text briefs plus invoice tables for two clients
2. `search_pages` — “Acme invoices” does not return Beta
3. `apply_client_edit` — updates `INV-104` on Acme only; a vague query like “invoices” is refused so the wrong client is not patched
4. Optional: point Claude Desktop at `src.server` using `claude_desktop_config.example.json`
## Run it
```bat
py -3 -m pip install -r requirements.txt
py -3 -m pytest tests -q
py -3 -m src.run
```
`src.run` searches Acme invoices, sets `INV-104` amount to `1500.00`, leaves Beta unchanged, and shows the refused ambiguous edit.
## Scope of this dummy
- Fixture JSON pages, not production Notion
- Local stdio MCP tools only
- Does not replace the Zoom/Meet walkthrough of Claude Desktop → Settings → Connectors → Notion OAuth
## What the $30 call covers
The $30 milestone is: **connect the official Notion MCP connector on screen share and confirm Claude can read one of your pages.** You keep passwords. An NDA can be signed before the call.
It is not a promise that every client page in a mixed workspace will update correctly in 30 minutes. Reliable find-and-edit across several businesses is a follow-on milestone after we look at 2–3 example pages.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing