Connect
Optimize
Secure
Announcing StackOne Defender: leading open-source prompt injection guard for your agent • Read More →
Production-ready Notion MCP server with 35 extensible actions — plus built-in authentication, security, and optimized execution.
Coverage
Create, read, update, and delete across Notion — and extend your agent's capabilities with custom actions.
Authentication
Per-user OAuth in one call. Your Notion MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Every Notion tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Notion call.
Tools Discovery →A Notion MCP server lets AI agents read and write Notion data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Notion MCP server ships with 35 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, and optimized agent context. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
Prompt your Notion MCP Agent
Waiting for agent...
Interactive demo available on desktop.
Every action from Notion's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Append blocks to a parent block or page
Retrieve children of a block
Retrieve a block by ID
Update a block's content
Delete a block
Create a comment on a page, block, or discussion thread
List comments from a page or block
Retrieve a specific comment by ID
Create a new database with initial data source
Retrieve a database by ID
Update database-level properties
Create a new data source in an existing database
Retrieve a data source by ID
Query a data source and retrieve pages
Update a data source's properties and metadata
Initiate a file upload session in the Notion workspace, returning a file upload object with an upload URL for sending file data via send_file_upload
Upload file contents for a pending file upload
List all file uploads for the bot integration
Get details of a specific file upload by ID
Create a new page in a Notion workspace
Retrieve a page by ID
Update page properties, icon, cover, or apply template
Move a page to a new parent location
List all users in the workspace
Retrieve a user by ID
List all page templates for a data source
Return the authenticated identity and auth type for the current Notion connection. Wraps Notion's GET /users/me endpoint which returns the bot user associated with the API token or OAuth access token. Maps to the StackOne IAM unified credentials schema (name, auth_type). auth_type is inferred from credentials shape (clientId present → oauth, otherwise api_key).
List the Notion workspace bound to this integration as a single IAM organization. Notion integrations are scoped to exactly one workspace; this action returns one entry derived from the bot user object on GET /users/me. id is the workspace_id (UUID), name is the workspace_name. Always returns 0 or 1 results.
Retrieve the Notion workspace bound to this integration as a single IAM organization. Re-fetches GET /users/me and returns the workspace entry IF the provided id matches the bound workspace_id (or workspace_name fallback). Notion has no per-workspace lookup endpoint on the public API; the connection is scoped to one workspace, so this action always resolves to that workspace or 404s.
List every Notion workspace user (people + bots) mapped to the IAM unified user schema, cursor-paginated. Wraps Notion GET /users. Each entry includes is_bot_user, primary_email_address (people only), and avatar. Notion does not expose status, login timestamps, or roles via the public API — those are unmapped.
Retrieve a single Notion user by ID, mapped to the IAM unified user schema. Wraps GET /users/{id}. Returns the same field coverage as unified_list_users — id, name, is_bot_user, primary_email_address (people only), avatar.
Retrieve a page property item
Search all pages and data sources
Retrieve information about the bot user
Finalize a multi-part file upload
One endpoint. Any framework. Your agent is talking to Notion in under 10 lines of code.
MCP Clients
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}133+ actions
101+ actions
92+ actions
92+ actions
67+ actions
53+ actions
44+ actions
The official Notion MCP server handles search and retrieval well. This post covers what it can't do and when the StackOne MCP server is the right alternative.
9 min
Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
origin_owner_id.All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.