Token导航 LogoToken导航TokenDH.com
Poc Smcp logo
运维云端未说明官方级别未说明来源级核验

Poc Smcp

MCP Server

基于Cloudflare的安全、可扩展的MCP服务器托管平台,提供多租户隔离、5层安全模型和全球边缘部署功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
Cloudflare WorkersClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Ryan-Spooner

提供方

Ryan-Spooner

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SMCP-安全MCP平台(POC)

![Build Status](https://github.com/Ryan-Spooner/POC-SMCP) ![License](LICENSE) ![MCP Protocol](https://modelcontextprotocol.io) ![Cloudflare Workers](https://workers.cloudflare.com)

Cloudflare基础设施上安全、可扩展的模型上下文协议(MCP)服务器托管的概念验证

目录

概述

该POC侧重于为MCP服务器构建一个安全的、基于Cloudflare的托管环境,作为未来安全MCP(SMCP)平台的基础。成熟的平台将包括一个经过审查的市场、学习资源和强大的数据基础设施,但该POC专门验证了核心托管功能。

*有关适合利益相关者和潜在贡献者的全面概述,请参阅 执行摘要。有关快速参考和利益相关者讨论,请参阅 POC摘要.*

项目目标

  • 目标1: 为MCP服务器创建安全的、基于Cloudflare的托管环境
  • 目标2: 展示托管基础架构的高可用性和可扩展性
  • 目标3: 为托管第三方MCP服务器建立安全模式和最佳实践

主要功能(计划中)

  • MCP服务器托管: 使用流式HTTP传输在Cloudflare Workers上部署和运行MCP服务器
  • 多租户隔离: 使用V8隔离在不同MCP服务器实例之间进行安全隔离
  • 五层安全模型: 具有网络、应用程序、运行时、数据和AI生成代码保护的全面安全
  • 双重身份验证: 用于人工用户的OAuth 2.1和用于服务到服务通信的API密钥
  • 自动缩放: 基于需求和使用模式的自动扩展
  • 健康监测: 对托管服务器进行实时监控和健康检查
  • 全局边缘部署: 通过Cloudflare的边缘网络进行全球分发

技术栈

  • 基础设施: Cloudflare Workers、Cloudflare KV、Cloudflare R2、Cloudflare DNS
  • 运行时间: Cloudflare Workers运行时上的JavaScript/TypeScript
  • 协议: 具有流式HTTP传输的模型上下文协议(MCP)2025-03-26
  • 安全: OAuth 2.1、API密钥认证、AES-256-GCM加密、JWT验证
  • 开发工具: TypeScript、Node.js、Wrangler CLI、Zod(验证)、JOSE(JWT)、Git

项目状态

当前阶段: 基础设施开发(第3-4周) 时间线: 8周POC开发周期

已完成的任务✅

  • SMCP-001-01 -MCP协议规范研究

- ✅ 分析了MCP服务器运行时需求 - ✅ 记录的协议通信模式 - ✅ 已确定Cloudflare Workers兼容性限制 - ✅ 将流式HTTP确立为最佳传输机制

  • SMCP-001-02 -Cloudflare服务研究

- ✅ 评估了Cloudflare Workers的功能和限制 - ✅ 研究了Cloudflare KV、R2和DNS集成选项 - ✅ 记录服务限制和定价考虑因素 - ✅ 经过验证的成本效益和技术兼容性

  • SMCP-001-03 -建筑设计

- ✅ 设计了基于V8隔离的多租户托管架构 - ✅ 定义了具有租户范围访问控制的5层安全隔离模式 - ✅ 计划使用Cloudflare的本地功能进行自动扩展和负载平衡 - ✅ 创建了全面的系统架构图和数据流模式

  • SMCP-001-04 -安全策略定义(扩展)

- ✅ 定义了全面的5层安全模型(网络、应用程序、运行时、数据、人工智能生成的代码) - ✅ 通过V8隔离隔离建立了多租户隔离要求 - ✅ 设计了符合MCP协议的OAuth 2.1+neneneba API密钥认证策略 - ✅ 使用Cloudflare加密环境变量进行计划秘密管理 - ✅ 创建了具有实现模式的详细安全文档 - ✅ 扩展:研究了人工智能辅助编码的安全漏洞和威胁 - ✅ 扩展:增强到5层安全模型,包括AI生成的代码安全 - ✅ 扩展:制定了全面的AI编码安全缓解策略

  • SMCP-001-05 -开发环境设置

- ✅ 为Cloudflare Workers开发安装并配置了Wrangler CLI v4.16.1 - ✅ 设置具有严格模式和全面类型检查的TypeScript项目 - ✅ 根据既定的架构模式创建了多租户项目结构 - ✅ 使用TypeScript集成配置ESLint、Prettier和Jest测试框架 - ✅ 实现了具有5层安全模型结构的基本Worker模板 - ✅ 为有状态的MCP服务器管理创建了持久对象(McpServerInstance) - ✅ 设置开发脚本、环境配置和机密管理模板 - ✅ 使用成功的Wrangler开发服务器验证功能性本地开发环境

当前任务🔄

  • SMCP-002-01 -Cloudflare Workers基本设置(下)

项目阶段

  1. 第一阶段:探索与规划 (第1-2周)-✅ *完成*
  2. 第二阶段:基础设施建设 (第3-4周)- *当前*
  3. 第三阶段:高级功能 (第5-6周)
  4. 第4阶段:测试与验证 (第7-8周)

建筑

高级体系结构

┌─────────────────┐  Streamable HTTP  ┌──────────────────┐
│   MCP Client    │ ─────────────────► │ Cloudflare Worker│
│   (Claude, etc) │  POST: JSON-RPC   │   MCP Server     │
│                 │  GET: SSE Stream   │  (Single Endpoint)│
└─────────────────┘                   └──────────────────┘
                                              │
                                              ▼
                                      ┌──────────────────┐
                                      │ Cloudflare       │
                                      │ Services         │
                                      │ (KV, R2, D1)     │
                                      └──────────────────┘

传输协议

  • 主要运输: 可流式HTTP(MCP 2025-03-26)
  • 沟通: 通过单个HTTP端点实现双向
  • 身份验证: OAuth 2.1承载令牌或API密钥身份验证
  • 会话管理: Mcp-Session-Id headers+Cloudflare KV,具有租户隔离功能
  • 实时: 用于流式传输的服务器发送事件(SSE)
  • 可恢复性: 用于连接恢复的事件ID

安全架构

  • 五层安全模型: 网络(DDoS、SSL、WAF)→ 应用程序(OAuth 2.1,验证)→ 运行时(V8隔离)→ 数据(加密、命名空间)→ 人工智能生成的代码(验证、监控)
  • 多租户隔离: 具有V8隔离分隔和存储命名空间的专用Worker实例
  • 身份验证方法: OAuth 2.1,带针对人类用户的PKCE,针对服务到服务的API密钥
  • 秘密管理: 加密环境变量和KV存储,具有自动密钥轮换功能

有关包括多租户隔离、安全模式和自动扩展策略在内的详细架构设计,请参阅: docs/architecture-design.md

研究成果

✅ MCP与Cloudflare Workers的兼容性

关键发现: MCP使用Streamable HTTP传输与Cloudflare Workers完全兼容。

兼容功能

  • HTTP传输: 原生支持HTTP请求/响应
  • JSON-RPC 2.0: 内置JSON处理功能
  • 服务器发送的事件: 实时流媒体支持
  • 会话管理: 通过集管和KV存储
  • 全球优势: 自动全球部署

约束与适应

  • stdio传输: 不兼容(不支持子流程)
  • 本地文件: 必须使用Cloudflare存储服务(KV、R2、DNS)
  • 内存限制: 每个Worker实例128 MB
  • CPU时间: 默认30秒,最多可配置5分钟

有关MCP研究的详细结果,请参阅: docs/mcp-protocol-research.md

✅ Cloudflare服务生态系统

关键发现: Cloudflare为MCP托管提供了一个全面、经济高效的基础设施堆栈。

服务能力

  • 工人: 128MB内存,5分钟CPU时间,全局边缘部署
  • KV: 用于会话管理的低延迟键值存储
  • R2: S3兼容对象存储,零出口费用
  • DNS: 具有自动证书管理的自定义域

成本分析

  • POC等级: 10台并发MCP服务器每月约6美元
  • 生产规模: 100台并发MCP服务器每月约34美元
  • 免费等级: 适用于开发和测试的慷慨限制

实施策略

  • 使用Workers进行HTTP传输的MCP服务器托管
  • 通过KV实现会话管理 Mcp-Session-Id 标头
  • 利用R2满足更大的数据存储需求
  • 使用自定义域作为干净的MCP服务器端点
  • 在Worker和存储级别实施多租户隔离

有关Cloudflare的详细研究结果,请参阅: docs/cloudflare-services-research.md

✅ 多租户建筑设计

关键发现: 基于V8隔离的架构为多租户MCP托管提供了强大的安全性和可扩展性。

建筑亮点

  • 多租户隔离: V8隔离与存储命名空间隔离
  • 五层安全: 网络、应用程序、运行时、数据和AI生成的代码安全层
  • 自动缩放策略: Cloudflare的本地扩展与地理分布
  • 性能优化: 冷启动缓解和智能缓存

实现模式

  • 每个MCP服务器具有专用实例的工人级租户隔离
  • 基于KV的会话管理,具有租户范围的访问控制
  • 使用桶级或基于前缀的隔离进行R2存储分离
  • 具有自动故障转移和延迟优化的全局负载平衡

有关详细的架构设计和实现模式,请参阅: docs/architecture-design.md

✅ 综合安全战略

关键发现: 5层安全模型为多租户MCP托管提供企业级保护。

安全亮点

  • OAuth 2.1合规性: 完全符合PKCE的MCP协议,动态客户端注册,元数据发现
  • 双重身份验证: 用于人工用户的OAuth 2.1,用于服务到服务通信的API密钥
  • 多租户隔离: 使用V8隔离、存储命名空间和租户范围的访问控制实现完全分离
  • 秘密管理: 加密环境变量,带AES-256-GCM的KV存储,自动密钥轮换
  • AI生成的代码安全: 人工智能辅助开发的验证、监控和安全提示实践

实施策略

  • 使用Cloudflare Workers实现OAuth 2.1授权服务器
  • 使用具有格式的租户范围的API密钥 smcp__
  • 利用Zod进行输入验证,利用JOSE进行JWT处理
  • 实施全面的审计日志记录,保留30天
  • 对管理员、MCP用户和只读角色使用基于角色的访问控制

有关详细的安全策略和实施模式,请参阅: docs/security-strategy.md

发展

先决条件

  • Node.js 18+(用于开发工具)-✅ *使用Node.js v22.14.0进行测试*
  • Cloudflare帐户(用于部署)
  • Wrangler CLI(Cloudflare Workers开发)-✅ *已安装v4.16.1*
  • Git(版本控制)

注: 此项目与兼容 asdf Node.js的版本管理器。当前的设置既适用于直接Node.js安装,也适用于asdf托管版本。

开发设置

# Clone the repository
git clone https://github.com/Ryan-Spooner/POC-SMCP.git
cd POC-SMCP

# Install dependencies
npm install

# Build the project
npm run build

# Run tests (20/20 passing)
npm test

# Start local development server (runs on http://127.0.0.1:8787)
npm run dev

# Deploy to Cloudflare (requires authentication)
npm run deploy

当前开发环境状况

全功能开发环境

  • 启用严格模式的TypeScript编译
  • ESLint和Prettier已配置并正常工作
  • 通过20/20测试的Jest测试框架
  • Wrangler CLI v4.16.1已配置为本地开发
  • 具有路由和CORS支持的基本Worker模板
  • MCP服务器实例的持久对象实现
  • MCP协议和安全的全面类型定义

可用脚本

开发脚本

  • npm run build -将TypeScript编译为JavaScript
  • npm run dev -启动Wrangler开发服务器
  • npm run deploy -部署到Cloudflare Workers
  • npm run clean -删除已编译的输出目录

测试脚本

  • npm test -运行Jest测试套件(包括类型检查)
  • npm run test:watch -在监视模式下运行测试
  • npm run test:coverage -使用覆盖率报告运行测试

代码质量脚本

  • npm run lint -在TypeScript文件上运行ESLint
  • npm run lint:fix -自动修复ESLint问题
  • npm run format -使用Prettier格式化代码
  • npm run format:check -检查代码格式而不进行更改
  • npm run type-check -无需编译即可运行TypeScript类型检查

自动脚本(自动运行)

  • npm run prebuild -在构建之前运行(清理dist目录)
  • npm run pretest -测试前运行(类型检查)

项目结构

POC-SMCP/
├── docs/                    # Project documentation
│   ├── mcp-protocol-research.md
│   ├── cloudflare-services-research.md
│   ├── architecture-design.md
│   ├── security-strategy.md
│   ├── ai-assisted-coding-security.md
│   └── executive-summary.md
├── memory-bank/             # AI assistant context files
│   ├── activeContext.md
│   ├── decisionLog.md
│   ├── dependencies.md
│   ├── productContext.md
│   ├── product-backlog.md
│   ├── progress.md
│   └── systemPatterns.md
├── src/                     # TypeScript source code
│   ├── workers/             # Cloudflare Workers
│   │   ├── mcp-host-worker.ts
│   │   └── mcp-server-instance.ts
│   ├── types/               # TypeScript type definitions
│   │   └── mcp-types.ts
│   ├── utils/               # Utility functions
│   │   ├── crypto-utils.ts
│   │   ├── response-utils.ts
│   │   └── audit-logger.ts
│   ├── middleware/          # Request middleware
│   │   ├── auth-middleware.ts
│   │   └── validation-middleware.ts
│   ├── auth/                # Authentication logic (planned)
│   ├── storage/             # Storage abstractions (planned)
│   └── monitoring/          # Monitoring and logging (planned)
├── tests/                   # Test files
│   ├── unit/                # Unit tests
│   │   └── crypto-utils.test.ts
│   ├── integration/         # Integration tests (planned)
│   ├── e2e/                 # End-to-end tests (planned)
│   └── setup.ts             # Test configuration
├── config/                  # Configuration files (planned)
├── scripts/                 # Build and deployment scripts (planned)
├── dist/                    # Compiled JavaScript (generated)
├── .augment-guidelines      # AI assistant rules
├── package.json             # Node.js dependencies and scripts
├── tsconfig.json            # TypeScript configuration
├── wrangler.toml            # Cloudflare Workers configuration
├── jest.config.js           # Jest testing configuration
├── eslint.config.js         # ESLint configuration
├── .prettierrc              # Prettier configuration
├── .env.example             # Environment variables template
├── projectBrief.md          # Detailed project requirements
└── README.md                # This file

开发工作流程

  1. 研究与规划 (第一阶段)✅ 完成
  2. 基础设施开发 (第2阶段)-当前阶段
  3. 高级功能 (第3阶段)-自动扩展、监控、部署
  4. 测试与验证 (第4阶段)——安全测试、性能验证

贡献

这是一个目前正在积极开发的概念验证项目。一旦初步实施完成,将欢迎捐款。

发展现状

  • 第一阶段: 研究与规划(✅ 已完成–5/5项任务已完成)
  • 第二阶段: 基础设施开发(进行中——开发环境准备就绪)
  • 贡献: 尚未接受外部捐款
  • 时间线: 第二阶段完成后欢迎捐款

未来贡献领域

  • MCP服务器实现
  • 增强的安全性
  • 性能优化
  • 文档改进
  • 测试和验证

许可证

该项目根据MIT许可证获得许可——请参阅 许可证 文件以获取详细信息。

文档

支持与联系

  • 项目负责人: 雷内·奎罗斯
  • 项目负责人: Ryan Spooner
  • 电子邮件: support@ischyolabs.com
  • 存储库:

致谢

  • 模型上下文协议: Anthropic 以及MCP社区
  • Cloudflare员工: Cloudflare 的 用于边缘计算平台
  • AI助理: 用于发展援助和文件编制的增强代理

目录标签

目录标签

Cloudflare WorkersClaude云端部署MCP服务器托管TypeScript本地部署多租户隔离5层安全模型全球边缘部署CloudflareWorkers

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP