MCP演示-MistralAI集成
展示模型上下文协议(MCP)与MistralAI LLM和SQLite数据库操作集成的演示项目。此CLI应用程序通过MCP实现与数据库的自然语言交互。
特性
- 🤖 MistralAI集成:用途
open-mistral-nemo自然语言处理模型 - 💬 交互式CLI:美观的终端界面,格式丰富
- 🔧 直接查询模式:从命令行执行单个查询
- 🗄️ SQLite数据库 (第2阶段):通过MCP进行自然语言数据库操作
- 🛡️ 安全第一:API密钥管理、输入验证和安全的数据库操作
技术栈
- Python 3.13.9:核心语言
- 米斯特拉莱:法学硕士提供者
- SQLAlchemy:数据库ORM(第2阶段)
- 主控程序:用于工具集成的模型上下文协议
- 点击:CLI框架
- 富有的:终端格式和UI
项目结构
mcpdemo/
├── .env # API keys (not committed)
├── .venv/ # Virtual environment
├── cli.py # Main CLI application
├── requirements.txt # Python dependencies
├── pyproject.toml # Project configuration
├── src/
│ ├── __init__.py
│ ├── mistral_client.py # MistralAI client wrapper
│ └── utils.py # Utility functions
├── tests/ # Test suite
└── docs/
├── CLAUDE.md # Development guidelines
└── plans/ # Implementation plans先决条件
- Python 3.13.9或更高版本
- MistralAI API密钥(在 安慰.米斯特拉尔.ai)
安装
1.克隆存储库
git clone
cd mcpdemo2.创建虚拟环境
python3 -m venv .venv3.激活虚拟环境
macOS/Linux:
source .venv/bin/activate窗户:
.venv\Scripts\activate4.安装依赖项
pip install --upgrade pip
pip install -r requirements.txt5.配置环境
创建一个 .env 项目根目录中的文件:
echo "MISTRAL_API_KEY=your_api_key_here" > .env替换 your_api_key_here 使用您的实际MistralAI API密钥。
用法
交互模式
运行不带参数的CLI以进入交互模式:
python cli.py您将看到一个提示,您可以在其中提问:
┌─────────────────────────────────────────────┐
│ # MCP Demo - MistralAI CLI │
│ │
│ Dobrodošli! Postavite pitanje ili unesite │
│ 'exit' za izlaz. │
└─────────────────────────────────────────────┘
Vaše pitanje: What is the capital of France?键入退出 exit, quit, q,或按 Ctrl+C.
直接查询模式
从命令行执行单个查询:
python cli.py "What is the capital of France?"高级选项
# Use different model
python cli.py --model open-mistral-7b "Your question"
# Adjust temperature (creativity)
python cli.py --temperature 0.9 "Your question"
# Limit response tokens
python cli.py --max-tokens 500 "Your question"
# Enable debug logging
python cli.py --debug "Your question"查看帮助
python cli.py --help配置
环境变量
创建一个 .env 包含以下变量的文件:
# Required
MISTRAL_API_KEY=your_api_key_here
# Optional (Phase 2)
DATABASE_URL=sqlite:///./data/demo.db
LOG_LEVEL=INFO
MAX_QUERY_ROWS=1000
ENABLE_DEBUG=false模型配置
支持的型号:
open-mistral-nemo(默认)-平衡性能open-mistral-7b-快速、轻便mistral-small-latest-小但有能力mistral-large-latest-最强大
发展
安装开发依赖项
pip install -r requirements.txt这包括:
pytest-测试框架black-代码格式化程序ruff-林特尔mypy-类型检查器
运行测试
pytest代码格式化
# Format code
black src/ tests/ cli.py
# Check linting
ruff check src/ tests/ cli.py
# Type checking
mypy src/项目指南
看 docs/CLAUDE.md 详细的开发指南包括:
- 代码风格和惯例
- Git工作流
- 安全指南
- 文件标准
第2阶段-MCP集成(即将推出)
第二阶段将增加:
- 带有示例数据的SQLite数据库
- 用于数据库操作的MCP服务器
- 自然语言数据库查询
- 通过MCP工具进行CRUD操作
- 统计分析工具
例子
交互式会话
$ python cli.py
Vaše pitanje: Explain quantum computing in simple terms
┌─────────────────────── Odgovor ───────────────────────┐
│ Quantum computing uses quantum mechanics principles... │
└───────────────────────────────────────────────────────┘
Vaše pitanje: exit
Doviđenja!直接查询
# Simple query
$ python cli.py "What is Python?"
# With options
$ python cli.py --temperature 0.3 --model open-mistral-7b "Explain Docker"故障排除
找不到API密钥
错误: MISTRAL_API_KEY not found in environment
解决方案:
- 检查一下
.env文件存在于项目根目录中 - 验证文件是否包含
MISTRAL_API_KEY=your_key - 确保从项目根目录运行
导入错误
错误: ModuleNotFoundError: No module named 'mistralai'
解决方案:
# Activate virtual environment
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt连接错误
错误: 连接超时或API错误
解决方案:
- 检查您的互联网连接
- 在验证您的API密钥是否有效 安慰.米斯特拉尔.ai
- 检查MistralAI服务状态
贡献
欢迎投稿!请遵循以下指南:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'feat: add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
看 docs/CLAUDE.md 详细的贡献指南。
许可证
\[在此处添加您的许可证\]
致谢
路线图
- \[x\] 第一阶段:集成MistralAI的基本CLI
- \[\]第2阶段:SQLite数据库集成
- \[\]第2阶段:MCP服务器实施
- \[\]第2阶段:数据库工具(查询、插入、更新、删除)
- \[\]第2阶段:统计分析工具
- \[\]第3阶段:高级功能(流媒体、对话历史)
联系
如有疑问或问题,请在GitHub上打开问题。
______________________________________________________________________
当前版本: 0.1.0(第一阶段)
