关于 🦅 Saqr-MCP
Saqr-MCP 是一款 Python MCP 应用,可交互使用 Ollama 本地模型或 Groq 云端模型。其服务端提供网页搜索、文档生成、记忆管理和会话推理记录工具。
主要功能
- 01支持 Ollama 与 Groq 模型
- 02Tavily 网页搜索
- 03从 Markdown 生成 Word 文档
- 04mem0 记忆存储与搜索
- 05会话思路记录与统计
适用场景
- 01搜索最新网页信息
- 02根据 Markdown 创建 Word 文件
- 03按类型保存和检索记忆
- 04记录并回顾会话中的推理
MCP 相关
应用包含适用于 Ollama 或 Groq 的 MCP 客户端,以及提供搜索、文档、记忆和推理工具的 MCP 服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🦅 Saqr-MCP
Saqr-MCP 是一个功能强大的 Python 应用程序,通过实现模型上下文协议(MCP)来提供高级 AI 助手能力。它支持通过 Ollama 使用本地模型,也支持通过 Groq 使用云端模型,并提供灵活的客户端-服务端架构。服务端组件提供丰富的工具集,包括网络搜索、记忆管理、文档生成和高级推理能力。
✨ 功能
- 🤖 用于查询模型的交互式聊天界面
- 🔄 支持本地模型(Ollama)和云端模型(Groq)
- 🔍 使用 Tavily API 实现高级网络搜索功能
- 📝 根据 Markdown 内容生成 Word 文档
- 🧠 使用 mem0 实现全面的记忆管理系统
- 💭 高级推理和思维过程跟踪
- ⚡ 异步架构,实现高效处理
- 🎨 视觉加载动画,提升用户体验
- 📊 基于会话的思维记录和分析
- 📄 支持 Markdown 的文档生成
📋 前置条件
🚀 安装
-
克隆此仓库:
git clone https://github.com/ahmedhassan456/Saqr-MCP.git cd saqr-mcp -
创建并激活虚拟环境(可选,但推荐):
uv venv # On Windows .venv\Scripts\activate # On Unix or MacOS source venv/bin/activate -
安装依赖:
uv add -r requirements.txt -
设置环境变量:
💻 使用方法
-
使用本地模型时,请确保 Ollama 正在运行,并且已提供所选模型
-
配置客户端:
- 默认情况下,应用使用 Ollama 客户端(
from src.ollama_client import SaqrMCPClient) - 若要改用 Groq,请修改
main.py,使用from src.groq_client import SaqrMCPClient
- 默认情况下,应用使用 Ollama 客户端(
-
运行客户端:
python main.py -
在交互式控制台中输入查询:
MCP Client Started! Type your queries or 'quit' to exit. Query: -
输入
quit退出应用程序
📁 项目结构
- 📄
main.py- 启动 MCP 客户端的入口文件 - 📂
src/- 🔄
ollama_client.py- Ollama 模型的 MCP 客户端实现 - ⚡
groq_client.py- Groq 模型的 MCP 客户端实现 - 🛠️
server.py- 实现所有工具的 MCP 服务 - 📝
logger.py- 带有视觉动画的自定义日志工具
- 🔄
🛠️ 可用工具
该服务实现了一套全面的工具,可提供各种功能:
🔍 网络搜索和文档生成
- web_search:使用 Tavily API 执行实时网络搜索,获取最新信息
- word_file_generator:根据 Markdown 内容创建格式规范的 Microsoft Word 文档
🧠 记忆管理
- add_memory:将指定类型和内容的新记忆存储到 mem0
- get_all_memories:检索所有已存储的记忆,可按类型筛选
- search_memories:对已存储的记忆进行语义搜索,以查找相关信息
💭 推理与思考过程
- think:记录复杂问题解决过程中的想法和推理过程
- get_thoughts:获取当前会话中记录的所有想法
- clear_thoughts:清除当前会话中记录的所有想法
- get_thought_stats:提供已记录想法的详细统计信息
⚙️ 环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
🔑 OLLAMA_MODEL_NAME | 要使用的 Ollama 模型名称(例如,qwen3:1.7b) | 无 |
🔍 TAVILY_API_KEY | 用于网页搜索功能的 Tavily API 密钥 | 无 |
⚡ GROQ_MODEL_NAME | 要使用的 Groq 模型名称 | 无 |
🔐 GROQ_API_KEY | 用于访问云端模型的 Groq API 密钥 | 无 |
🧠 MEM0_API_KEY | 用于内存管理的 Mem0 API 密钥 | 无 |
📦 依赖项
- 🔄
mcp[cli]- Model Context Protocol 实现 - 🌐
httpx- 用于 Python 的 HTTP 客户端 - 📝
loguru- 简化 Python 日志记录 - ⚡
groq- Groq API 客户端 - 🦙
ollama- 用于访问本地模型的 Ollama 接口 - 🔍
tavily-python- 专为 AI Agent 设计的搜索引擎 - 🚀
fastapi- 用于构建 API 的 Web 框架 - ⚡
uvicorn- ASGI 服务实现 - 📄
htmldocx- HTML 转 DOCX 转换器 - 🔍
duckduckgo-search- 搜索引擎集成 - 📄
python-docx- DOCX 文件处理 - 📝
markdown- Markdown 处理 - 🧠
mem0- 内存管理系统
📄 许可证
🤝 贡献
欢迎贡献!欢迎提交 Pull Request。
- 🍴 Fork 此仓库
- 🌿 创建功能分支(
git checkout -b feature/amazing-feature) - 💾 提交更改(
git commit -m 'Add some amazing feature') - 📤 将分支推送到远程仓库(
git push origin feature/amazing-feature) - 🔄 发起 Pull Request
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。