Skip to main content

Clinical reasoning agent powered by OpenMedicine — fangs of the healing serpent

Project description

Fangbot

PyPI version Python 3.10+ License: MIT CI

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

fangbot-0.1.0.tar.gz (37.0 kB view details)

Uploaded Source

Built Distribution

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

fangbot-0.1.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

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

Hashes for fangbot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1a5ab48472c577579d22a7b2592ff85923cb584507bb5749bfc3d9beb3fcc5ba
MD5 eec57d79fb6304013e732d1c0e31ebda
BLAKE2b-256 7191936347bafe24e5c8b64bd5330c426a90e9ced291f0c878b16f6b6deeb118

See more details on using hashes here.

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

Hashes for fangbot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18c7eafc2cb4a5f91909a8e1c64af692ce15132288a002658b63d24a68ccafe8
MD5 b024022818fe6f736e675add5478a860
BLAKE2b-256 c48a66b5cc4510f2c1aff6c2e94a9fc047cf8fa80428276c4ea6bd33170c7963

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