使用说明
使用LlamaIndex构建您自己的本地MCP客户端
构建一个(系统/项目等)的全面演示 本地MCP(模型上下文协议)客户端 使用LlamaIndex。此项目使您能够连接到本地MCP服务器,并通过强大的工具调用代理,使用自然语言与它们进行交互——所有这些操作都在您的本地机器上完全运行。
🚀 概述
这个项目展示了:
- 本地MCP客户端 使用LlamaIndex进行实现
- 工具调用代理 能够与各种MCP服务器进行交互
- 支持多个大型语言模型(LLM)后端 (兼容OpenAI和Ollama)
- SQLite 集成 通过MCP协议进行自然语言数据库查询
- 本地优先架构 确保隐私和离线功能
📋 先决条件
- Python 3.8及以上版本
- 紫外线 包管理器(推荐)
- Ollama(如果使用Ollama后端)
- 本地LLM设置(如果使用OpenAI兼容的本地服务器)
⚡ 快速入门
1. 安装依赖项
uv sync
2. 启动MCP服务器
启动本地 SQLite MCP 服务器:
uv run server.py --server_type=sse
3. 与代理互动
运行后,在终端中输入您的自然语言查询。代理将智能地使用可用工具来回答您的问题。
🛠️ 项目结构
.
├── client.py # OpenAI-compatible client
├── ollama_client.py # Ollama-specific client
├── server.py # MCP server implementation
├── pyproject.toml # Project dependencies
└── README.md # This file
🔧 配置
服务器类型
MCP服务器支持不同的传输协议:
sse- 服务器发送事件(推荐)stdio- 标准输入/输出
环境变量
通过环境变量或直接在客户端文件中进行配置,来设置您的大型语言模型(LLM)端点。
💡 示例用法
一旦一切就绪,你可以提出诸如以下问题:
- “显示数据库中的所有用户”
- “顾客的平均年龄是多少?”
- “查找上周下的订单”
代理将通过MCP协议自动使用可用的SQLite工具来执行这些查询,并返回自然语言的响应。
🔍 它的工作原理
- MCP服务器通过模型上下文协议暴露工具(如SQLite数据库操作)
- MCP 客户端连接到服务器并发现可用工具
- LlamaIndex 代理利用工具调用功能来解析自然语言并执行相应的工具
- **本地大型语言模型(Local LLM)**使用您的本地语言模型处理查询并生成响应
🐛 故障排除
- 在启动客户端之前,请确保您的MCP服务器正在运行
- 验证您的大型语言模型(LLM)端点是否可访问且配置正确
- 检查所有依赖项是否都已安装
uv sync - 对于SQLite问题,请确保数据库文件存在且可访问
🤝 贡献(或参与贡献)
欢迎贡献!请随时提交拉取请求或报告错误和功能需求。
📄 许可证
这个项目是开源的,并且在以下许可下可用 麻省理工学院许可证。
注这个项目旨在用于本地开发和实验,探索MCP协议以及本地大型语言模型(LLM)代理。
