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"