关于 MCP Demo App
面向演示与开发的 Node.js、Express 和 TypeScript 示例项目,提供产品与订单 REST API,并通过 MCP 暴露查询工具。数据存储在 JSON 文件中。
主要功能
- 01提供产品和订单 REST API
- 02支持 Bearer 令牌认证
- 03使用 JSON 文件存储数据
- 04提供产品与订单查询工具
- 05使用 TypeScript 编写
适用场景
- 01演示产品和订单 API 的构建
- 02测试 Bearer 令牌认证
- 03让 MCP 客户端查询产品数据
- 04按名称或类别搜索产品
MCP 相关
MCP 服务暴露产品和订单查询工具,包括产品详情、产品列表、关联订单及产品搜索。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Demo App
一个使用 TypeScript 编写的简单 Node.js/Express API 服务,用于管理产品和订单,并集成了 Model Context Protocol(MCP)。
功能
- 用于产品和订单的 RESTful API
- Bearer 令牌身份验证
- 数据存储在 JSON 文件中
- MCP 服务提供用于查询产品和订单的工具
- 使用 TypeScript 实现类型安全
项目结构
├── src/
│ ├── server.ts # Main Express API server
│ ├── mcpServer.ts # MCP server exposing tools
│ └── data/
│ ├── products.json # Product data
│ └── orders.json # Order data
├── dist/ # Compiled JS output
├── package.json # Project metadata and scripts
├── tsconfig.json # TypeScript config
└── .gitignore # Ignored files
开始使用
前提条件
- Node.js(建议使用 v16+)
- npm
安装依赖
npm install
构建项目
npm run build
运行 API 服务
npm run dev # For development (with nodemon)
npm start # For production (after build)
运行 MCP 服务
npm run mcp
身份验证
除 /health 外,所有 API 端点都需要 Bearer 令牌。有效令牌示例:
valid_token_123client_abc_token
在 Authorization 标头中包含令牌:
Authorization: Bearer valid_token_123
API 端点
健康检查
GET /health— 返回{ status: 'ok' }
产品
GET /products— 列出所有产品GET /products/:productId— 根据 ID 获取产品
订单
GET /orders— 列出所有订单(可按customerId筛选)GET /orders/:orderId— 根据 ID 获取订单
MCP 服务工具
MCP 服务(src/mcpServer.ts)提供以下工具:
getProductInfo(productId)— 获取产品详情及相关订单listProducts()— 列出所有产品getProductOrders(productId)— 获取某产品的所有订单searchProducts(query)— 按名称或类别搜索产品
示例数据
产品(src/data/products.json)
[
{ "id": "p1", "name": "Cloud Widget", "category": "Widgets", "price": 99.99 },
{ "id": "p2", "name": "Data Analyzer", "category": "Analytics", "price": 199.99 },
{ "id": "p3", "name": "API Gateway", "category": "Infrastructure", "price": 149.99 }
]
订单(src/data/orders.json)
[
{ "id": "o101", "productId": "p1", "customerId": "cust_abc", "quantity": 2, "orderDate": "2023-10-26T10:00:00Z", "status": "shipped" },
{ "id": "o102", "productId": "p2", "customerId": "cust_xyz", "quantity": 1, "orderDate": "2023-10-27T15:30:00Z", "status": "processing" },
{ "id": "o103", "productId": "p3", "customerId": "cust_abc", "quantity": 3, "orderDate": "2023-10-28T09:15:00Z", "status": "delivered" }
]
开发说明
- TypeScript 配置:参见
tsconfig.json - 忽略的文件:
dist/、node_modules/ - 数据持久化在
src/data/中的 JSON 文件里
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。