An open API service indexing awesome lists of open source software.

https://github.com/seonglae/mcp-notion

Global Notion workspace-accessible MCP server for all Notion pages within the workspace
https://github.com/seonglae/mcp-notion

ai-protocol anthropic context-protocol mcp model-context-protocol notion notion-api prompt-engineering

Last synced: 25 days ago
JSON representation

Global Notion workspace-accessible MCP server for all Notion pages within the workspace

Awesome Lists containing this project

README

        

# Browse your entire Notion workspace, not just one database

Markdown based Notion navigating MCP with just a single `ROOT_PAGE` variable, eliminating the need for a token.

- Notion MCP Server: `notion-texonom`
- Notion pages are converted into `text/markdown` mimeType notes.
- Search and retrieve relevant pages based on graph distance, considering parent-child and reference relationships.

A Model Context Protocol (MCP) server for managing and interacting with Notion-based notes. This TypeScript-based server demonstrates MCP concepts by integrating resources, tools, and prompts to interact with Notion pages efficiently.

## Features

### Resources

Resources Inspection

- **Access Notes**: List and retrieve Notion pages as `note://` URIs with UUID slugs.
- **Metadata**: Each resource includes a title, description, and content in Markdown format.
- **Mime Types**: Content is accessible in `text/markdown` format.

### Tools

Tools Inspection

- **Search Notes**: Use the `search_notes` tool to search for Notion pages using a query string.
- Input: Query text to filter relevant pages.
- Output: Markdown content of matching notes.

### Prompts

Prompts Inspection

- **Summarize Notes**: Generate summaries for individual Notion pages.
- Available Prompts:
- `summarize_note`: Summarize a specific note by URI.
- `suggest_refactor`: Propose structural improvements.
- `suggest_fix`: Identify potential fixes for note content.
- `suggest_enhance`: Recommend enhancements to improve the note.
- Input: Notion page URI.
- Output: Structured messages for summarization and enhancement.

## Development

### Setup
Install dependencies:
```bash
pnpm install
```
Build the project:
```bash
pnpm build
```
For development with auto-rebuild:

```bash
pnpm watch
```

## Configuration
To configure the server with Notion:

- Set environment variables:
- `ROOT_PAGE`: The root page ID of your Notion workspace.

## Installation for Claude Desktop

To use this server with Claude Desktop, add the configuration:

- MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%/Claude/claude_desktop_config.json`

Example configuration:

```json
{
"mcpServers": {
"notion-texonom": {
"command": "node",
"args": [
"/path/to/mcp/build/index.js"
],
"env": {
"ROOT_PAGE": "$SOME_UUID"
}
}
}
}
```

### Debugging
For troubleshooting and debugging the MCP server, use the MCP Inspector. To start the Inspector, run:

```bash
pnpm inspector
```
The Inspector provides a browser-based interface for inspecting stdio-based server communication.

## Key Technologies
- Notion Integration: Powered by `@texonom/nclient` and `@texonom/cli.`
- MCP SDK: Implements `@modelcontextprotocol/sdk` for server operations.

## Remote Deployment

The server now uses `SSEServerTransport` for remote communication, enabling shared usage of the server. Ensure that the necessary dependencies are installed and the server is configured correctly for remote deployment.

## Usage Instructions

To run the server with `SSEServerTransport`, use the following command:

```bash
npx -y supergateway --port 8000 --stdio "npx -y @modelcontextprotocol/server-filesystem /some/folder"
```

Make sure to replace `/some/folder` with the appropriate path to your folder.