MTG指挥官卡组构建服务

一个基于Node.js和TypeScript的MTG指挥官卡组构建服务,支持MCP协议、安全认证和高级卡片搜索功能。

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

使用说明

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 帐户(用于生产环境部署)

开发环境设置

  1. 安装依赖项:

    npm install
    
  2. 运行测试:

    npm test
    
  3. 启动开发服务器:

    npm run dev
    
  4. 为生产构建(或准备生产环境):

    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 - 运行 ESLint
  • npm run lint:fix - 使用自动修复功能运行 ESLint
  • npm run clean - 清理构建产物

许可证

麻省理工学院(MIT)