用途:为构建 A2A 服务器提供配置模式与模板,支持 HTTP、STDIO、SSE、WebSocket 四种传输方式,遵循 MCP(Model Context Protocol)标准。
主要能力:先分析需求,确定传输类型(HTTP 适合远程访问与 CORS;STDIO 适合本地进程管道通信;SSE 适合服务器单向实时推送;WebSocket 适合双向实时通信),识别框架(Python 的 FastAPI、Flask、Starlette;TypeScript 的 Express、Fastify、Node.js 原生 http),检测端口、主机、CORS、鉴权与环境变量需求。随后按传输类型加载 templates/ 下对应模板:Python 与 TypeScript 各含 http、stdio、sse、websocket 四份。
配置要点:HTTP 用 uvicorn.run 或 app.listen 设置 host/port;STDIO 用 mcp.run(transport="stdio") 或 StdioServerTransport;SSE 用 EventSourceResponse 返回事件流;WebSocket 用 @app.websocket("/ws") 接受连接。HTTP/SSE/WebSocket 需加 CORS 中间件,并创建 .env.example 占位符文件。
验证与脚本:提供 scripts/validate-config.sh、generate-server.sh、test-transport.sh,用 bash scripts/validate-config.sh <server-file> 校验是否硬编码密钥、环境变量使用、CORS 配置、传输设置及 .gitignore 是否包含 .env。examples/ 下有 FastAPI HTTP、简单 STDIO、SSE 流式、WebSocket 双向四类示例。
安全要求:绝不硬编码真实 API Key,示例中不出现真实凭据,绝不提交敏感值到 git;始终使用占位符(如 your_service_key_here 或 {service}_{env}_your_key_here),始终创建仅含占位符的 .env.example,始终将 .env* 加入 .gitignore(.env.example 除外),代码始终从环境变量读取,并记录密钥获取位置。
限制:需框架相关依赖、CORS 中间件与环境变量管理库(python-dotenv/dotenv);具体版本、定价、平台支持及性能数据暂未提供。