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.