A clean, modular MCP (Model Context Protocol) server implementation with Composio integration for personal use. This server provides access to various toolkits through Composio's API with a well-structured, maintainable codebase.
- Clean Architecture: Well-organized code structure with separate modules
- Composio Integration: Full access to Composio's toolkit ecosystem
- TypeScript: Fully typed for better development experience
- Configurable: Easy to configure which tools and apps to include
- Error Handling: Comprehensive error handling and logging
- Extensible: Easy to add new tools and customize behavior
mcp-super/
├── package.json            # Project dependencies and scripts
├── pnpm-lock.yaml         # Lock file for pnpm
├── tsconfig.json          # TypeScript configuration
├── README.md              # This file
├── patches/               # Package patches
│   └── @[email protected]
└── src/
    ├── lib/
    │   ├── composio.ts         # Composio client and API interactions
    │   ├── executionHandler.ts # Tool execution handling
    │   ├── setupMCP.ts        # MCP server setup and configuration
    │   └── tools.ts           # Tool definitions and schemas
    └── mcp-server.ts          # Main entry point
- 
Install dependencies: pnpm install 
- 
Get your Composio API key: - Visit app.composio.dev
- Sign up or log in to your account
- Navigate to the API keys section
- Generate a new API key
 
- 
Configure the API key: - Open src/lib/composio.ts
- Replace <YOUR_API_KEY>with your actual Composio API key:
 const composio = new Composio({ apiKey: "your-actual-api-key-here", provider: new LangchainProvider(), }); 
- Open 
- 
Build the project: pnpm run build 
The default configuration includes popular apps like GitHub, Gmail, Slack, Notion, and Calendar. You can customize this in src/config/server-config.ts:
Development mode:
pnpm run devProduction mode:
pnpm run build:mcp
pnpm run mcpTo use this MCP server with Cursor IDE, you need to configure it in your Cursor settings:
- 
Open Cursor Settings: - Press Cmd+,(Mac) orCtrl+,(Windows/Linux)
- Or go to Cursor > Preferences > Settings
 
- Press 
- 
Search for MCP: - Type "MCP" in the search bar
- Look for "MCP: Servers" setting
 
- 
Edit Configuration: - Click "Edit in settings.json"
- Add the MCP server configuration
 
Add this configuration to your Cursor settings.json:
Production Mode (Recommended):
{
  "mcp.servers": {
    "mcp-super": {
      "command": "node",
      "args": ["/Users/apoorvtaneja/Desktop/mcp-super/dist/mcp-server.js"],
    }
  }
}Important: Replace /Users/apoorvtaneja/Desktop/mcp-super with your actual project path.
To find your project path:
cd /path/to/your/mcp-super
pwdThen update the configuration with your actual path:
{
  "mcp.servers": {
    "mcp-super": {
      "command": "node",
      "args": ["/your/actual/path/to/mcp-super/build/mcp-server.js"]
    }
  }
}- 
Build the project (for production mode): pnpm run build:mcp 
- 
Restart Cursor to load the new MCP server 
- 
Test the connection: - Open a new chat in Cursor
- Type: "@mcp-super" to see available tools
- Try using a tool like: "List my GitHub repositories"