notion-mcp-server 2.10.1 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,7 @@ Give your AI full read/write access to Notion with **one token and one paste**.
12
12
  Three reasons it exists when Notion ships its own MCP:
13
13
 
14
14
  - **Built for agents, not humans-in-the-loop.** Notion's hosted MCP is OAuth-only — it cannot run headless. This server authenticates with a token, so it works in **CI, cron jobs, background agents, and self-hosted deployments** where nobody can click "Authorize".
15
- - **~90% less context overhead.** Two MCP tools (`notion_execute` + `notion_describe`) dispatch **43 operations**, instead of one tool schema per endpoint flooding your agent's context.
15
+ - **97% smaller tool footprint at connection.** Two MCP tools (**422 tokens**) instead of one schema per endpoint the official open-source server loads **17,163 tokens** of tool schemas before you do anything. Operation schemas load on demand via `notion_describe`, so even a typical multi-operation task stays 85–95% lighter. [Measured, reproducible →](./benchmarks)
16
16
  - **The operational stuff is built in.** Batched mutations with atomic rollback, idempotency keys, automatic retry on rate limits, slim token-efficient responses, full markdown round-trip, and self-healing validation errors that let the model fix its own bad payloads in one turn.
17
17
 
18
18
  <a href="https://glama.ai/mcp/servers/zrh07hteaa">
@@ -123,7 +123,7 @@ If you just want to chat with your Notion in claude.ai's web UI, use Notion's ho
123
123
 
124
124
  | Capability | Official Notion MCP (open source) | **This server** |
125
125
  | --- | --- | --- |
126
- | **Tool surface** | ~24 tools (one per endpoint) loaded into context | **2 tools** the LLM loads ~90% less schema |
126
+ | **Tool surface** | 24 tools (one per endpoint), 17,163 tokens loaded into context | **2 tools**, 422 tokens [97% less schema at connection](./benchmarks) |
127
127
  | **Operations covered** | ~24 endpoints | **43 operations** (plus a `trash_page` alias) across pages, blocks, databases, data sources, views, templates, comments, users, files |
128
128
  | **Batch mutations** | Not documented | ✅ Universal `{ items: [...] }` envelope; up to **10 in parallel** |
129
129
  | **Atomic batches + rollback** | Not documented | ✅ `atomic: true` aborts on first failure, best-effort archives entities created earlier |
@@ -125,9 +125,9 @@ export const RELATION_DB_PROPERTY_SCHEMA = z.object({
125
125
  type: z.literal("relation").describe("Relation property type"),
126
126
  relation: z
127
127
  .object({
128
- database_id: z
128
+ data_source_id: z
129
129
  .string()
130
- .describe("The ID of the database this relation refers to"),
130
+ .describe("The ID of the data source this relation refers to"),
131
131
  synced_property_name: z
132
132
  .string()
133
133
  .optional()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "notion-mcp-server",
3
- "version": "2.10.1",
3
+ "version": "2.11.0",
4
4
  "mcpName": "io.github.awkoy/notion-mcp-server",
5
5
  "type": "module",
6
6
  "bin": {