AI工具服务框架

一个用于构建AI工具服务的生产级框架,支持显式工具注册、类型化请求/响应契约和确定性JSON I/O,适用于FastAPI环境。

  • by aimlsolutions-nyc
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 aimlsolutions-nyc/mcp-fastmcp-starter

使用说明

一个最小的、以生产为导向的MCP形状的工具服务器脚手架,用于构建具有类型化工具契约、显式调用语义和确定性JSON I/O的代理AI服务,通过FastAPI提供服务。此项目提供了一个可运行的启动器,用于以MCP样式的模式将工具暴露给代理运行时:

显式工具注册表
机器可读输入模式
键入请求/响应合同
确定性调用表面
清洁的生命周期和错误处理
可测试且CI已验证

服务器公开了三个核心HTTP表面
客户端/代理运行时 | |GET/工具→ 发现可用的工具+模式 |POST/调用→ 使用键入的JSON参数调用工具 |获取/健康z→ 活性判别 | FastAPI运行时 | 类型验证(Pydantic) | 工具执行 | 结构化JSON结果或错误

工具定义
一个稳定的名字 人类可读的描述 机器可读的输入模式 严格键入的输出形状

工具包括
sayHello–返回带有时间戳的问候语 reverse–反转输入文本并返回元数据

在本地运行
创建并激活虚拟环境:
python-m venv.venv
source.ven/bin/activate
pip安装-U pip
pip安装-e“.[dev]”

启动服务器
./scripts/run_local.sh

健康检查
卷曲http://127.0.0.1:8000/healthz

列出可用工具(包括模式)
卷曲http://127.0.0.1:8000/tools|python-m json.tool

调用工具
卷曲http://127.0.0.1:8000/invoke \ -H'内容类型:应用程序/json'\ d
“tool”:“sayHello”,
“args”:{“name”:“Dennis”},
“trace_id”:“demo-1”
}'|python-m json.tool

测试
python-m pytest-q

测试套件验证
工具发现
输入验证
调用成功
未知工具的错误行为

GitHub操作工作流
依赖项安装
用Ruff打闹
通过pytest提供完整的测试套件