About Llama MCP Streamlit
Llama MCP Streamlit is an AI assistant built with Streamlit that connects to NVIDIA NIM (LLaMa 3.3:70B) or Ollama as its LLM backend. It calls external tools through MCP to retrieve data and perform actions. It suits developers who want to try MCP tools in a local or self-managed setup.
Key features
- 01Supports NVIDIA NIM and Ollama backends
- 02API endpoint and key set through a .env file
- 03Real-time tool execution via MCP
- 04Chat interface built with Streamlit
- 05Docker-based deployment option
Use cases
- 01Running a local assistant with Ollama and filesystem tools
- 02Querying live data through MCP tools inside a chat interface
- 03Deploying an MCP-enabled assistant with Docker
MCP support
This project is an MCP client that launches MCP servers over stdio, using either NPX or Docker, such as @modelcontextprotocol/server-filesystem, and calls their tools during chat.
Details
From the project READMELlama MCP Streamlit
This project is an interactive AI assistant built with Streamlit, NVIDIA NIM's API (LLaMa 3.3:70b)/Ollama, and Model Control Protocol (MCP). It provides a conversational interface where you can interact with an LLM to execute real-time external tools via MCP, retrieve data, and perform actions seamlessly.
The assistant supports:
- Custom model selection (NVIDIA NIM / Ollama)
- API configuration for different backends
- Tool integration via MCP to enhance usability and real-time data processing
- A user-friendly chat-based experience with Streamlit
📸 Screenshots



📁 Project Structure
llama_mcp_streamlit/
│── ui/
│ ├── sidebar.py # UI components for Streamlit sidebar
│ ├── chat_ui.py # Chat interface components
│── utils/
│ ├── agent.py # Handles interaction with LLM and tools
│ ├── mcp_client.py # MCP client for connecting to external tools
│ ├── mcp_server.py # Configuration for MCP server selection
│── config.py # Configuration settings
│── main.py # Entry point for the Streamlit app
.env # Environment variables
Dockerfile # Docker configuration
pyproject.toml # Poetry dependency management
🔧 Environment Variables
Before running the project, configure the .env file with your API keys:
# Endpoint for the NVIDIA Integrate API
API_ENDPOINT=https://integrate.api.nvidia.com/v1
API_KEY=your_api_key_here
# Endpoint for the Ollama API
API_ENDPOINT=http://localhost:11434/v1/
API_KEY=ollama
🚀 Running the Project
Using Poetry
- Install dependencies:
poetry install - Run the Streamlit app:
poetry run streamlit run llama_mcp_streamlit/main.py
Using Docker
- Build the Docker image:
docker build -t llama-mcp-assistant . - Run the container:
docker compose up
🔄 Changing MCP Server Configuration
To modify which MCP server to use, update the utils/mcp_server.py file.
You can use either NPX or Docker as the MCP server:
NPX Server
server_params = StdioServerParameters(
command="npx",
args=[
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
],
env=None,
)
Docker Server
server_params = StdioServerParameters(
command="docker",
args=[
"run",
"-i",
"--rm",
"--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
"--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
"--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
"mcp/filesystem",
"/projects"
],
env=None,
)
Modify the server_params configuration as needed to fit your setup.
📌 Features
- Real-time tool execution via MCP
- LLM-powered chat interface
- Streamlit UI with interactive chat elements
- Support for multiple LLM backends (NVIDIA NIM & Ollama)
- Docker support for easy deployment
🛠 Dependencies
- Python 3.11+
- Streamlit
- OpenAI API (for NVIDIA NIM integration)
- MCP (Model Control Protocol)
- Poetry (for dependency management)
- Docker (optional, for containerized deployment)
📜 License
This project is licensed under the MIT License.
🤝 Contributing
Feel free to submit pull requests or report issues!
📬 Contact
For any questions, reach out via GitHub Issues.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
