feat: add comprehensive README with installation, configuration, and usage instructions
This commit is contained in:
102
README.md
102
README.md
@@ -0,0 +1,102 @@
|
||||
# Streamlit Chat App with MCP Integration
|
||||
|
||||
A powerful chat application built with Streamlit that integrates with OpenAI's API and Model Context Protocol (MCP) for enhanced tool capabilities.
|
||||
|
||||
## Features
|
||||
|
||||
- 💬 Interactive chat interface with Streamlit
|
||||
- 🧠 OpenAI API integration with model selection
|
||||
- 🛠️ MCP server management and tool integration
|
||||
- ⚡ Both streaming and non-streaming response modes
|
||||
- 🔄 Automatic tool discovery and invocation
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://git.bhakat.dev/abhishekbhakat/mcpapp.git
|
||||
cd mcpapp
|
||||
```
|
||||
|
||||
2. Create and activate a virtual environment:
|
||||
```bash
|
||||
python -m venv venv
|
||||
source venv/bin/activate # On Windows use `venv\Scripts\activate`
|
||||
```
|
||||
|
||||
3. Install dependencies:
|
||||
```bash
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
1. Copy the sample config files:
|
||||
```bash
|
||||
cp config/sample_config.ini config/config.ini
|
||||
cp config/sample_mcp_config.json config/mcp_config.json
|
||||
```
|
||||
|
||||
2. Edit `config/config.ini` with your OpenAI API key and preferences:
|
||||
```ini
|
||||
[openai]
|
||||
api_key = your_api_key_here
|
||||
base_url = https://api.openai.com/v1
|
||||
model = gpt-3.5-turbo
|
||||
|
||||
[dolphin-mcp]
|
||||
servers_json = config/mcp_config.json
|
||||
```
|
||||
|
||||
3. Configure MCP servers in `config/mcp_config.json`:
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"example-server": {
|
||||
"command": "uvx",
|
||||
"args": ["mcp-server-example"],
|
||||
"env": {
|
||||
"API_KEY": "your-api-key"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Start the application:
|
||||
```bash
|
||||
streamlit run src/app.py
|
||||
```
|
||||
|
||||
The app will be available at `http://localhost:8501`
|
||||
|
||||
## Architecture
|
||||
|
||||
Key components:
|
||||
- `src/app.py`: Main Streamlit application
|
||||
- `src/openai_client.py`: OpenAI API client with MCP integration
|
||||
- `src/mcp_manager.py`: Synchronous wrapper for MCP server management
|
||||
- `src/custom_mcp_client/`: Custom MCP client implementation
|
||||
|
||||
## Development
|
||||
|
||||
### Running Tests
|
||||
```bash
|
||||
pytest
|
||||
```
|
||||
|
||||
### Code Formatting
|
||||
```bash
|
||||
ruff check . --fix
|
||||
```
|
||||
|
||||
### Building
|
||||
```bash
|
||||
python -m build
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT License - See [LICENSE](LICENSE) for details.
|
||||
|
||||
Reference in New Issue
Block a user