notion-slim

notion-slim

A token-optimized MCP server for Notion that reduces context window usage by 73% while preserving full functionality, enabling AI assistants to interact with Notion efficiently.

Category
Visit Server

README

notion-slim

Notion MCP server optimized for AI assistants — Reduce context window tokens by 73.0% while keeping full functionality. Compatible with Claude, ChatGPT, Gemini, Cursor, and all MCP clients.

npm version Test Status MCP Compatible

What is notion-slim?

A token-optimized version of the Notion Model Context Protocol (MCP) server.

The Problem

MCP tool schemas consume significant context window tokens. When AI assistants like Claude or ChatGPT load MCP tools, each tool definition takes up valuable context space.

The original @notionhq/notion-mcp-server loads 21 tools consuming approximately ~26,073 tokens — that's space you could use for actual conversation.

The Solution

notion-slim intelligently groups 21 tools into 10 semantic operations, reducing token usage by 73.0% — with zero functionality loss.

Your AI assistant sees fewer, smarter tools. Every original capability remains available.

Performance

Metric Original Slim Reduction
Tools 21 10 -52%
Schema Tokens 14,103 1,352 90.4%
Claude Code (est.) ~26,073 ~7,052 ~73.0%

Benchmark Info

  • Original: @notionhq/notion-mcp-server@2.0.0
  • Schema tokens measured with tiktoken (cl100k_base)
  • Claude Code estimate includes ~570 tokens/tool overhead

Quick Start

One-Command Setup (Recommended)

# Claude Desktop - auto-configure
npx notion-slim --setup claude

# Cursor - auto-configure
npx notion-slim --setup cursor

# Interactive mode (choose your client)
npx notion-slim --setup

Done! Restart your app to use notion.

⚠️ This MCP requires environment variables. The setup will add placeholders - update them with your actual values. See Configuration.

CLI Tools (already have CLI?)

# Claude Code (creates .mcp.json in project root)
claude mcp add notion -s project --env NOTION_API_KEY=<YOUR_KEY> -- npx -y notion-slim@latest

# Windows: use cmd /c wrapper
claude mcp add notion -s project --env NOTION_API_KEY=<YOUR_KEY> -- cmd /c npx -y notion-slim@latest

# VS Code (Copilot, Cline, Roo Code)
code --add-mcp '{"name":"notion","command":"npx","args":["-y","notion-slim@latest"],"env":{"NOTION_API_KEY":"<YOUR_KEY>"}}'

Configuration

Required Environment Variables

Variable Description Required
NOTION_API_KEY Notion Integration Token (from notion.so/my-integrations) Yes

Manual Setup

<details> <summary>Click to expand manual configuration options</summary>

Claude Desktop

Add to your claude_desktop_config.json:

OS Path
Windows %APPDATA%\Claude\claude_desktop_config.json
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "notion-slim@latest"],
      "env": {
        "NOTION_API_KEY": "<YOUR_KEY>"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json (global) or <project>/.cursor/mcp.json (project):

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "notion-slim@latest"],
      "env": {
        "NOTION_API_KEY": "<YOUR_KEY>"
      }
    }
  }
}

</details>

How It Works

MCPSlim acts as a transparent bridge between AI models and the original MCP server:

┌─────────────────────────────────────────────────────────────────┐
│  Without MCPSlim                                                │
│                                                                 │
│  [AI Model] ──── reads 21 tool schemas ────→ [Original MCP]    │
│             (~26,073 tokens loaded into context)                 │
├─────────────────────────────────────────────────────────────────┤
│  With MCPSlim                                                   │
│                                                                 │
│  [AI Model] ───→ [MCPSlim Bridge] ───→ [Original MCP]           │
│       │                │                      │                 │
│   Sees 10 grouped      Translates to        Executes actual   │
│   tools only         original call       tool & returns    │
│   (~7,052 tokens)                                              │
└─────────────────────────────────────────────────────────────────┘

How Translation Works

  1. AI reads slim schema — Only 10 grouped tools instead of 21
  2. AI calls grouped tool — e.g., interaction({ action: "click", ... })
  3. MCPSlim translates — Converts to original: browser_click({ ... })
  4. Original MCP executes — Real server processes the request
  5. Response returned — Result passes back unchanged

Zero functionality loss. 73.0% token savings.

Available Tool Groups

Group Actions
get 4
post 2
patch 2
retrieve 5
update 2
create 2

Plus 4 passthrough tools — tools that don't group well are kept as-is with optimized descriptions.

Compatibility

  • Full functionality — All original @notionhq/notion-mcp-server features preserved
  • All AI assistants — Works with Claude, ChatGPT, Gemini, Copilot, and any MCP client
  • Drop-in replacement — Same capabilities, just use grouped action names
  • Tested — Schema compatibility verified via automated tests

FAQ

Does this reduce functionality?

No. Every original tool is accessible. Tools are grouped semantically (e.g., click, hover, draginteraction), but all actions remain available via the action parameter.

Why do AI assistants need token optimization?

AI models have limited context windows. MCP tool schemas consume tokens that could be used for conversation, code, or documents. Reducing tool schema size means more room for actual work.

Is this officially supported?

MCPSlim is a community project. It wraps official MCP servers transparently — the original server does all the real work.

License

MIT


<p align="center"> Powered by <a href="https://github.com/mcpslim/mcpslim"><b>MCPSlim</b></a> — MCP Token Optimizer <br> <sub>Reduce AI context usage. Keep full functionality.</sub> </p>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured