Loading...
New Winner – Cross-Border Excellence | Payoneer India 2026 Check out
Featured Recognized by Salesforce; Proven by impact! Check out

This guide details the integration of Claude with Notion using a custom connector built on the Model Context Protocol (MCP). It outlines the steps to set up a Node.js and TypeScript server, configure Notion API authentication, and connect Claude to retrieve documents without manual uploads. The process includes creating the MCP server, implementing Notion tools, and testing the connection to ensure seamless communication. Once established, users can efficiently search and access Notion data directly through Claude, enhancing productivity and information retrieval.

Claude becomes more useful when it can access information stored in external platforms such as Notion. This connection helps users retrieve relevant business documents without manually uploading them into Claude.

A custom connector built with the Model Context Protocol (MCP) allows Claude to communicate with Notion through a dedicated server. It can search pages and retrieve document content when required.

In this guide, we will walk through the Claude Notion integration, from setting up the MCP server and configuring Notion API authentication to connecting the server with Claude and testing the complete workflow.

How to Set Up the Claude Notion Integration

The setup involves creating a Node.js and TypeScript project, adding MCP tools for Notion search and document retrieval, configuring API access, and deploying the server. Once the server is running, you can connect Claude to Notion through a custom connector and verify the connection.

Step 1: Set Up the Custom Connector Server

The first step is to create the server that will host the custom connector.

  • Create a Node.js and TypeScript project.
  • Maintain the main MCP server code in src/server.ts.
  • Generate the compiled JavaScript output inside the dist folder.


Project Structure

image

The main development file is:

src/server.ts

This file contains the MCP server logic and the tools that Claude will be able to use.

After TypeScript compilation:

src/server.ts

⬇

TypeScript compilation

⬇

dist/server.js


Environment Variables

The .env file stores configuration values and sensitive credentials required by the application.

For example: NOTION_TOKEN=your_notion_api_token

Deployment

For this tutorial, the MCP server can be deployed on Render.

The same application can later be moved to another production server or cloud platform without changing the overall MCP architecture.

The overall architecture is:

Node.js + TypeScript Project

⬇

GitHub

⬇

Render

⬇

Public MCP Endpoint

⬇

Claude

Step 1 3

Step 2: Create the MCP Server and Notion Tools

The main file for the MCP implementation is src/server.ts. It handles the MCP server, Notion connection, and the tools exposed to Claude.

2.1 Import the Required Libraries

  • Import the MCP SDK, Notion SDK, Express, and Zod at the beginning of server.ts:


import “dotenv/config”;

import { McpServer } from “@modelcontextprotocol/sdk/server/mcp.js”;

import { StreamableHTTPServerTransport } from “@modelcontextprotocol/sdk/server/streamableHttp.js”;

import { Client } from “@notionhq/client”;

import express from “express”;

import { z } from “zod”;

These libraries provide MCP server functionality, Notion API access, HTTP server support, and input validation.

Step 2 3

2.2 Connect the Server to Notion

  • Read the Notion API token from the environment variables.
  • Create a Notion client using the token.


const notionToken = process.env.NOTION_TOKEN;

if (!notionToken) {

  throw new Error(“NOTION_TOKEN is missing from environment variables”);

}

const notion = new Client({

  auth: notionToken,

});

This keeps the Notion token outside the source code and allows the application to authenticate with Notion.

2.3 Create the MCP Server

  • Create a function that initializes the MCP server.


function createMcpServer() {

  const server = new McpServer({

    name: “tape-guys-business-brain”,

    version: “1.0.0”,

  });

  // MCP tools will be added here

  return server;

}

This server will contain the tools Claude can call to access Notion.

2.4 Add the First Tool: Search Notion

  • Create the first MCP tool to search the Notion Business Brain.


This tool accepts a search query, sends it to Notion, and returns matching pages with their IDs, titles, and URLs.

2.5 Add the Second Tool: Retrieve a Document

  • Create a second tool to retrieve the actual content of a selected Notion page.


This tool receives a Notion page ID and retrieves the content of that page so Claude can read it.

