无代码API代理平台

Recast MCP是一个托管式无代码平台,可将任何REST API作为实时MCP服务器暴露给AI代理(如Claude、Cursor、ChatGPT)。

  • by Hyla96
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 Hyla96/recast_mcp

使用说明

重新广播MCP

Recast MCP是一个托管的无代码平台,将任何REST API作为实时MCP服务器公开给AI代理(Claude、Cursor、ChatGPT)。

目录布局

recast_mcp/
├── services/              # Rust services
│   ├── gateway/          # MCP protocol proxy (port 3000)
│   ├── api/              # Platform control plane (port 3001)
│   └── credential-injector/  # Credential sidecar (port 3002)
├── libs/                 # Shared Rust libraries
│   ├── mcp-protocol/     # MCP JSON-RPC types
│   ├── mcp-crypto/       # AES-256-GCM encryption
│   └── common/           # Shared types, errors, utilities
├── apps/                 # Frontend applications
│   └── web/              # React 19 + TypeScript web UI
├── Cargo.toml            # Rust workspace root
├── Cargo.lock            # Rust workspace lockfile
├── package.json          # Node.js workspace root (pnpm)
├── pnpm-lock.yaml        # Frontend lockfile
├── rust-toolchain.toml   # Pinned Rust version
├── .cargo/config.toml    # Cargo build configuration
└── docs/                 # Project documentation

技术栈

  • 锈蚀: axum, 东京, serde, sqlx, aes-gcm
  • 前端: React 19, TypeScript, Vite, 状态
  • 数据库: PostgreSQL
  • 认证: 职员
  • CI/CD: 啄木鸟CI
  • 集装箱: Docker+Docker组合

先决条件

  • Rust(稳定)-固定版本 rust-toolchain.toml
  • Node.js 18+和pnpm 9.0+
  • PostgreSQL 15+(通过docker compose进行本地开发)
  • Docker和Docker compose(可选,用于容器化本地设置)

快速开始

Rust设置

# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Build all Rust crates
cargo build --workspace

# Run tests
cargo test --workspace

# Check for warnings
cargo clippy --workspace -- -D warnings

# Run formatter check
cargo fmt --check

前端设置

# Install pnpm (if not already installed)
npm install -g pnpm

# Install frontend dependencies
pnpm install

# Type-check the web app
pnpm --filter @mcp/web type-check

# Build the web app
pnpm --filter @mcp/web build

# Run lint checks
pnpm --filter @mcp/web lint

# Start dev server (runs on localhost:5173)
pnpm --filter @mcp/web dev

使用Docker Compose进行本地开发

即将推出——请参阅路线图中的TASK-005。

建筑

服务

网关(服务/网关)

多租户MCP代理,将传入的MCP请求路由到配置的上游API。通过HTTP和SSE处理JSON-RPC 2.0。

平台API(服务/API)

用于管理MCP服务器、凭据和身份验证令牌的控制平面。为web UI提供REST API。

凭证注入器(服务/凭证注入器)

Sidecar服务,解密凭据并通过Unix域套接字将其注入上游请求。

图书馆

mcp协议(libs/mcp协议)

MCP消息的可序列化类型: JsonRpcRequest, JsonRpcResponse, JsonRpcError实现序列化/反序列化以符合JSON-RPC 2.0标准。

mcp加密(libs/mcp加密)

凭证的AES-256-GCM加密/解密。每次加密生成随机的12字节IV,存储IV+密文。

common(libs/common)

共享错误类型(AppError),特征(FromEnv 用于配置加载)以及所有服务使用的实用程序。

代码样式和Lints

  • Clippy规则: deny(unwrap_used), deny(expect_used), deny(panic), deny(unimplemented), deny(todo) --生产代码中没有恐慌
  • Rust版本: 2021
  • 格式: cargo fmt (在CI中强制执行)
  • 文件: 所有公共API都必须有rustdoc注释; cargo doc --no-deps 必须生成无警告

测试

  • 所有服务均包括以下单元测试 src/
  • 集成测试在一个 testing 货物功能(见路线图中的TASK-010)
  • 与一起跑步 cargo test --workspace

文档

路线图

该项目分为10个基本任务(任务001至任务010),包括:

  1. Monorepo脚手架✓
  2. PostgreSQL架构
  3. 共享库
  4. CI/CD管道
  5. Docker编写本地开发
  6. 遥测(开放遥测)
  7. 配置管理
  8. API错误合约
  9. 健康检查端点
  10. 集成测试框架

接下来是6部史诗:

  • EPIC-01:基础服务
  • EPIC-02:网关核心
  • EPIC-03:生成器用户界面
  • EPIC-04:部署和运营
  • EPIC-05:可扩展性
  • EPIC-06:高级功能

贡献

确保所有代码:

  • 没有警告的构建: cargo build --workspace
  • 传递片段: cargo clippy --workspace -- -D warnings
  • 格式为: cargo fmt
  • 有测试: cargo test --workspace
  • 有文档: cargo doc --no-deps

许可证

阿帕奇-2.0