Clinical reasoning agent powered by OpenMedicine — fangs of the healing serpent
Project description
Fangbot
Clinical reasoning agent powered by OpenMedicine — fangs of the healing serpent.
This is NOT a diagnostic tool — it is a research platform for validating LLM-based clinical tool orchestration.
What it does
Fangbot connects to the OpenMedicine MCP server to perform deterministic, auditable clinical calculations via a ReAct (Reasoning + Acting) loop. It supports multiple LLM providers for benchmarking.
Critical constraint: The agent always calls OpenMedicine's MCP tools for clinical calculations — it never computes scores from its own knowledge.
Install
# Recommended: install as a global CLI tool
pipx install fangbot
# Or with uv
uv tool install fangbot
# With OpenAI support
pipx install "fangbot[openai]"
Quick start
# Interactive setup — configure provider, API key, test MCP connection
fangbot init
# Start a clinical reasoning session
fangbot chat
Usage
fangbot init # First-time setup wizard
fangbot chat # Interactive clinical reasoning session
fangbot run studies/config.yaml # Batch evaluation (Phase 2)
fangbot report studies/results/ # Generate comparison report (Phase 2)
Chat commands
Inside fangbot chat, use slash commands:
| Command | Description |
|---|---|
/help |
Show all commands |
/status |
Current provider, model, session info |
/claude [model] |
Switch to Claude |
/openai [model] |
Switch to OpenAI |
/model [name] |
Interactive model picker |
/models |
List all available models |
/clear |
Clear conversation history |
/history |
Show message count and tool calls |
/compact |
Compress conversation history |
quit |
End the session |
Configuration
Fangbot stores config in ~/.fangbot/:
~/.fangbot/
├── .env # API keys and settings
└── logs/ # JSONL audit trail
Environment variables (prefix FANGBOT_):
| Variable | Default | Description |
|---|---|---|
FANGBOT_PROVIDER |
claude |
LLM provider (claude, openai) |
FANGBOT_MODEL |
claude-sonnet-4-20250514 |
Model to use |
ANTHROPIC_API_KEY |
— | Anthropic API key |
OPENAI_API_KEY |
— | OpenAI API key |
Supported providers
| Provider | Models | Status |
|---|---|---|
| Anthropic Claude | Opus 4.6, Sonnet 4.6, Haiku 4.5, Sonnet 4, Opus 4 | Supported |
| OpenAI | GPT-5, GPT-4o, GPT-4.1, o3, o4-mini | Supported |
| Google Gemini | — | Planned |
| Ollama (local) | — | Planned |
Architecture
Gateway (CLI) → Brain (ReAct loop) → Skills (MCP tools) → Memory (audit trail)
- Gateway — CLI interface with typer + rich
- Brain — ReAct loop engine, LLM providers, clinical guardrails
- Skills — MCP client connecting to OpenMedicine server via stdio
- Memory — Session context, JSONL audit logger
Development
See CONTRIBUTING.md for development setup and guidelines.
git clone https://github.com/RamosFBC/fangbot.git
cd fangbot
uv sync --extra dev --extra openai
uv run python -m pytest -v
License
MIT — Copyright (c) 2026 RamosFBC
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fangbot-0.1.0.tar.gz.
File metadata
- Download URL: fangbot-0.1.0.tar.gz
- Upload date:
- Size: 37.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a5ab48472c577579d22a7b2592ff85923cb584507bb5749bfc3d9beb3fcc5ba
|
|
| MD5 |
eec57d79fb6304013e732d1c0e31ebda
|
|
| BLAKE2b-256 |
7191936347bafe24e5c8b64bd5330c426a90e9ced291f0c878b16f6b6deeb118
|
File details
Details for the file fangbot-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fangbot-0.1.0-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18c7eafc2cb4a5f91909a8e1c64af692ce15132288a002658b63d24a68ccafe8
|
|
| MD5 |
b024022818fe6f736e675add5478a860
|
|
| BLAKE2b-256 |
c48a66b5cc4510f2c1aff6c2e94a9fc047cf8fa80428276c4ea6bd33170c7963
|