2.6 Expose the MCP Endpoint

  • Expose the /mcp endpoint using Streamable HTTP.


This is the endpoint Claude will connect to later.

Step 3: Create a Notion Integration

Create a Notion integration and generate an API token that the MCP server can use to communicate with the Notion API.

3.1 Create the Notion Integration

  • Open the Notion integrations page.
  • Create a new integration.
  • Enter the integration name, such as Tape Guys Business Brain.
  • Select the appropriate Notion workspace.

Step 3 2

3.2 Add the Notion API Token

  • Copy the API token provided by Notion after creating the integration.
  • Store the token in the environment variables.


NOTION_TOKEN=your_notion_api_token

The application reads it using:

const notionToken = process.env.NOTION_TOKEN;

3.3 Share the Notion Content

  • Open the required Notion page or database.
  • Give the integration access to the content you want the MCP server to access.
  • Use the Business Brain page or database for this example.

Step 3.1 2

Step 4: Test the Notion MCP Server

Verify that the server and Notion API are working correctly before connecting the server to Claude. 

4.1 Start the Server

  • Run the following command:


npm run dev

  • Check that the server starts on the configured port.


MCP server running on port 3000

MCP endpoint: /mcp

Step 4 3

4.2 Test the Health Endpoint

  • Open the following URL: http://localhost:3000/health


Expected response:

{

  “status”: “ok”,

  “service”: “business-brain-mcp”

}

This confirms that the server is running correctly.

Step 5: Connect the Custom MCP to Claude

Once the MCP server is working, connect it to Claude using a custom connector. This is the main step in configuring the Claude Notion connector.

5.1 Open Claude Connectors

  • In Claude, navigate to Customize > Connectors.
  • Select Add custom connector.
  • For Team or Enterprise organizations, have an Owner add the connector first if required.

Step 5 2

5.2 Add the MCP URL

  • Enter the public MCP URL: https://your-project.onrender.com/mcp
  • Use this URL to point Claude to the remote MCP server.


5.3 Connect the Connector

  • Complete the connection process.
  • Verify that the custom connector appears in Claude’s connector list.


5.4 Enable the Connector

  • Open a Claude conversation.
  • Navigate to + > Connectors.
  • Enable the custom connector.
  • Allow Claude to use the MCP tools exposed by the server.


Step 6: Test Claude with Notion

After configuring the connection, test whether Claude can search Notion through the custom connector.

The complete flow is:

Claude

⬇

Custom Connector

⬇

Remote MCP Server

⬇

Notion API

⬇

Notion Data

6.1 Search Notion from Claude

  • In Claude, make sure the custom connector is enabled.

Ask:

Search the Notion Business Brain for information about onboarding.

Claude should use:

search_business_brain

to search Notion.

Step 5.1 1

Step 7: Verify the Complete Connection

  • At this point, we can verify the complete Claude > Notion connection.
  • Try a real question based on information stored in your Notion Business Brain, for example:


Find the document related to Salesforce integration and summarize it.

Claude should:

  1. Search Notion using search_business_brain
  2. Identify the relevant page
  3. Retrieve its content using get_business_document
  4. Use that information to answer the question.

Final Result

If the test is successful, we have verified:

Notion API authentication     

Custom MCP server              

Remote MCP endpoint            

Claude custom connector        

Notion search                  

Notion document retrieval      

Claude → Notion communication  

The final architecture is:

image 1

With this setup, Claude can access the Notion information exposed through the custom MCP server without manually uploading those documents into Claude. The same architecture can later be extended with additional MCP tools or other external systems.

Conclusion

A custom connector provides a structured way to connect Claude with Notion and retrieve information through a dedicated MCP server. Once configured, the workflow brings together Notion search, document retrieval, and Claude conversations without requiring manual document uploads.

For businesses looking to extend this setup or build similar integrations, HIC Global Solutions, a Salesforce partner, can help with custom solutions tailored to their existing systems and business requirements. If you face any issues while connecting Claude with Notion, contact our support team at Sales@hicglobalsolutions.com for assistance.

Additionally, businesses can expand their Claude Notion integration with more tools as their data access needs grow, making information retrieval easier across connected platforms.

