Skip to main content
Glama

Notion MCP Server

by v-3
# Contributing to Notion MCP Server First off, thank you for considering contributing to the Notion MCP Server! This is an open-source project that helps integrate Notion with Large Language Models through the Model Context Protocol. ## Code of Conduct By participating in this project, you are expected to uphold our Code of Conduct of treating all contributors with respect and maintaining a harassment-free experience for everyone. ## How Can I Contribute? ### Reporting Bugs Before submitting a bug report: - Check the existing issues to avoid duplicates - Collect relevant information about the bug - Use the bug report template below **Bug Report Template:** ```markdown **Description** A clear description of the bug. **To Reproduce** Steps to reproduce the behavior: 1. Configure server with '...' 2. Call tool '...' 3. See error **Expected behavior** What you expected to happen. **Actual behavior** What actually happened. **Environment** - Node.js version: - Operating System: - Notion MCP Server version: ``` ### Suggesting Enhancements When suggesting enhancements: - Use a clear and descriptive title - Provide a detailed description of the proposed functionality - Include examples of how the enhancement would be used ### Pull Requests 1. Fork the repository 2. Create a new branch (`git checkout -b feature/amazing-feature`) 3. Make your changes 4. Run tests if available 5. Commit your changes (`git commit -m 'Add amazing feature'`) 6. Push to your branch (`git push origin feature/amazing-feature`) 7. Open a Pull Request #### Pull Request Guidelines - Follow the existing code style - Update documentation as needed - Add tests if applicable - Keep pull requests focused on a single feature or fix ## Development Setup 1. Clone your fork: ```bash git clone https://github.com/your-username/notion-server.git cd notion-server ``` 2. Install dependencies: ```bash npm install ``` 3. Create a `.env` file: ```env NOTION_API_KEY=your_notion_api_key_here ``` 4. Build the project: ```bash npm run build ``` ## Style Guidelines ### TypeScript Style Guide - Use TypeScript for all new code - Follow existing code formatting - Use meaningful variable and function names - Add appropriate type annotations - Document complex logic with comments ### Commit Messages - Use clear and meaningful commit messages - Start with a verb in the present tense - Keep the first line under 50 characters - Add detailed description if needed Examples: ``` Add page deletion tool Fix error handling in search_pages Update documentation for create_page ``` ## Adding New Tools When adding new tools: 1. Define the tool in `TOOL_DEFINITIONS`: ```typescript { name: "tool_name", description: "Clear description of what the tool does", inputSchema: { type: "object", properties: { // Define input parameters }, required: [] } } ``` 2. Implement the handler in `toolHandlers` 3. Add appropriate error handling 4. Update documentation 5. Add examples in README.md ## Testing - Test your changes with different inputs - Verify error handling - Test integration with Claude Desktop or other MCP clients - Document any new test cases added ## Documentation - Update README.md for new features - Add JSDoc comments for new functions - Update type definitions as needed - Include examples for new functionality ## Questions? Feel free to open an issue for: - Help with development - Questions about contributing - Clarification on project direction ## License By contributing, you agree that your contributions will be licensed under the MIT License.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/v-3/notion-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server