今天给大家分享一个技术Demo,展示如何基于Agno框架快速构建一个OpenAI兼容API服务,并通过MCP工具调用实现功能扩展。这个方案的最大价值在于:客户端无需任何修改,只要兼容OpenAI API,就能直接调用配置好的工具能力!
https://github.com/lemonhall/agno_mcp_openai_demo
Cherry studio的配置

运行的效果

mcp服务的功能描述

注释:caldav-mcp,因为功能测试的原因,暂时未发布
核心价值 ?
传统Agent开发中,客户端需要:
-
了解工具调用规范 -
处理复杂的工具注册流程 -
实现工具调用和结果解析
而通过本项目展示的方案: ✅ 客户端只需调用标准OpenAI API ✅ 所有工具调用逻辑封装在服务端 ✅ 无需客户端挂载任何MCP工具 ✅ 保持完全的API兼容性
技术实现解析 ?
1. 架构设计
项目采用三层架构:
-
API兼容层:完全模拟OpenAI Chat Completions接口 -
Agent核心层:基于Agno框架的Agent实现 -
工具服务层:集成MCP工具服务(以CalDAV为例)
客户端 → OpenAI兼容API → Agno Agent → MCP工具服务
2. 关键技术点
-
OpenAI API全兼容:支持同步/流式响应 -
透明工具调用:客户端无需感知工具存在 -
灵活的工具配置:服务端统一管理工具注册
3. 代码结构
.
├── simple_openai_agent_api.py # 主服务入口
└── agno_openai_adapter.py # OpenAI适配层实现
快速体验 ?
-
安装依赖
pip install fastapi uvicorn agno mcp
-
启动服务
python simple_openai_agent_api.py
-
调用示例(使用任何OpenAI兼容客户端)
response = client.chat.completions.create(
model="agno-agent",
messages=[{"role": "user", "content": "查询我的日程"}]
)
场景扩展 ?
虽然Demo以日历管理为例(因为这个场景简单易懂),但该方案适用于:
-
数据库查询工具 -
电商订单管理 -
内部系统集成 -
任何需要工具调用的场景
设计理念 ?
-
关注点分离:客户端只关心业务对话,不关心工具实现 -
平滑迁移:现有OpenAI应用可无缝迁移 -
灵活扩展:服务端可动态增减工具能力
结语
这个Demo展示了Agno框架在构建企业级Agent服务时的独特优势。通过OpenAI兼容层,我们可以:
-
极大降低客户端接入成本 -
保持API的稳定性和兼容性 -
灵活扩展后端工具能力