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用于容器化部署
安装
- 克隆仓库 (如果适用)或导航到项目目录:
cd BMAC-demo-start- 安装依赖项:
npm install- 安装MCP服务器依赖项:
cd bmac-mcp-server
npm install
cd ..配置
- 创建环境文件 (可选-提供默认值):
cp .env.example .env.local- 设置数据库路径 (可选-默认为
./sqlite.db):
DATABASE_URL="./sqlite.db"- 配置API密钥 (可选-包括测试密钥):
MIDOCEAN_TEST_API_KEY="your-test-key"
MIDOCEAN_PROD_API_KEY="your-prod-key"数据库设置
- 初始化数据库架构:
npm run db:push这将创建SQLite数据库文件并设置所有必需的表。
或者,手动初始化:
sqlite3 sqlite.db < init-tables.sql运行应用程序
发展模式
- 启动Next.js开发服务器:
npm run dev- 打开浏览器:
MCP 服务器
- 构建MCP服务器:
cd bmac-mcp-server
npm run build- 运行MCP服务器:
# Development mode (with watch)
npm run dev
# Production mode
npm startDocker部署
- 构建并开始使用Docker Compose:
docker-compose up -d- 查看日志:
docker-compose logs -f- 停止容器:
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
许可证
麻省理工学院
