A comprehensive medical research and analysis platform with specialized agent-based reasoning capabilities.
Novion is a medical research and analysis platform with a sophisticated multi-agent system using LangChain, enhanced with MCP (Model Context Protocol) tools and a flexible chat interface.
- Comprehensive chat interface in
chat_interface.py - Supports multiple LLM providers (OpenAI and Google)
- Streaming chat responses
- Direct tool execution via chat commands
- Specialized agent-based reasoning with chain-of-thought explanation
Novion implements a team of specialized agents with chain-of-thought reasoning:
- Pharmacist Agent: Expert in medication management, drug interactions, and pharmaceutical care
- Researcher Agent: Specialist in clinical trials, research methodologies, and evidence-based medicine
- Medical Analyst Agent: Focused on analyzing patient data, diagnostic information, and treatment outcomes
All agents show their detailed reasoning process within <think></think> tags before providing final recommendations.
- MCP installer in
mcp/installer.py - Flexible tool execution system
- Dynamic MCP server installation
- Tool discovery and help functionality
/chat: Direct LLM interaction/chat/stream: Streaming chat responses/tools/execute: Direct MCP tool execution/tools: List available tools/mcp/install: Install new MCP servers
- Python 3.8+
- Node.js (for MCP tools)
- npm/npx
- Clone the repository
- Install Python dependencies:
pip install -r requirements.txt - Set up environment variables in
.env.local
python backend/server.pyFor a simplified demo without external dependencies:
python simple_server.pyUse the test_client.py script to test server functionality:
python test_client.pyOr run specific tests:
python test_client.py tools # Test the tools endpoint
python test_client.py chat "Hello" # Test basic chat
python test_client.py ask pharmacist "What are common side effects of ibuprofen?" # Test specialized agents
python test_client.py tool list_fhir_resources # Test a specific toolThe system includes a simple web-based chat interface for interacting with the LLM and MCP tools.
- Access at:
http://localhost:8000/ - Supports: Tool execution, agent consultation, streaming responses
Use the installer API or chat command:
/tool install_mcp_server server_name=package_name args=comma,separated,list env=KEY1=VAL1,KEY2=VAL2
Extend the agents in chat_interface.py by adding new system messages and agent types.
backend/: Core server functionalitychat_interface.py: Main chat interface with LLM integrationserver.py: FastAPI server with API endpointsmcp/: MCP integration modulesinstaller.py: MCP server installation managementclient.py: Novion MCP client implementationfhir_server.py: FHIR MCP server implementation
frontend/: User interface componentschat_ui.html: Web-based chat interface
simple_server.py: Simplified demo servertest_client.py: API testing client
Proprietary - All Rights Reserved
.png?raw=true)