MCP Server

# 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 <img width="768" alt="Resources Inspection" src="image/resources.png"> - **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 <img width="768" alt="Tools Inspection" src="image/tools.png"> - **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 <img width="768" alt="Prompts Inspection" src="image/prompts.png"> - **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.