Create MCP applications with authentication, database, and billing in seconds!
A universal starter kit for building Model Context Protocol (MCP) applications with built-in authentication (Kinde), database (Neon PostgreSQL), and billing systems (Kinde). Perfect for developers who want to start building MCP servers with Cursor.
- Built-in Authentication - Kinde OAuth integration
- Database Ready - Neon PostgreSQL with automatic schema setup
- Billing System - Freemium model with upgrade flows
- Multiple Templates - Blog, E-commerce, CRM, Todo applications
- One Command Setup - Interactive CLI for instant project creation
- Complete Stack - Authentication server + MCP server + Database
- Cursor Integration - Ready to use with Cursor AI
- Developers building MCP servers with Cursor
- Teams creating CRUD MCP servers with authentication and billing
- Anyone who wants to an easy startkerkit setup
# Create a new MCP application (one command!)
npx mcp-starter-kitThis will create your project and guide you through the setup process.
Note: Ignore the
npm i mcp-starter-kitcommand shown on the npm package page. Usenpx mcp-starter-kitinstead for the best experience.
| Template | Description | Entities | Perfect For |
|---|---|---|---|
| blog | Blog management system | posts, comments | Content creators, writers |
| ecommerce | E-commerce platform | products, orders, order_items | Online stores, marketplaces |
| crm | Customer relationship management | contacts, deals, tasks | Sales teams, businesses |
| todo | Simple todo system | todos | Personal productivity, task management |
npx mcp-starter-kitWhat you'll see:
π MCP Starter Kit
Create MCP applications with authentication, database, and billing
π What would you like to name your application? my-blog
π Choose your template:
1. blog - Blog management system (posts, comments)
2. ecommerce - E-commerce system (products, orders)
3. crm - Customer relationship management (contacts, deals, tasks)
4. todo - Simple todo management system
π― Enter your choice (1-4): 1
π Creating my-blog with blog template...
β
Application created successfully!
npm install# Copy environment template
cp .env.example .envConfigure your .env file:
# Database (Get from Neon)
DATABASE_URL=postgresql://username:password@host:port/database
# Kinde Authentication (Get from Kinde)
KINDE_ISSUER_URL=https://your-domain.kinde.com
KINDE_CLIENT_ID=your_client_id
KINDE_CLIENT_SECRET=your_client_secret
# JWT Configuration
JWT_SECRET=your_jwt_secret_key
# Server Configuration
NODE_ENV=development# Create database schema
npm run setup-db# In a separate terminal
npm run auth-serverVisit http://localhost:3000 to login and get your authentication token.
# In another terminal
npm run devAdd to your Cursor MCP configuration (~/.cursor/mcp.json):
{
"mcpServers": {
"my-blog": {
"command": "node",
"args": ["dist/universal-server.js"],
"cwd": "/path/to/your/my-blog",
"env": {
"DATABASE_URL": "your_database_url",
"KINDE_ISSUER_URL": "your_kinde_issuer_url",
"KINDE_CLIENT_ID": "your_kinde_client_id",
"KINDE_CLIENT_SECRET": "your_kinde_client_secret",
"JWT_SECRET": "your_jwt_secret"
}
}
}
}- Start Auth Server -
npm run auth-server - Visit Login Page -
http://localhost:3000 - Login with Kinde - Complete OAuth flow
- Copy ID Token - From the auth page
- Use in Cursor - Use
save_tokentool with your token - Start Building - Use MCP tools in Cursor chat
After authentication, you'll have access to:
-
Authentication Tools
login- Get authentication URLsave_token- Save your authentication tokenlogout- Log out current userrefresh_billing_status- Check billing status
-
CRUD Tools (based on your template)
create_[entity]- Create new itemslist_[entity]s- List all itemsget_[entity]- Get specific itemupdate_[entity]- Update existing itemdelete_[entity]- Delete item
- Free Tier - Limited items (configurable per template)
- Upgrade Flow - Automatic redirect to Kinde billing portal
- Usage Tracking - Automatic tracking of free tier usage
- Plan Management - Check current plan and usage
my-blog/
βββ package.json # Dependencies and scripts
βββ tsconfig.json # TypeScript configuration
βββ .env.example # Environment template
βββ README.md # Project documentation
βββ src/
βββ app-config.ts # Application configuration
βββ universal-server.ts # Main MCP server
βββ setup-db.ts # Database setup script
βββ kinde-auth-server.ts # Authentication server
βββ core/ # Core MCP modules
βββ auth/ # Authentication manager
βββ database/ # Database manager
βββ server/ # MCP server core
βββ tools/ # Tool factory
MCP Server Not Detected in Cursor:
- Check
~/.cursor/mcp.jsonsyntax - Verify environment variables
- Restart Cursor
- Check server is running
Authentication Issues:
- Verify Kinde credentials
- Check redirect URLs in Kinde dashboard
- Ensure auth server is running on port 3000
Database Connection Issues:
- Verify Neon database URL
- Check database permissions
- Run
npm run setup-dbto create schema
- Check the generated README in your project
- Verify all environment variables are set
- Ensure both servers are running
- Check Cursor MCP configuration
- Fast Setup - From zero to working MCP app in minutes
- Production Ready - Real authentication and database
- Billing Ready - Built-in freemium model
- Multiple Templates - Choose what fits your needs
- Complete Stack - Everything you need included
- Cursor Optimized - Perfect for AI development
- Create your first app -
npx mcp-starter-kit - Choose your template - Blog, E-commerce, CRM, or Todo
- Configure your services - Neon database + Kinde authentication
- Start building - Use MCP tools in Cursor
- Deploy and scale - Your app is ready for production
MIT License - see LICENSE file for details.
Contributions welcome! Please read our contributing guidelines.
Ready to build your first MCP application? Run npx mcp-starter-kit and start building!