Skip to main content
Glama
cms19859230182-lang

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.