Watch Demo Video

Frequently Asked Questions
What can Claude do with Notion through a custom connector?

Claude can search Notion pages, retrieve relevant document content, and use that information to answer questions. A custom MCP connector makes it easier to access business knowledge without manually uploading documents.

How does the Claude Notion integration work?

The Claude Notion integration uses a custom MCP server to connect Claude with the Notion API. Claude sends requests through the connector, and the server executes tools for searching Notion pages and retrieving their content.

What is the role of MCP in connecting Claude to Notion?

The Model Context Protocol (MCP) provides a standardized way for Claude to communicate with external tools and data sources. In this setup, MCP connects Claude to a custom server that exposes Notion search and document retrieval capabilities.

Can Claude retrieve the full content of a Notion page?

Yes. A custom MCP server can retrieve page content using the Notion API’s block retrieval functionality. The get_business_document tool in this implementation fetches the content of a selected Notion page for Claude to process.

Why does a Notion integration need access to specific pages or databases?

Notion integrations can only access content that has been shared with them and that their permissions allow. Granting access to the relevant pages or databases ensures the MCP server can retrieve the required business information.

Related Articles
How to Configure Volume and Attribute-Based Discounts Using Pricing Procedures in Revenue Cloud Advanced

Revenue Cloud helps businesses automate product pricing and manage discounts according to their sales requirements. Salesforce Revenue Cloud supports structured pricing calculations, allowing organizations to apply pricing rules consistently across supported sales transactions. Revenue Cloud Advanced (RCA) provides pricing capabilities that help businesses manage product prices, volume discounts, and attribute-based adjustments. Pricing procedures bring these […]

Read More
How to Connect Salesforce with Claude AI Using an MCP Server

Claude AI can make working with Salesforce CRM data much easier. Instead of manually opening records, building reports, or writing SOQL queries, teams can ask Claude questions in plain English and get answers from their Salesforce org. With Salesforce MCP, users can explore CRM information through a conversational interface, helping them find relevant details with […]

Read More
How to Set Up Salesforce Claudeforce Using the Headless 360 MCP Server

Setting up Salesforce Claudeforce requires more than simply connecting Salesforce with Claude. The process involves beta access, the Salesforce Headless 360 MCP Server, an External Client App, plugin configuration, and user-level permissions. Each part of the setup is important because Claude needs controlled access to Salesforce data and actions while still following the user’s existing […]

Read More
How to Extract Data from PDFs Using OCR.space API in Salesforce

Many times it’s crucial to extract information from documents such as loan statements, invoices, applications, identity documents, and scanned forms. When the information is stored as an image or scanned PDF, it cannot be directly read and used as regular text. This is where Salesforce OCR becomes useful. Optical Character Recognition can convert text from […]

Read More
Passwordless Login with Passkeys in Salesforce: A Practical Setup Guide

Passwordless login with passkeys gives Salesforce users another way to authenticate without entering a traditional password every time. Instead, users can verify their identity through a device, browser, or supported passkey manager. For Salesforce admins and consultants, setting up passkeys requires a little planning. Each user needs access to their own registered passkey, and backup […]

Read More
How to Configure Salesforce for Google Chat Integration

Google Chat integration with Salesforce connects team communication with Salesforce data, helping teams receive important updates without constantly switching between platforms. It makes collaboration simpler and keeps sales teams informed. The integration works across three key components: Salesforce: Acts as the source system for business information, record updates, and automation. Google Cloud Console: Provides the […]

Read More
Our Location worldwide
Indian Flag India
7th Floor, A-10, Pegasus Tower, Sector 68, Noida, Uttar Pradesh 201301 +91-1203669505
United States of America Flag USA
333 West Brown Deer Road Unit G – 366 Milwaukee WI, USA 53217 +1(262) 310-7818
United Kingdom Flag UK
7 Bell Yard, London, WC2A 2JR +44 20 3239 9428
CA Flag Canada
HIC Global Solutions INC
6D - 7398 Yonge St #1124 Thornhill, ON L4J 8J2 Canada +1(262) 310-7818