Skip to main content

LLM工具调用框架,同时提供 HTTP API 和 MCP Server 两种接入方式

Project description

llm-toolforge

用语大模型的工具的框架,同时提供 HTTP API(FastAPI)和 MCP Server(SSE transport)两种接入方式。


快速开始

安装框架

pip install llm-toolforge

# 如果是克隆的代码安装,则在根目录执行
pip install -e .

# 验证
toolforge --help

安装示例工具环境

cd examples
pip install -r requirements.txt
  • 编辑示例工具的配置文件
cp config.example.yaml config.yaml
# 根据注释填写配置即可
  • 运行:
toolforge run

打开页面http://localhost:12345进行测试。

部署

toolforge new project 会在项目目录下生成 Dockerfile

docker build -t llm-toolforge-example:v0.1.0 .

docker run --rm \
  -v "$(pwd)/config.yaml:/app/config.yaml" \
  -e SERVICE_NAME=llm-toolforge-example \
  -p 12345:12345 \
  -p 12346:12346 \
  llm-toolforge-example:v0.1.0

同一套基础设施(Redis / MySQL)跑多个 toolset 时,必须为每个 Deployment 设置唯一的 SERVICE_NAME,否则日志、统计、心跳会串在一起。

优先级:环境变量 > config.yaml,两者都缺失时启动直接报错。

方式 1(推荐):环境变量

env:
  - name: SERVICE_NAME
    value: my-toolset
  - name: SERVICE_VERSION
    value: v1.0.0

方式 2:config.yaml

service:
  name: my-toolset
  version: v1.0.0

框架安装说明

一条命令即可安装全部组件(日志后端、对象存储等都已默认包含):

pip install llm-toolforge

默认包含的可选后端:

  • 日志后端(与 config.yaml 的 logging.storage 对应):MySQL(aiomysql)、SQLite(aiosqlite)、Redis(redis,心跳 / 实时流 / 统计缓存)
  • 对象存储(工具上传文件时用):阿里云 OSS(oss2)、腾讯云 COS(cos-python-sdk-v5

旧的 pip install llm-toolforge[all] 等命令仍可用,extra 现已为空别名,效果与直接安装一致。

框架命令

toolforge new project my-app   # 创建 ./my-app/ 并生成项目初始文件
toolforge new project .        # 在当前目录初始化项目(目录已存在时使用)
toolforge new tool <name>      # 在 tools/<name>/ 下生成工具骨架
toolforge list                 # 列出已发现的工具(确认插件加载正常)
toolforge run                  # 启动 HTTP API(默认 :12345)+ MCP SSE(默认 :12346)
toolforge run --api-only       # 只启动 HTTP API
toolforge run --mcp-only       # 只启动 MCP SSE 服务
toolforge run -c path/cfg.yaml # 指定配置文件路径

文档

文档 内容
工具开发指南 从零创建工具 + Generator / Plugin / InputField 完整说明
接口参考 HTTP API / MCP 协议
运行观测 日志 / 统计 / 负载监控 / 并发调优

环境变量

少量字段可由环境变量覆盖(优先级高于 config.yaml):

变量 覆盖字段
SERVICE_NAME service.name
SERVICE_VERSION service.version

K8s 多实例部署时推荐通过 Deployment 注入 SERVICE_NAME,避免镜像里写死。


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_toolforge-0.5.0.tar.gz (6.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_toolforge-0.5.0-py3-none-any.whl (6.4 MB view details)

Uploaded Python 3

File details

Details for the file llm_toolforge-0.5.0.tar.gz.

File metadata

  • Download URL: llm_toolforge-0.5.0.tar.gz
  • Upload date:
  • Size: 6.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for llm_toolforge-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f2ac23b5776486e7c37e178e8956b587d95d7ca939bf19ae68e6949c138a8847
MD5 1ed75fac6448fdb6cb28593902cf1a82
BLAKE2b-256 600d5b495ec4a33abb84c6533a664cb22d88b6a9c991391bb831505b9134ec86

See more details on using hashes here.

File details

Details for the file llm_toolforge-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: llm_toolforge-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for llm_toolforge-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72cd355b390a8673a1035b53d47dba48af7112844f47dac31a868c7af1abd34e
MD5 104296ab38944a5ecc0e47482cb33c5a
BLAKE2b-256 d1952102c085debaafa6e00f641c319c5c2f86c8322cb5d53fb8adabb5fcdd37

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page