MCP Tool

Feature Composer 功能组合器

模块化添加和组合项目功能,支持认证、支付、文件上传、邮件等企业级功能模块的智能集成。

快速开始

基础用法:

feature_composer(project_path="./my-app", feature_type="auth", integration_method="component")

函数签名

feature_composer(
  project_path: string,
  feature_type: 'auth' | 'payment' | 'upload' | 'email' | 'realtime' | 'admin',
  integration_method?: 'component' | 'service' | 'middleware',
  configuration?: {
    provider?: string,
    options?: object,
    styling?: string,
    permissions?: string[]
  }
) -> FeatureIntegrationResult

可用功能模块

用户认证 (auth)

完整的用户认证系统

• 注册/登录/登出
• 密码重置
• 角色权限管理
• JWT Token 管理
NextAuth
JWT
RBAC
支付集成 (payment)

企业级支付解决方案

• 多种支付方式
• 订单管理
• 退款处理
• 支付回调
Stripe
PayPal
支付宝
文件上传 (upload)

文件上传和管理系统

• 多文件上传
• 图片处理
• 云存储集成
• 文件预览
AWS S3
Cloudinary
本地存储
邮件系统 (email)

邮件发送和模板管理

• 模板邮件
• 批量发送
• 邮件队列
• 发送统计
SendGrid
Resend
SMTP
实时通信 (realtime)

实时数据和通信功能

• WebSocket 连接
• 实时消息
• 状态同步
• 推送通知
Socket.IO
Pusher
SSE
管理后台 (admin)

完整的管理后台系统

• 用户管理
• 数据统计
• 系统配置
• 操作日志
Dashboard
Charts
Tables

集成方式

Component 组件模式

直接集成React组件

  • • 即插即用的UI组件
  • • 完整的样式和交互
  • • 适合前端功能
Service 服务模式

后端服务集成

  • • API路由和业务逻辑
  • • 数据库操作
  • • 适合后端功能
Middleware 中间件模式

请求处理中间件

  • • 全局功能处理
  • • 认证和权限
  • • 适合横切关注点

返回值结构

{
  success: boolean,              // 集成是否成功
  feature_type: string,          // 集成的功能类型
  integration_method: string,    // 使用的集成方式
  files_modified: string[],      // 修改的文件列表
  files_created: string[],       // 新创建的文件列表
  dependencies_added: string[],  // 添加的依赖包
  configuration_updates: {       // 配置文件更新
    env_variables: string[],     // 需要设置的环境变量
    database_changes: string[],  // 数据库schema变更
    api_routes: string[]         // 新增的API路由
  },
  setup_instructions: string[],  // 配置指令
  usage_examples: string[],      // 使用示例代码
  documentation_links: string[] // 相关文档链接
}

使用示例

添加用户认证

feature_composer(
  project_path="./my-ecommerce",
  feature_type="auth",
  integration_method="component",
  configuration={
    "provider": "nextauth",
    "options": {
      "providers": ["google", "github", "credentials"],
      "session_strategy": "jwt",
      "pages": {
        "signin": "/auth/signin",
        "signup": "/auth/signup"
      }
    },
    "styling": "tailwind",
    "permissions": ["user", "admin", "moderator"]
  }
)

集成支付功能

feature_composer(
  project_path="./my-saas",
  feature_type="payment",
  integration_method="service",
  configuration={
    "provider": "stripe",
    "options": {
      "currency": "usd",
      "subscription_plans": true,
      "webhooks": true,
      "payment_methods": ["card", "paypal"]
    }
  }
)

添加文件上传

feature_composer(
  project_path="./my-blog",
  feature_type="upload",
  integration_method="component",
  configuration={
    "provider": "cloudinary",
    "options": {
      "max_file_size": "10MB",
      "allowed_types": ["image", "document"],
      "image_transformations": true,
      "storage_path": "uploads/{year}/{month}"
    }
  }
)

最佳实践

选择合适的集成方式

UI功能使用component,API功能使用service,全局功能使用middleware

逐步集成功能

先添加核心功能,再逐步添加高级功能,避免一次性集成过多模块

遵循配置指南

严格按照setup_instructions配置环境变量和依赖

测试功能集成

每次添加功能后进行完整测试,确保与现有功能兼容

常见问题

功能冲突

可能原因:不同功能模块之间的依赖冲突或API路由重复

解决方案: 检查files_modified列表,避免重复集成相似功能

环境配置错误

可能原因:环境变量未正确设置或第三方服务配置错误

解决方案: 仔细检查env_variables列表,确保所有配置正确

样式冲突

可能原因:新集成的组件样式与现有样式冲突

解决方案: 使用CSS模块或指定styling配置确保样式隔离

相关工具

功能集成完成后,可以使用以下工具进行部署和管理