CodeForge MCP MCP 服务说明文档 📅 2026/7/12 23:12:23 1. 服务概述一句话简介自托管的MCP服务器通过单个execute_code工具在隔离的Deno TypeScript沙箱中执行代码支持透明网络层凭据注入和多API集成服务名称CodeForge MCP版本号最新版本开发者/提供方max-rousseau协议类型MCP (Model Context Protocol)2. 核心功能CodeForge MCP提供以下主要功能代码执行引擎通过execute_code工具在隔离的Deno沙箱中执行TypeScript代码多API集成支持Linear、Salesforce、Shopify、Slack、Stripe等多个API的认证调用凭据保护透明网络层凭据注入真实凭据不出现在模型上下文中技能系统可组合的多API自动化支持持久化脚本PII数据脱敏自动脱敏敏感信息邮箱、姓名、地址等用户代理规范化统一出站请求的User-Agent标识域名访问控制基于Deno权限系统的域名白名单控制3. 使用场景CodeForge MCP适用于以下场景API调用与集成通过代码一次性调用多个REST API并聚合结果数据协调如Shopify订单与Stripe支付的自动对账自动化工作流跨多个服务的复杂业务流程自动化多服务编排从Salesforce获取数据、通过Clearbit增强、在Linear创建工单、发布到Slack令牌效率优化将工具调用从150,000令牌降至2,000令牌98.7%节省敏感数据处理中间结果保留在执行环境中不进入模型上下文4. 接入方式4.1 服务端点CodeForge MCP采用自托管架构本地HTTP服务localhost:8080Docker容器三个容器mcp-server、sandbox、proxy网络隔离sandbox-net (10.77.0.0/24) 和 external-net4.2 认证与权限CodeForge使用透明凭据注入机制凭据存储在apis/*/config.json文件中gitignored沙箱代码使用令牌名称如STRIPE_AUTH_TOKEN代理在出站请求时替换为真实凭据响应时将真实凭据反向替换为令牌名称凭据作用域限定在配置的API域名内4.3 数据格式支持以下数据格式代码输入TypeScript代码块API请求标准fetch()调用响应数据JSON格式自动脱敏敏感信息技能文件持久化的TypeScript脚本4.4 服务器配置Docker Compose配置示例{ services: { mcp-server: { image: codeforge-mcp-server, ports: [127.0.0.1:8080:8080], volumes: [ /var/run/docker.sock:/var/run/docker.sock:ro ], environment: { DEBUG_MODE: false, YOLO_MODE: false, REDACTING_STRINGS: emailexample.com,John Doe, USER_AGENT: CodeForge/1.0 } }, sandbox: { image: codeforge-sandbox, mem_limit: 512m, networks: [sandbox-net] }, proxy: { image: codeforge-proxy, networks: [sandbox-net, external-net] } } }5. 接口定义CodeForge MCP提供核心工具工具名称功能描述参数execute_code在Deno沙箱中执行TypeScript代码code (string), apis (array), timeout (number)run_skill执行持久化的技能脚本skill_name (string), params (object)5.1 execute_code工具详解参数说明code要执行的TypeScript代码apis可选指定需要访问的API列表timeout可选执行超时时间毫秒返回值成功stdout输出JSON或文本失败stderr错误信息 isError标志6. 快速开始6.1 环境要求Docker和Docker Compose至少512MB内存用于沙箱容器MCP兼容客户端Claude Desktop、Claude Code等目标API的认证凭据6.2 示例代码启动服务git clone https://github.com/max-rousseau/codeforge-mcp cd codeforge-mcp docker compose up -d配置API凭据mkdir -p apis/stripe cat apis/stripe/config.json EOF { domains: [api.stripe.com], credentials: { STRIPE_AUTH_TOKEN: sk_live_your_real_key_here } } EOF docker compose restart使用示例 - Shopify与Stripe订单协调const shopifyOrders await fetch( https://your-store.myshopify.com/admin/api/2024-01/orders.json, { headers: { X-Shopify-Access-Token: SHOPIFY_AUTH_TOKEN } } ).then(r r.json()); const stripePayments await fetch( https://api.stripe.com/v1/charges, { headers: { Authorization: Bearer STRIPE_AUTH_TOKEN } } ).then(r r.json()); const mismatches shopifyOrders.orders.filter(order { const payment stripePayments.data.find(p p.metadata.order_id order.id); return !payment || payment.amount ! order.total_price * 100; }); return { mismatch_count: mismatches.length };7. 注意事项安全警告MCP服务器监听在localhost:8080无认证和TLS不要暴露到不可信网络Docker权限MCP服务器挂载Docker socket只读通过过滤代理限制API访问超时不终止进程timeout参数仅拒绝工具调用沙箱进程继续运行直到达到内存限制DEBUG_MODE风险调试日志在PII脱敏前记录包含敏感信息仅用于本地开发YOLO_MODE启用后沙箱可访问任意互联网地址仅在可信环境启用凭据作用域令牌仅在配置的API域名内替换防止意外泄露到其他主机内存限制沙箱容器默认512MB可通过mem_limit调整网络隔离沙箱仅能通过代理访问外部网络无直接互联网连接