数字求和工具

一个用于计算两个数字之和的CLI工具和MCP服务器,具有共享业务逻辑和双接口功能。

  • by SublimeCT
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 SublimeCT/mcp-sum

使用说明

mcp总和

用于计算两个数字之和的CLI工具和MCP(模型上下文协议)服务器。

特性

  • 🚀 双界面:CLI工具和MCP服务器
  • 📦 零重复的共享业务逻辑
  • 🔢 简单加法计算器
  • ⚡ 快速轻便-无需捆绑
  • 🎯 具有严格类型检查的TypeScript
  • 📝 全面的测试覆盖率
  • 🔧 使用esno直接执行TypeScript

安装

# Clone the repository
git clone <repository-url>
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路径映射支持
  • 📝 源地图支持

建筑

该项目遵循具有共享业务逻辑的模块化架构:

  1. 核心逻辑 (src/sum.ts):基本算术运算
  2. 共享层 (src/shared/):常见的业务逻辑、类型和实用程序
  3. 界面层: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.

许可证

国际学生委员会