论文

HarnessAPI:面向统一流式API与MCP工具的技能优先框架

HarnessAPI: A Skill-First Framework for Unified Streaming APIs and MCP Tools

智能体系统智能体互操作协议Agent SkillsMCP

摘要

如今,每个部署为LLM工具的Python函数都必须以两种形式存在:面向人类客户端与CI流水线的HTTP端点,以及面向Claude和Cursor等代理运行时的MCP工具注册。这两种表示共享业务逻辑,却在所有外围机制(路由、验证、序列化、流式传输与schema维护)上各不相同,并随着底层代码的演进而逐渐偏离。我们提出HarnessAPI,一个通过将有类型的技能文件夹视为单一事实来源来消除这种重复的Python框架。仅从一个handler.py加Pydantic schema出发,该框架即可自动派生出带Server-Sent Events的流式HTTP端点、交互式OpenAPI/Swagger UI,以及零配置的MCP工具,全部由单一进程提供服务。双模式内容协商让同一处理器无需任何修改即可同时服务SSE流式客户端与返回JSON的客户端。动态代码生成机制确保Pydantic类型注解正确传播到FastMCP的检查层,解决了阻碍朴素基于闭包注册的技术局限。使用cloc在六个代表性技能上测量,与手动维护的双栈实现(FastAPI服务器+FastMCP服务器)相比,HarnessAPI将面向框架的样板代码减少了74%。HarnessAPI继承自FastAPI,完整继承了其中间件、依赖注入与部署生态。代码已在 https://github.com/edwinjosechittilappilly/harnessapi 与PyPI上发布(pip install harnessapi)。