Provides tools for interacting with GitHub repositories, including creating issue comments, retrieving issue details, and listing repository issues through the GitHub REST API.
Enables task management in Notion databases, offering capabilities to create tasks, retrieve page details, get database structure, and perform database queries.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Servercreate a Notion task for the new GitHub issue about authentication"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP (Model Context Protocol) Server
A Node.js/TypeScript server that implements the Model Context Protocol with integrations for GitHub and Notion.
π Features
Express.js Server with TypeScript support
GitHub Integration using Octokit REST API
Notion Integration for task management
Docker Support for containerized deployment
Webhook Endpoints for GitHub event handling
Related MCP server: GitHub MCP Server
π Prerequisites
Node.js 18+
Docker (optional)
GitHub Personal Access Token
Notion API Key and Database ID
π οΈ Installation
Clone the repository
git clone <your-repo-url> cd MCPInstall dependencies
npm installSet up environment variables
cp env.example .env # Edit .env with your API keysBuild the project
npm run build
π§ Configuration
Environment Variables
Create a .env file with the following variables:
# GitHub Personal Access Token
GITHUB_TOKEN=your_github_token_here
# Notion API Key
NOTION_API_KEY=your_notion_api_key_here
# Notion Database ID
NOTION_DATABASE_ID=your_database_id_here
# Node environment
NODE_ENV=developmentAPI Keys Setup
GitHub Token:
Go to https://github.com/settings/tokens
Create a new token with
reposcope
Notion Integration:
Go to https://www.notion.so/my-integrations
Create a new integration
Share your database with the integration
πββοΈ Running the Application
Development Mode
npm run devProduction Mode
npm run build
npm startDocker
# Build and run
docker-compose up --build
# Run in background
docker-compose up -dπ‘ API Endpoints
GET - Health check endpoint
POST - GitHub webhook handler
π οΈ Available Tools
GitHub Tools (src/tools/github.ts)
createIssueComment()- Post comments on GitHub issuesgetIssue()- Get issue detailslistIssues()- List repository issues
Notion Tools (src/tools/notion.ts)
createTaskInNotion()- Create tasks in Notion databasegetPage()- Get page detailsgetDatabase()- Get database structurequeryDatabase()- Query database
π§ͺ Testing
Test the webhook endpoint:
curl -X POST http://localhost:3000/webhook/github \
-H "Content-Type: application/json" \
-d '{
"title": "Test Issue",
"body": "This is a test issue",
"number": 123
}'π Project Structure
MCP/
βββ src/
β βββ tools/
β β βββ github.ts # GitHub API integration
β β βββ notion.ts # Notion API integration
β βββ index.ts # Main server file
β βββ workflow.ts # GitHub issue handling
βββ dist/ # Compiled JavaScript
βββ Dockerfile # Docker configuration
βββ docker-compose.yml # Docker Compose setup
βββ tsconfig.json # TypeScript configuration
βββ package.json # Dependencies and scriptsπ€ Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
π License
This project is licensed under the ISC License.