Converts FastAPI application OpenAPI documentation into queryable MCP tools, enabling AI assistants to efficiently explore API endpoints, models, and schemas without loading complete OpenAPI specifications
FastAPI OpenAPI MCP Server
🚀 基于 MCP 2025-06-18 标准的 FastAPI OpenAPI Server,提供 Resources + Tools 混合架构,让 AI 编程助手能够高效查询和操作 API 信息,大幅减少 Token 消耗。
📖 项目简介
FastAPI OpenAPI MCP Server 是一个基于最新 MCP 2025-06-18 标准的服务器实现,采用创新的 Resources + Tools 混合架构,为 FastAPI 应用提供完整的 MCP 生态支持。该服务器让 AI 编程助手(如 Claude、GPT 等)能够:
🎯 双重访问模式 - Resources 提供结构化概览,Tools 提供精确操作
📊 智能缓存 - 多级缓存机制,显著提升响应速度
🔍 强大搜索 - 支持正则表达式、模糊匹配、多维度搜索
🛡️ 安全可控 - 细粒度权限控制、数据脱敏、审计日志
💰 极致优化 - 减少 90%+ 的 Token 消耗
适用场景
✅ 大型 API 项目(接口数量 > 50 个)
✅ 需要深度 AI 辅助开发和调试
✅ 严格的安全和合规要求
✅ 需要高性能和高可用性
✅ 多服务、多租户环境
✨ 核心功能
🌐 MCP Resources
基于最新 MCP 标准的 Resources 功能,提供直观的资源访问:
🔧 MCP Tools
4 个核心工具,覆盖所有使用场景:
search_endpoints - 强大的端点搜索和过滤
generate_examples - 智能调用示例生成
validate_request - 请求参数验证
analyze_dependencies - API 依赖关系分析
📡 访问方式
✅ JSON-RPC 2.0 - 标准 MCP 协议
✅ HTTP Transport - 基于 HTTP 的 MCP 传输
✅ SSE 流式传输 - 实时数据推送
✅ 多协议支持 - stdio、HTTP、WebSocket
🏗️ 架构设计
🎯 Resources + Tools 混合架构
Resources 优势:
📋 结构化概览 - 提供完整的 API 结构视图
🎯 直观导航 - 通过 URI 路径直接访问资源
💾 高效缓存 - 资源级别的缓存机制
🔗 关联访问 - 支持资源间的引用和跳转
Tools 优势:
🔍 精确查询 - 复杂的搜索和过滤能力
⚡ 动态计算 - 实时数据分析和生成
🛠️ 业务逻辑 - 支持复杂的操作流程
🎨 格式灵活 - 多种输出格式支持
📁 目录结构
🧩 核心组件
1. OpenApiMcpServer - 主服务器类
2. McpServerConfig - 配置管理
3. BaseResource - Resource 基类
4. BaseTool - Tool 基类
🔄 数据流架构
🚀 快速开始
安装
💡 立即测试(使用 MCP Inspector)
在开发模式下,你可以立即使用 MCP Inspector 测试:
这会打开一个 Web 界面(http://localhost:5173),让你可以:
✅ 查看所有 MCP Resources 和 Tools
✅ 浏览 OpenAPI 规范资源
✅ 交互式调用工具
✅ 实时查看返回结果
🎯 基础使用
🔧 自定义配置
🛡️ 安全配置
🧪 Resources + Tools 集成使用
🔧 高级功能
🏎️ 性能优化
🔀 多应用管理
🛠️ 自定义 Tools
🔧 自定义 Resources
🔐 安全增强
📚 API 参考
🌐 MCP Resources 详解
1. OpenAPI Spec Resource
URI:
openapi://spec描述: 返回完整的 OpenAPI 规范文档
用途: 获取 API 的完整结构信息
2. Endpoints Resources
URI:
openapi://endpoints描述: 返回所有端点的概要信息
用途: 快速浏览 API 端点
3. Models Resources
URI:
openapi://models描述: 返回数据模型信息
用途: 了解数据结构
4. Tags Resources
URI:
openapi://tags描述: 返回标签分组信息
用途: 按功能模块浏览 API
🔧 MCP Tools 详解
1. search_endpoints
功能: 强大的端点搜索和过滤
参数:
query(string): 搜索关键词filters(object): 过滤条件methods(array): HTTP 方法tags(array): 标签
pattern(string): 正则表达式模式
2. generate_examples
功能: 智能生成调用示例
参数:
endpoint_path(string): 端点路径method(string): HTTP 方法formats(array): 输出格式include_parameters(boolean): 是否包含参数示例example_values(object): 自定义示例值
3. validate_request
功能: 请求参数验证
4. analyze_dependencies
功能: API 依赖关系分析
📊 性能指标
缓存性能
系统性能
🤝 贡献指南
我们欢迎各种形式的贡献!
开发环境搭建
提交规范
遵循 Conventional Commits 规范:
📄 许可证
🙏 致谢
📮 联系方式
问题反馈: GitHub Issues
功能建议: GitHub Discussions
注: 本项目当前处于开发阶段,API 可能会有变动。欢迎提前试用并提供反馈!