A powerful scaffolding toolkit for creating Model Context Protocol (MCP) applications with modern development practices.
create-mcp-app is a monorepo project that provides tools and templates for building MCP applications. It uses modern development practices and tools to ensure a smooth development experience. The project is designed to help developers quickly set up and start building MCP applications with best practices and modern tooling.
- 🚀 Instant project scaffolding for MCP applications
- 📦 First-class TypeScript support with strict type checking
- 🔧 Modern development toolchain with ESLint, Prettier, and Husky
- 🎯 Extensible and customizable templates for both server and client
- 🏗️ Monorepo architecture with Turborepo for efficient development
- 📝 Comprehensive documentation and examples
- 🔍 Built-in testing setup with Jest
- 🛠️ Development tools and utilities
This project is organized as a monorepo using Turborepo, containing:
create-mcp-app/
├── apps/ # Application packages
│ ├── create-mcp-server-app/ # Server application template
│ │ ├── src/ # Source code
│ │ ├── boilerplate/ # Template files
│ │ ├── docs/ # Documentation
│ │ └── dist/ # Build output
│ │
│ └── create-mcp-client-app/ # Client application template
│ ├── src/ # Source code
│ ├── boilerplate/ # Template files
│ ├── docs/ # Documentation
│ └── dist/ # Build output
│
├── packages/ # Shared packages and configurations
├── .vscode/ # VS Code configuration
└── package.json # Root package configuration
To create a new MCP server application (see detailed guide):
npx create-mcp-server-app@latest my-mcp-server
To create a new MCP client application (see detailed guide):
npx create-mcp-client-app@latest my-mcp-client
- Node.js 16.x or later
- pnpm 7.x or later
This project uses pnpm for package management. To get started with development:
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run development environment
pnpm dev
# Run tests
pnpm test
# Lint code
pnpm lint
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please make sure to:
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Keep commits clean and well-described
If you find a bug or have a suggestion:
This project is licensed under the terms of the license included in the LICENSE file.