返回 MCP 目录
public公开dns本地运行

serverless-web-mcp-server

该项目实现了一个基于Model Context Protocol (MCP)的服务器,用于将Web应用部署到AWS无服务器基础设施上,支持前后端及全栈应用的自动化部署。

article

README

🚀 无服务器 Web MCP 服务器

本项目实现了模型上下文协议(Model Context Protocol, 简称MCP)在 AWS 无服务器部署中的应用,支持后端、前端和全栈应用程序的部署。开发者可借此轻松将应用部署到 AWS 云环境,无需管理底层服务器。

🚀 快速开始

本项目实现了模型上下文协议(Model Context Protocol, 简称MCP)在 AWS 无服务器部署中的应用,支持后端、前端和全栈应用程序的部署。通过此实现,开发者可以方便地将应用程序部署到 AWS 云环境中,无需管理底层服务器。

✨ 主要特性

核心组件

  • 协议实现:实现了完整的 MCP 协议规范,包括资源管理和工具调用。
  • 功能特性
    • 支持多种部署类型(后端、前端、全栈)
    • 提供数据库配置支持
    • 支持自定义环境变量
    • 集成 AWS SAM CLI

架构设计

/
├── src/
│   ├── mcp/              # MCP 协议实现目录
│   │   ├── tools/        # 工具实现模块
│   │   │   └── index.ts  # 工具注册文件
│   │   ├── resources/    # 资源实现模块
│   │   │   └── index.ts  # 资源注册文件
│   │   └── server.ts     # MCP 服务器主程序
│   ├── deployment/       # 部署服务模块
│   ├── cli/              # 命令行工具目录
│   └── index.ts          # 应用入口文件
├── templates/            # 部署模板文件夹
├── examples/             # 示例应用案例
├── docs/                 # 文档资料
├── config.json           # 服务器配置文件
├── DESIGN.md             # 详细设计文档
└── README.md             # 项目说明文件

📦 安装指南

文档未提及具体安装步骤,暂不提供。

💻 使用示例

基础用法

项目结构

  • 代码部分src/

    • mcp/:MCP 协议的具体实现,包含工具和资源的注册与管理。
    • deployment/:负责处理应用程序的部署逻辑。
    • cli/:提供命令行接口功能。
    • index.ts:项目的主入口文件。
  • 静态资源templates/

    • 部署所需的模板文件,用于生成云资源配置。
  • 示例应用examples/

    • 提供多种应用场景的示例代码,方便用户快速上手。

高级用法

后端部署

{
  "deploymentType": "backend",
  "projectName": "my-api",
  "projectRoot": "/path/to/project",
  "region": "us-east-1",
  "backendConfiguration": {
    "builtArtifactsPath": "backend/dist",
    "runtime": "nodejs18.x",
    "startupScript": "bootstrap",
    "memorySize": 512,
    "timeout": 30,
    "environment": {
      "NODE_ENV": "production"
    },
    "databaseConfiguration": {
      "tableName": "Users",
      "attributeDefinitions": [
        { "name": "id", "type": "S" }
      ],
      "keySchema": [
        { "name": "id", "type": "HASH" }
      ]
    }
  }
}

前端部署

{
  "deploymentType": "frontend",
  "projectName": "my-website",
  "projectRoot": "/path/to/project",
  "region": "us-east-1",
  "frontendConfiguration": {
    "builtAssetsPath": "frontend/build",
    "indexDocument": "index.html"
  }
}

全栈部署

{
  "deploymentType": "fullstack",
  "projectName": "my-fullstack-app",
  "projectRoot": "/path/to/project",
  "region": "us-east-1",
  "backendConfiguration": {
    "builtArtifactsPath": "backend/dist",
    "runtime": "nodejs18.x",
    "environment": {
      "NODE_ENV": "production"
    }
  },
  "frontendConfiguration": {
    "builtAssetsPath": "frontend/build",
    "indexDocument": "index.html"
  }
}

代码示例

MCP 协议实现

// src/mcp/server.ts
import { MCP } from './mcp';

const server = new MCP();
server.start();

工具调用示例

# 部署后端服务
npm run deploy -- --type backend

# 部署前端服务
npm run deploy -- --type frontend

📚 详细文档

详细设计文档和使用说明请参考 docs/ 目录下的文件。

📄 许可证

本项目采用 MIT 许可证,具体内容见 LICENSE 文件。

🔗 贡献指南

欢迎社区贡献!有关贡献流程,请参阅 CONTRIBUTING.md

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端