使用说明
MTG Commander MCP 服务器
一个用于MTG Commander卡组构建的模型上下文协议(MCP)服务器,采用Node.js 22.x、TypeScript、Hono.js和Azure Functions构建。
特点/功能
- MCP协议合规性全面实施模型上下文协议,以实现与MCP客户端的无缝集成
- 指挥舰桥建造创建、管理和修改MTG指挥官卡组
- 身份验证与授权确保用户认证安全,并验证牌组所有权
- 向量搜索利用CosmosDB向量搜索实现高级卡片搜索功能
- 双部署既支持本地开发,也支持在Azure Functions上用于生产环境
- 测试驱动开发使用伦敦(Mockist)测试驱动开发(TDD)方法实现全面的测试覆盖率
要求
- Node.js 22.x 或更高版本
- TypeScript 5.4+
- Azure 帐户(用于生产环境部署)
开发环境设置
-
安装依赖项:
npm install -
运行测试:
npm test -
启动开发服务器:
npm run dev -
为生产构建(或准备生产环境):
npm run build
项目结构
src/
├── types/ # TypeScript type definitions
│ ├── domain.ts # Core domain types (Card, Deck, etc.)
│ ├── commands.ts # Command pattern and auth types
│ └── index.ts # Type exports
└── index.ts # Main entry point
test/
├── setup.ts # Test configuration and auto-mocking utilities
└── ... # Test files (to be added)
建筑
该应用程序遵循命令模式架构,包括:
- 命令模式所有操作都使用带有区分联合响应的命令
- 双层认证MCP协议认证 + 业务授权
- **伦敦TDD(这里“TDD”可能代表某个特定项目、技术或团队的缩写,具体含义需根据上下文确定,但直接翻译为“伦敦TDD”即可,若需更准确的翻译,请提供更多背景信息)**采用全面模拟的测试驱动开发
- 类型安全使用带有区分联合(discriminated unions)的完整TypeScript覆盖
脚本
npm run build- 构建TypeScript项目npm run dev- 启动开发服务器并启用热重载npm test- 一次性运行所有测试npm run test:watch- 在监视模式下运行测试npm run test:coverage- 运行带有覆盖率报告的测试npm run lint- 运行 ESLintnpm run lint:fix- 使用自动修复功能运行 ESLintnpm run clean- 清理构建产物
许可证
麻省理工学院(MIT)