mcp总和
用于计算两个数字之和的CLI工具和MCP(模型上下文协议)服务器。
特性
- 🚀 双界面:CLI工具和MCP服务器
- 📦 零重复的共享业务逻辑
- 🔢 简单加法计算器
- ⚡ 快速轻便-无需捆绑
- 🎯 具有严格类型检查的TypeScript
- 📝 全面的测试覆盖率
- 🔧 使用esno直接执行TypeScript
安装
# Clone the repository
git clone
cd ts-mcp-demo
# Install dependencies
pnpm install用法
这个项目直接使用esno运行TypeScript文件,不需要构建步骤!
运行应用程序
# Run CLI directly
pnpm cli 5 10
# Run MCP server directly
pnpm mcp
# Development mode with auto-restart on file changes
pnpm dev直接使用esno
# Run CLI with esno
esno src/cli.ts 5 10
# Run MCP server with esno
esno src/mcp-sum.ts
# Watch mode
esno --watch src/mcp-sum.ts使用npx和esno
您也可以通过npx使用esno,而无需在本地安装:
# Run CLI with npx esno
npx esno@latest src/cli.ts 5 10
# Run MCP server with npx esno
npx esno@latest src/mcp-sum.ts
# Run with watch mode via npx
npx esno@latest --watch src/mcp-sum.ts开发命令
# Development
pnpm dev # Run MCP server in watch mode
# Testing
pnpm test # Run all tests
# Code Quality
pnpm lint # Lint and auto-fix with Biome
pnpm lint:check # Check linting without fixing
pnpm format # Format code with Biome
pnpm format:check # Check code formatting项目结构
├── src/
│ ├── cli.ts # CLI interface
│ ├── mcp-sum.ts # MCP server implementation
│ ├── sum.ts # Core arithmetic logic
│ └── shared/ # Shared business logic
│ ├── index.ts # Module exports
│ ├── calculator.ts # Business logic layer
│ ├── errors.ts # Error handling
│ ├── types.ts # Type definitions
│ └── utils.ts # Utility functions
├── tests/ # Test files
├── biome.json # Biome configuration
├── tsconfig.json # TypeScript configuration
└── vitest.config.ts # Vitest test configuration什么是esno?
esno是一个TypeScript执行工具,它直接使用esbuild运行TypeScript文件。它提供:
- ⚡ 快速编译TypeScript
- 🔄 开发观看模式
- 📦 ESM和CommonJS支持
- 🎯 TypeScript路径映射支持
- 📝 源地图支持
建筑
该项目遵循具有共享业务逻辑的模块化架构:
- 核心逻辑 (
src/sum.ts):基本算术运算 - 共享层 (
src/shared/):常见的业务逻辑、类型和实用程序 - 界面层:CLI(
cli.ts)MCP服务器(mcp-sum.ts)实施方案
CLI和MCP服务器都使用相同的共享业务逻辑,确保零代码重复。
MCP集成
服务器公开了一个工具 calculate_sum 这需要两个数字并返回它们的总和。该服务器使用stdio传输,并与Claude Code等MCP客户端兼容。
添加到克劳德代码
要将此MCP服务器与Claude Code一起使用,请运行:
# Add the MCP server to Claude Code
claude mcp add mcp-sum -- npx esno@latest /path/to/ts-mcp-demo/src/mcp-sum.ts
# Or if you're already in the project directory
claude mcp add mcp-sum -- npx esno@latest $(pwd)/src/mcp-sum.ts
# List all MCP servers
claude mcp list
# Remove the MCP server (if needed)
claude mcp remove mcp-sum配置可在 .mcp.json.
许可证
国际学生委员会
