奥拉玛→ Linux MCP桥
一个基于网络的聊天界面,将Ollama LLM与Linux MCP(模型上下文协议)服务器连接起来,使人工智能模型能够通过安全的API在远程Linux系统上执行shell命令。
注意:此自述文件是使用LLM生成的。
特性
- 🤖 用于与Ollama模特互动的聊天界面
- 🔧 执行Linux命令的工具调用支持
- 💬 带有思维指标的实时流式响应
- 🎨 现代、基于渐变的深色用户界面
- 📝 人工智能响应的Markdown渲染
- 🔄 自动命令执行和结果轮询
建筑
这座桥由三个主要部分组成:
- 快递服务器 (server.js)-处理API请求并协调Ollama和Linux MCP之间的通信
- React用户界面 (ui src/App.jsx)-提供聊天界面
- Linux MCP服务器 -在任何安装的地方执行shell命令
先决条件
- Node.js(建议使用v18或更高版本)
- Ollama服务器使用您喜欢的型号运行
- Linux MCP服务器正在运行且可访问
- Linux MCP服务器的API密钥
安装
- 克隆存储库:
git clone
cd mcp-bridge- 安装依赖项:
npm install- 创建一个
.env文件基于 .env.本地:
cp .env.local .env- 在中配置环境变量
.env:
OLLAMA_API=http://localhost:11434
OLLAMA_MODEL_NAME=gpt-oss:20b
LINUX_HTTP=http://127.0.0.1:5379
LINUX_API_KEY=your-api-key-here
PORT=3000配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
OLLAMA_API | Ollama服务器的URL | http://localhost:11434 |
OLLAMA_MODEL_NAME | 要使用的Olama模型的名称 | gpt-oss:20b |
LINUX_HTTP | Linux MCP服务器的URL | http://127.0.0.1:5379 |
LINUX_API_KEY | 用于Linux MCP身份验证的API密钥 | _(必填)_ |
PORT | 网桥服务器的端口 | 3000 |
用法
发展
- 构建UI:
npm run build:ui- 启动服务器:
npm start- 打开浏览器
http://localhost:3000
观看模式(用于UI开发)
在监视模式下运行UI构建器进行实时重新加载:
npm run watch:ui然后在另一个终端中:
npm start运作原理
- 用户在聊天界面输入提示
- 使用可用的工具(shell命令执行)将提示发送到Ollama API
- 如果模型决定使用工具:
- 该命令在Linux MCP服务器上排队 - 大桥对指挥结果进行投票 - 结果将发送回Ollama - Ollama根据命令输出生成最终响应
- 响应实时流式传输回UI
API终点
发布 /api/ask
聊天完成的非流式端点。
请求:
{
"prompt": "Delete every temp/thumbnail files store in the Home folder (~/)"
}发布 /api/ask-stream
具有实时响应更新的流式端点。
请求:
{
"prompt": "List files in the current directory"
}UI组件
- 聊天区 -显示包含用户和助手消息的对话历史记录
- 思维指标 -显示模型何时正在处理(使用微调器)
- 输入栏 -用于输入提示的文本区域
- 工具栏 -清除并下载JSON按钮(UI占位符)
样式
UI使用中定义的自定义深色主题 ui src/styles.css 与:
- 渐变背景
- 青色强调色(
#2dd4bf) - 移动设备的响应式设计
- 聊天气泡布局
安全说明
⚠️ 重要:始终设置 LINUX_API_KEY 在生产环境中。如果未设置,服务器将警告您。
开发工具
- ESLint -配置于 eslint.config.mjs
- 更漂亮 -在中配置的代码格式 更漂亮
- esbuild -React UI的快速捆绑
故障排除
“警告:未设置LINUX_API_KEY”
设置 LINUX_API_KEY 您的环境变量 .env 文件。
模型没有响应
- 确认Ollama正在运行:
curl http://localhost:11434/api/tags - 检查中的型号名称
.env匹配已安装的型号
命令未执行
- 确保Linux MCP服务器可以在配置的URL上访问
- 验证API密钥是否正确
- 检查Linux MCP服务器日志
