带API的MCP服务器目录
模型上下文协议(MCP)服务器,通过REST API层提供目录功能。该项目演示了一种适当的体系结构,其中MCP服务器充当目录API的客户端,而不是直接访问数据。
建筑
Claude/MCP Client → MCP Server → REST API Server → Mock Data- MCP服务器 (
src/index.ts):使用REST API的MCP协议服务器 - API客户端 (
src/api-client.ts):用于与REST API通信的HTTP客户端 - REST API服务器 (
src/server-example/api-server.ts):API标准目录,包括产品的端点, - 模拟数据 (
src/server-example/mock-data.ts):示例产品和类别数据类别、搜索等。
特性
MCP工具
search_products-搜索带有过滤器和分页的产品get_product_details-获取详细的产品信息get_categories-获取具有层次结构的产品类别get_product_recommendations-获取产品推荐check_product_availability-检查产品可用性和库存get_popular_products-通过评分获取热门产品get_price_range-获取类别的价格范围信息
REST API端点
GET /api/v1/products-列出具有过滤和分页功能的产品GET /api/v1/products/search-搜索具有方面的产品GET /api/v1/products/:id-获取产品详细信息GET /api/v1/products/:id/recommendations-获取产品推荐GET /api/v1/products/:id/availability-检查产品可用性GET /api/v1/products/popular-获取热门产品GET /api/v1/categories-列出具有层次结构的类别GET /api/v1/categories/:id-获取类别详细信息GET /api/v1/categories/:id/products-在类别中获取产品GET /api/v1/categories/:id/price-range-获取类别的价格范围
入门指南
先决条件
- 包子 运行时
安装
bun install运行系统
- 启动API服务器 (1号航站楼):
bun api-server这将启动上的REST API服务器http://localhost:3001
- 启动MCP服务器 (2号航站楼):
bun mcp-server这将启动连接到API服务器的MCP服务器
发展
- 带热重载的API服务器:
bun api-server- 跑linting:
bun lint
bun lint:fix测试API
您可以直接测试REST API:
# Get all products
curl "http://localhost:3001/api/v1/products"
# Search products
curl "http://localhost:3001/api/v1/products/search?q=laptop"
# Get product details
curl "http://localhost:3001/api/v1/products/1"
# Get categories
curl "http://localhost:3001/api/v1/categories"健康检查
检查API服务器是否正在运行:
curl "http://localhost:3001/health"配置
API服务器
- 端口:
3001(可通过以下方式配置PORT环境变量) - CORS:为所有来源启用
- 请求日志记录:已启用
MCP服务器
- 协议:stdio传输
- API客户端基础URL:
http://localhost:3001
示例用法
两台服务器都运行后,您可以将MCP服务器与Claude或其他MCP客户端一起使用,以:
- 搜索产品:“查找1000美元以下的笔记本电脑”
- 获取推荐:“显示与产品ID 1相似的产品”
- 查看可用性:“产品5有库存吗?”
- 浏览类别:“有哪些可用的产品类别?”
- 查找热门商品:“给我看看最受欢迎的电子产品”
