← all repositories
OpenBMB/BMTools

BMTools: Python functions as LLM plugins, minus the OpenAI lock-in

BMTools lets language models call external tools and existing ChatGPT-Plugins by wrapping Python functions into a standard, LLM-readable interface.

2.8k stars Python AgentsLanguage Models
BMTools
Not currently ranked — collecting fresh signals.
star history

What it does BMTools is a Python framework that extends language models with external tools. You register Python functions as plugins, and the framework exposes them to the model using an interface compatible with ChatGPT-Plugins. It can also load third-party ChatGPT-Plugins directly by reading their .well-known/ai-plugin.json manifest, letting a model query local code and remote APIs in the same conversation.

The interesting bit The framework recursively chains tools: a parent tool can treat its children as sub-APIs, passing questions down and bubbling results back up. It also converts your function names, docstrings, and Pydantic return types into prompts that steer the model toward the right API, essentially using your type signatures as an instruction manual.

Key highlights

  • Build tools by writing ordinary Python functions with Pydantic schemas; BMTools translates them into an OpenAI-compatible plugin interface.
  • Consume existing ChatGPT-Plugins by pointing to their .well-known/ai-plugin.json URL.
  • Run multiple tools simultaneously with recursive delegation between parent and child APIs.
  • Ships with integrations for Auto-GPT and BabyAGI.
  • The group released ToolBench, a large-scale tool-learning benchmark, and 100k+ SFT training examples.

Caveats

  • The README explicitly redirects new features and further development to XAgent, suggesting this repo is no longer the primary focus.
  • Heavily inspired by LangChain, it positions itself as an open-source academic counterpart to ChatGPT-Plugins rather than a ground-up rethink.

Verdict Academic researchers and self-hosting enthusiasts who need an open, pluggable tool layer for LLMs should evaluate this—though they may want to skip straight to XAgent. If you are already invested in LangChain or OpenAI’s native ecosystem, there is little reason to migrate.

Frequently asked

What is OpenBMB/BMTools?
BMTools lets language models call external tools and existing ChatGPT-Plugins by wrapping Python functions into a standard, LLM-readable interface.
Is BMTools open source?
Yes — OpenBMB/BMTools is open source, released under the Apache-2.0 license.
What language is BMTools written in?
OpenBMB/BMTools is primarily written in Python.
How popular is BMTools?
OpenBMB/BMTools has 2.8k stars on GitHub.
Where can I find BMTools?
OpenBMB/BMTools is on GitHub at https://github.com/OpenBMB/BMTools.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.