mcpField
M
MCP Demo App

MCP Demo App

本地服务
github.com/sameerfa开发工具078 周前更新

关于 MCP Demo App

面向演示与开发的 Node.js、Express 和 TypeScript 示例项目,提供产品与订单 REST API,并通过 MCP 暴露查询工具。数据存储在 JSON 文件中。

主要功能

  1. 01提供产品和订单 REST API
  2. 02支持 Bearer 令牌认证
  3. 03使用 JSON 文件存储数据
  4. 04提供产品与订单查询工具
  5. 05使用 TypeScript 编写

适用场景

  1. 01演示产品和订单 API 的构建
  2. 02测试 Bearer 令牌认证
  3. 03让 MCP 客户端查询产品数据
  4. 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_123
  • client_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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。