API模拟服务器

一个基于Model Context Protocol的API模拟服务器,支持流式HTTP传输和动态工具生成。

  • by kbrAkg
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 kbrAkg/fake-api-mcp

使用说明

伪造API MCP服务器

MCP(模型上下文协议)服务器 FakeRESTApi 使用流式HTTP传输。

特性

  • 可流式HTTP传输 -具有会话管理的现代MCP传输
  • 动态工具生成 -工具在运行时根据Swagger/OpenAPI规范生成
  • MCP错误处理 -正确的错误响应使用 McpError
  • Azure容器应用程序就绪 -支持自动扩展的容器化部署

工具

服务器公开了从FakeRESTApi端点生成的27个工具:

活动

  • list_activities -列出所有活动
  • get_activity -按ID获取单个活动
  • create_activity -创建新活动
  • update_activity -按ID更新现有活动
  • delete_activity -按ID删除活动

作者

  • list_authors -列出所有作者
  • get_author -按ID获取单个作者
  • get_authors_by_book -按图书ID获取作者
  • create_author -创建新作者
  • update_author -按ID更新现有作者
  • delete_author -按ID删除作者

书籍

  • list_books -列出所有书籍
  • get_book -按ID获取一本书
  • create_book -创建新书
  • update_book -按ID更新现有图书
  • delete_book -按ID删除书籍

封面照片

  • list_coverphotos -列出所有封面照片
  • get_coverphoto -按ID获取一张封面照片
  • get_coverphotos_by_book -按图书ID获取封面照片
  • create_coverphoto -创建新的封面照片
  • update_coverphoto -按ID更新现有的封面照片
  • delete_coverphoto -按ID删除封面照片

用户

  • list_users -列出所有用户
  • get_user -按ID获取单个用户
  • create_user -创建新用户
  • update_user -按ID更新现有用户
  • delete_user -按ID删除用户

安装

npm install

发展

# Build TypeScript
npm run build

# Start server
npm start

# Or build and start
npm run dev

API终点

方法 路径 描述
得到 / 服务器信息
得到 /health 健康检查
职位 /mcp MCP JSON-RPC请求
得到 /mcp 用于通知的SSE流
删除 /mcp 终止会话

MCP客户端配置

添加到MCP客户端配置中:

{
  "mcpServers": {
    "fake-api": {
      "url": "http://localhost:3000/mcp",
      "transport": "streamable-http"
    }
  }
}

Azure部署

🏆 Önerilen:Azure容器应用程序

MCP Server 的最佳部署选项 Azure容器应用提尔:

  • ✅ Scale to zero(不使用时无成本)
  • ✅ WebSocket/SSE 支持(对 MCP 至关重要)
  • ✅ 自动缩放

1.ACR'a图像推送

# Azure'a giriş yap
az login

# ACR'a giriş yap
az acr login --name <acr-name>

# Image'ı build et ve push et
cd deploy
.\acr-build.ps1 -AcrName "<acr-name>" -ImageTag "latest"

2.容器应用程序创建(手动)

# Resource Group oluştur (yoksa)
az group create --name mcp-server-rg --location westeurope

# Container Apps Environment oluştur
az containerapp env create \
    --name mcp-server-env \
    --resource-group mcp-server-rg \
    --location westeurope

# Container App oluştur
az containerapp create \
    --name mcp-server \
    --resource-group mcp-server-rg \
    --environment mcp-server-env \
    --image <acr-name>.azurecr.io/fake-api-mcp:latest \
    --target-port 3000 \
    --ingress external \
    --min-replicas 0 \
    --max-replicas 10 \
    --cpu 0.5 \
    --memory 1.0Gi

# ACR'a erişim için identity ekle
az containerapp registry set \
    --name mcp-server \
    --resource-group mcp-server-rg \
    --server <acr-name>.azurecr.io \
    --identity system

详细安装

有关详细安装步骤 部署/README.md 看看档案。

米马里

┌─────────────────────────────────────────────────────────────┐
│                  Azure Container Apps                        │
│                   (MCP Server - Node.js)                    │
└─────────────────────────┬───────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────┐
│              FakeRESTApi (External API)                     │
└─────────────────────────────────────────────────────────────┘

环境变量

变量 描述 默认值
PORT 服务器端口 3000
NODE_ENV 环境 生产

许可证

麻省理工学院