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。
微信扫一扫