关于 Llama MCP Streamlit
Llama MCP Streamlit 是一个基于 Streamlit 构建的 AI 助手,可接入 NVIDIA NIM(LLaMa 3.3:70B)或 Ollama 作为大模型后端。它通过 MCP 调用外部工具以获取数据并执行操作,适合希望在本地或自有环境中试用 MCP 工具的开发者。
主要功能
- 01支持 NVIDIA NIM 与 Ollama 两种后端
- 02可通过 .env 文件配置 API 端点与密钥
- 03通过 MCP 实时执行外部工具
- 04基于 Streamlit 的对话界面
- 05提供 Docker 部署方式
适用场景
- 01在本地通过 Ollama 运行 AI 助手并调用文件系统工具
- 02在对话界面中调用 MCP 工具获取实时数据
- 03借助 Docker 快速部署 MCP 助手
MCP 相关
该项目是 MCP 客户端,通过 stdio 启动 NPX 或 Docker 形式的 MCP 服务,例如 @modelcontextprotocol/server-filesystem,并在对话中调用其工具。
详细介绍
Llama MCP Streamlit
这个项目是一个交互式 AI 助手,使用 Streamlit、NVIDIA NIM 的 API (LLaMa 3.3:70b)/Ollama 和 Model Control Protocol (MCP) 构建。它提供了一个对话界面,您可以与大模型交互,通过 MCP 执行实时外部工具、检索数据并无缝执行操作。
该助手支持:
- 自定义模型选择(NVIDIA NIM / Ollama)
- 不同后端的 API 配置
- 通过 MCP 集成工具以增强可用性和实时数据处理
- 使用 Streamlit 提供的用户友好型聊天体验
📸 截图




📁 项目结构
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
🔧 环境变量
运行项目之前,请使用您的 API 密钥配置 .env 文件:
# 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
🚀 运行项目
使用 Poetry
- 安装依赖:
poetry install - 运行 Streamlit 应用:
poetry run streamlit run llama_mcp_streamlit/main.py
使用 Docker
- 构建 Docker 镜像:
docker build -t llama-mcp-assistant . - 运行容器:
docker compose up
🔄 更改 MCP 服务配置
要修改要使用的 MCP 服务,请更新 utils/mcp_server.py 文件。
您可以使用 NPX 或 Docker 作为 MCP 服务:
NPX 服务
server_params = StdioServerParameters(
command="npx",
args=[
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
],
env=None,
)
Docker 服务
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,
)
根据需要修改 server_params 配置以适应您的设置。
📌 功能
- 通过 MCP 实时执行工具
- 大模型驱动的聊天界面
- Streamlit UI 与交互式聊天元素
- 支持多个大模型后端(NVIDIA NIM 和 Ollama)
- Docker 支持便于部署
🛠 依赖项
- Python 3.11+
- Streamlit
- OpenAI API(用于 NVIDIA NIM 集成)
- MCP(Model Control Protocol)
- Poetry(用于依赖项管理)
- Docker(可选,用于容器化部署)
📜 许可证
本项目采用 MIT 许可证。
🤝 贡献
欢迎提交拉取请求或报告问题!
📬 联系方式
如有任何问题,请通过 GitHub Issues 联系。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。