产品管理系统

一个全栈产品管理应用,集成Model Context Protocol (MCP)服务器,为AI助手提供产品目录、用户管理和数据库操作访问。

  • by mihai-satmarean
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mihai-satmarean/catalog-api-mcp

使用说明

BMAC演示-产品管理系统

一个具有模型上下文协议(MCP)服务器集成的全栈产品管理应用程序,为AI助手提供对产品目录、用户管理和数据库操作的访问。

使用技术

后端和数据库

  • Node.js -JavaScript运行时环境
  • TypeScript -使用静态类型的类型安全JavaScript
  • SQLite -轻量级、基于文件的关系数据库
  • 更好平方3 -快速可靠的Node.js SQLite3驱动程序
  • 淋ORM -类型安全的SQL ORM,具有出色的TypeScript支持
  • 喷雾套件 -数据库迁移和模式管理工具

前端

  • Next.js 15 -带有App Router和服务器组件的React框架
  • 反应19 -用于构建用户界面的UI库
  • Tailwind CSS -实用程序优先的CSS样式框架
  • Radix UI -可访问的组件图元

MCP 服务器

  • 模型上下文协议(MCP) -AI助手与外部数据源交互的协议
  • @模型上下文协议/sdk -用于构建符合协议的服务器的官方MCP SDK

开发工具

  • ESLint -代码管理和质量保证
  • 码头工人 -容器化以实现一致的部署
  • 多伦多证券交易所 -TypeScript开发执行环境

使用的API

中洋API

用于产品数据、定价和打印服务的RESTful API。

基本URL:

  • 测试: https://apitest.midocean.com
  • 生产: https://api.midocean.com

终点:

  • /gateway/products/2.0 -产品目录数据
  • /gateway/pricelist/2.0 -产品定价信息
  • /gateway/printpricelist/2.0 -打印定价信息

身份验证: API密钥通过 x-Gateway-APIKey 头球

XD连接API

用于产品数据、价格、打印数据和股票信息的基于JSON提要的API。

基本URL: https://feeds.xindao.com

饲料类型:

  • 产品数据-产品目录信息
  • 产品价格-定价层次和数量
  • 打印数据-打印自定义选项
  • 打印价格-打印定价信息
  • 库存-库存水平

身份验证: 公共JSON提要(无需身份验证)

如何运行应用程序

先决条件

  • 已安装Node.js 20+
  • npm或yarn包管理器
  • (可选)Docker和Docker Compose用于容器化部署

安装

  1. 克隆仓库 (如果适用)或导航到项目目录:

    cd BMAC-demo-start
    
  2. 安装依赖项:

    npm install
    
  3. 安装MCP服务器依赖项:

    cd bmac-mcp-server
    npm install
    cd ..
    

配置

  1. 创建环境文件 (可选-提供默认值):

    cp .env.example .env.local
    
  2. 设置数据库路径 (可选-默认为 ./sqlite.db):

    DATABASE_URL="./sqlite.db"
    
  3. 配置API密钥 (可选-包括测试密钥):

    MIDOCEAN_TEST_API_KEY="your-test-key"
    MIDOCEAN_PROD_API_KEY="your-prod-key"
    

数据库设置

  1. 初始化数据库架构:

    npm run db:push
    

    这将创建SQLite数据库文件并设置所有必需的表。

    或者,手动初始化:

    sqlite3 sqlite.db < init-tables.sql
    

运行应用程序

发展模式

  1. 启动Next.js开发服务器:

    npm run dev
    
  2. 打开浏览器: 导航至 http://localhost:3000

MCP 服务器

  1. 构建MCP服务器:

    cd bmac-mcp-server
    npm run build
    
  2. 运行MCP服务器:

    # Development mode (with watch)
    npm run dev
    
    # Production mode
    npm start
    

Docker部署

  1. 构建并开始使用Docker Compose:

    docker-compose up -d
    
  2. 查看日志:

    docker-compose logs -f
    
  3. 停止容器:

    docker-compose down
    

该应用程序将在 http://localhost:3000.

数据库管理

  • 生成迁移: npm run db:generate
  • 应用迁移: npm run db:migrate
  • 推送架构更改: npm run db:push
  • 开放式Drizzle工作室: npm run db:studio

项目结构

BMAC-demo-start/
├── bmac-mcp-server/          # MCP server implementation
│   ├── src/
│   │   ├── index.ts          # MCP server entry point
│   │   ├── tools/            # MCP tool definitions
│   │   ├── resources/        # MCP resource handlers
│   │   └── lib/              # API clients and utilities
│   └── package.json
├── src/
│   ├── app/                  # Next.js app directory
│   │   ├── api/              # API routes
│   │   └── page.tsx          # Pages
│   └── db/                   # Database schema and connection
├── package.json              # Root package.json
├── drizzle.config.ts         # Drizzle configuration
└── sqlite.db                 # SQLite database (created after setup)

特性

  • 产品管理 -浏览和搜索来自多个供应商的产品
  • 价格同步 -同步XD Connects和Midocean的产品价格
  • 用户管理 -具有基于角色的权限的用户帐户
  • 产品请求 -请求具有定制选项的产品
  • MCP集成 -通过模型上下文协议访问AI助手
  • 类型安全 -整个应用程序完全支持TypeScript

许可证

麻省理工学院