Name | mo-mcp JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | 智能命令行助手 - 基于通义千问的 MCP 协议多工具集成平台 |
upload_time | 2025-08-15 14:28:51 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT |
keywords |
ai
cli
command-line
mcp
qwen
tools
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
---
slug: 基于通义千问的 MCP 协议多工具集成平台,支持自然语言交互。
title: MoMCP - 智能命令行助手
authors: [AndyJin]
tags: [Python,MCP]
---
基于通义千问的 MCP 协议多工具集成平台,支持自然语言交互。
<!-- truncate -->
## 🖥️ 跨平台支持
### 系统要求
- **macOS**: 10.14+ (Mojave)
- **Windows**: 10/11
- **Linux**: Ubuntu 18.04+, CentOS 7+, 等主流发行版
## 🚀 快速开始
### 1. 安装
```bash
# 从 PyPI 安装(推荐)
pip install mo-mcp
```
### 2. 配置 API Key
```bash
# 使用 PyPI 安装的版本
momcp --setup
# 或者源码版本
python src/mcpai.py --setup
```
### 3. 运行程序
```bash
# 使用 PyPI 安装的版本
momcp "你好,帮我搜索一下Python教程"
momcp # 进入交互模式
# 或者源码版本
python src/mcpai.py "你好,帮我搜索一下Python教程"
python src/mcpai.py # 进入交互模式
```
## 🔧 功能特性
- **自然语言交互**: 支持中文对话
- **多工具集成**: 文件系统、网络搜索、数据分析等
- **跨平台兼容**: 自动识别操作系统
- **Markdown 渲染**: 美观的输出格式
- **连续对话**: 支持上下文记忆
## 📁 配置文件
配置文件位置:
- **macOS/Linux**: `~/.mcp/config.json`
- **Windows**: `%USERPROFILE%\.mcp\config.json`
## 🎯 使用技巧
### 基础命令
- 输入 `/help` 查看帮助
- 输入 `/config` 进入配置菜单
- 输入 `/clear` 清空对话历史
- 使用 `Ctrl+C` 退出程序
### 实际使用场景
```bash
# 文件管理
momcp "帮我整理 ~/Downloads 目录,按文件类型分类"
momcp "查找 ~/Documents 中包含 'TODO' 的所有文件"
momcp "列出 ~/Desktop 目录下的所有文件"
momcp "在项目中搜索所有包含 'bug' 的代码文件"
# 网络搜索
momcp "用 Bing 搜索 'Python 异步编程最佳实践'"
momcp "用百度搜索 'React 18 新特性' 的相关信息"
# 数据分析
momcp "分析 ~/Desktop/data.xlsx 文件,生成销售数据摘要"
momcp "合并 ~/data 目录下所有的用户数据 CSV 文件"
# 代码检查
momcp "检查当前目录的代码项目结构"
momcp "分析 ~/projects/webapp 目录下的代码文件类型分布"
```
## 🔍 支持的工具
### 文件系统工具
- **`fsx.list_dir`**: 列出目录内容
```bash
momcp "列出 ~/Desktop 目录下的所有文件"
momcp "查看当前工作目录下有什么文件"
```
- **`fsx.glob`**: 按模式匹配文件
```bash
momcp "查找 ~/Documents 目录下所有的 .pdf 文件"
momcp "搜索当前目录中所有以 'test' 开头的文件"
```
- **`fsx.read_text`**: 读取文本文件
```bash
momcp "读取 ~/Desktop/notes.txt 文件内容"
momcp "查看 README.md 文件的前1000个字符"
```
- **`fsx.search`**: 在文件中搜索文本
```bash
momcp "在 ~/Documents 目录中搜索包含 'TODO' 的所有文件"
momcp "查找当前项目中所有包含 'bug' 或 'fix' 的代码文件"
```
- **`fsx.organize_by_type`**: 按文件类型整理目录
```bash
momcp "整理 ~/Downloads 目录,按文件扩展名分类到子文件夹"
momcp "将当前目录下的文件按类型整理,图片、文档、代码分别放不同文件夹"
```
### 网络搜索工具
- **`websearch.search`**: 多引擎搜索(推荐)
```bash
momcp "搜索 'Python 机器学习教程'"
momcp "用 Bing 搜索 '如何学习 Rust 编程'"
momcp "用百度搜索 '最新的人工智能发展'"
```
- **`web.search`**: 基础网页搜索(备用方案)
```bash
momcp "用 DuckDuckGo 搜索 'Docker 容器化最佳实践'"
momcp "搜索 'React 18 新特性'"
```
### 数据分析工具
- **`data.csv_merge`**: 合并 CSV 文件
```bash
momcp "合并 ~/data 目录下所有的 sales_*.csv 文件"
momcp "将多个用户数据 CSV 文件合并,只保留 name 和 email 列"
```
- **`data.excel_summary`**: Excel 数据分析
```bash
momcp "分析 ~/Desktop/sales.xlsx 文件,生成数据摘要"
momcp "查看财务数据表格的统计信息,包括平均值和标准差"
```
### 代码检查工具
- **`code.quick_inspect`**: 代码项目检查
```bash
momcp "检查 ~/projects/myapp 目录下的代码文件类型和数量"
momcp "分析当前目录的代码项目,统计各种编程语言文件数量"
```
## �� 许可证
MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "mo-mcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ai, cli, command-line, mcp, qwen, tools",
"author": null,
"author_email": "Andy Jin <2358155969@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/5e/0e/5b72e29268809a06c4e7a7c013da797dc9b0dcb7e3091c17b5b0ba952f20/mo_mcp-0.1.1.tar.gz",
"platform": null,
"description": "---\nslug: \u57fa\u4e8e\u901a\u4e49\u5343\u95ee\u7684 MCP \u534f\u8bae\u591a\u5de5\u5177\u96c6\u6210\u5e73\u53f0\uff0c\u652f\u6301\u81ea\u7136\u8bed\u8a00\u4ea4\u4e92\u3002\ntitle: MoMCP - \u667a\u80fd\u547d\u4ee4\u884c\u52a9\u624b\nauthors: [AndyJin]\ntags: [Python,MCP]\n---\n\n\u57fa\u4e8e\u901a\u4e49\u5343\u95ee\u7684 MCP \u534f\u8bae\u591a\u5de5\u5177\u96c6\u6210\u5e73\u53f0\uff0c\u652f\u6301\u81ea\u7136\u8bed\u8a00\u4ea4\u4e92\u3002\n\n<!-- truncate -->\n\n## \ud83d\udda5\ufe0f \u8de8\u5e73\u53f0\u652f\u6301\n\n### \u7cfb\u7edf\u8981\u6c42\n- **macOS**: 10.14+ (Mojave)\n- **Windows**: 10/11\n- **Linux**: Ubuntu 18.04+, CentOS 7+, \u7b49\u4e3b\u6d41\u53d1\u884c\u7248\n\n## \ud83d\ude80 \u5feb\u901f\u5f00\u59cb\n\n### 1. \u5b89\u88c5\n```bash\n# \u4ece PyPI \u5b89\u88c5\uff08\u63a8\u8350\uff09\npip install mo-mcp\n```\n\n### 2. \u914d\u7f6e API Key\n```bash\n# \u4f7f\u7528 PyPI \u5b89\u88c5\u7684\u7248\u672c\nmomcp --setup\n\n# \u6216\u8005\u6e90\u7801\u7248\u672c\npython src/mcpai.py --setup\n```\n\n### 3. \u8fd0\u884c\u7a0b\u5e8f\n```bash\n# \u4f7f\u7528 PyPI \u5b89\u88c5\u7684\u7248\u672c\nmomcp \"\u4f60\u597d\uff0c\u5e2e\u6211\u641c\u7d22\u4e00\u4e0bPython\u6559\u7a0b\"\nmomcp # \u8fdb\u5165\u4ea4\u4e92\u6a21\u5f0f\n\n# \u6216\u8005\u6e90\u7801\u7248\u672c\npython src/mcpai.py \"\u4f60\u597d\uff0c\u5e2e\u6211\u641c\u7d22\u4e00\u4e0bPython\u6559\u7a0b\"\npython src/mcpai.py # \u8fdb\u5165\u4ea4\u4e92\u6a21\u5f0f\n```\n\n## \ud83d\udd27 \u529f\u80fd\u7279\u6027\n\n- **\u81ea\u7136\u8bed\u8a00\u4ea4\u4e92**: \u652f\u6301\u4e2d\u6587\u5bf9\u8bdd\n- **\u591a\u5de5\u5177\u96c6\u6210**: \u6587\u4ef6\u7cfb\u7edf\u3001\u7f51\u7edc\u641c\u7d22\u3001\u6570\u636e\u5206\u6790\u7b49\n- **\u8de8\u5e73\u53f0\u517c\u5bb9**: \u81ea\u52a8\u8bc6\u522b\u64cd\u4f5c\u7cfb\u7edf\n- **Markdown \u6e32\u67d3**: \u7f8e\u89c2\u7684\u8f93\u51fa\u683c\u5f0f\n- **\u8fde\u7eed\u5bf9\u8bdd**: \u652f\u6301\u4e0a\u4e0b\u6587\u8bb0\u5fc6\n\n## \ud83d\udcc1 \u914d\u7f6e\u6587\u4ef6\n\n\u914d\u7f6e\u6587\u4ef6\u4f4d\u7f6e\uff1a\n- **macOS/Linux**: `~/.mcp/config.json`\n- **Windows**: `%USERPROFILE%\\.mcp\\config.json`\n\n## \ud83c\udfaf \u4f7f\u7528\u6280\u5de7\n\n### \u57fa\u7840\u547d\u4ee4\n- \u8f93\u5165 `/help` \u67e5\u770b\u5e2e\u52a9\n- \u8f93\u5165 `/config` \u8fdb\u5165\u914d\u7f6e\u83dc\u5355\n- \u8f93\u5165 `/clear` \u6e05\u7a7a\u5bf9\u8bdd\u5386\u53f2\n- \u4f7f\u7528 `Ctrl+C` \u9000\u51fa\u7a0b\u5e8f\n\n### \u5b9e\u9645\u4f7f\u7528\u573a\u666f\n```bash\n# \u6587\u4ef6\u7ba1\u7406\nmomcp \"\u5e2e\u6211\u6574\u7406 ~/Downloads \u76ee\u5f55\uff0c\u6309\u6587\u4ef6\u7c7b\u578b\u5206\u7c7b\"\nmomcp \"\u67e5\u627e ~/Documents \u4e2d\u5305\u542b 'TODO' \u7684\u6240\u6709\u6587\u4ef6\"\nmomcp \"\u5217\u51fa ~/Desktop \u76ee\u5f55\u4e0b\u7684\u6240\u6709\u6587\u4ef6\"\nmomcp \"\u5728\u9879\u76ee\u4e2d\u641c\u7d22\u6240\u6709\u5305\u542b 'bug' \u7684\u4ee3\u7801\u6587\u4ef6\"\n\n# \u7f51\u7edc\u641c\u7d22\nmomcp \"\u7528 Bing \u641c\u7d22 'Python \u5f02\u6b65\u7f16\u7a0b\u6700\u4f73\u5b9e\u8df5'\"\nmomcp \"\u7528\u767e\u5ea6\u641c\u7d22 'React 18 \u65b0\u7279\u6027' \u7684\u76f8\u5173\u4fe1\u606f\"\n\n# \u6570\u636e\u5206\u6790\nmomcp \"\u5206\u6790 ~/Desktop/data.xlsx \u6587\u4ef6\uff0c\u751f\u6210\u9500\u552e\u6570\u636e\u6458\u8981\"\nmomcp \"\u5408\u5e76 ~/data \u76ee\u5f55\u4e0b\u6240\u6709\u7684\u7528\u6237\u6570\u636e CSV \u6587\u4ef6\"\n\n# \u4ee3\u7801\u68c0\u67e5\nmomcp \"\u68c0\u67e5\u5f53\u524d\u76ee\u5f55\u7684\u4ee3\u7801\u9879\u76ee\u7ed3\u6784\"\nmomcp \"\u5206\u6790 ~/projects/webapp \u76ee\u5f55\u4e0b\u7684\u4ee3\u7801\u6587\u4ef6\u7c7b\u578b\u5206\u5e03\"\n```\n\n## \ud83d\udd0d \u652f\u6301\u7684\u5de5\u5177\n\n### \u6587\u4ef6\u7cfb\u7edf\u5de5\u5177\n- **`fsx.list_dir`**: \u5217\u51fa\u76ee\u5f55\u5185\u5bb9\n ```bash\n momcp \"\u5217\u51fa ~/Desktop \u76ee\u5f55\u4e0b\u7684\u6240\u6709\u6587\u4ef6\"\n momcp \"\u67e5\u770b\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e0b\u6709\u4ec0\u4e48\u6587\u4ef6\"\n ```\n- **`fsx.glob`**: \u6309\u6a21\u5f0f\u5339\u914d\u6587\u4ef6\n ```bash\n momcp \"\u67e5\u627e ~/Documents \u76ee\u5f55\u4e0b\u6240\u6709\u7684 .pdf \u6587\u4ef6\"\n momcp \"\u641c\u7d22\u5f53\u524d\u76ee\u5f55\u4e2d\u6240\u6709\u4ee5 'test' \u5f00\u5934\u7684\u6587\u4ef6\"\n ```\n- **`fsx.read_text`**: \u8bfb\u53d6\u6587\u672c\u6587\u4ef6\n ```bash\n momcp \"\u8bfb\u53d6 ~/Desktop/notes.txt \u6587\u4ef6\u5185\u5bb9\"\n momcp \"\u67e5\u770b README.md \u6587\u4ef6\u7684\u524d1000\u4e2a\u5b57\u7b26\"\n ```\n- **`fsx.search`**: \u5728\u6587\u4ef6\u4e2d\u641c\u7d22\u6587\u672c\n ```bash\n momcp \"\u5728 ~/Documents \u76ee\u5f55\u4e2d\u641c\u7d22\u5305\u542b 'TODO' \u7684\u6240\u6709\u6587\u4ef6\"\n momcp \"\u67e5\u627e\u5f53\u524d\u9879\u76ee\u4e2d\u6240\u6709\u5305\u542b 'bug' \u6216 'fix' \u7684\u4ee3\u7801\u6587\u4ef6\"\n ```\n- **`fsx.organize_by_type`**: \u6309\u6587\u4ef6\u7c7b\u578b\u6574\u7406\u76ee\u5f55\n ```bash\n momcp \"\u6574\u7406 ~/Downloads \u76ee\u5f55\uff0c\u6309\u6587\u4ef6\u6269\u5c55\u540d\u5206\u7c7b\u5230\u5b50\u6587\u4ef6\u5939\"\n momcp \"\u5c06\u5f53\u524d\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u6309\u7c7b\u578b\u6574\u7406\uff0c\u56fe\u7247\u3001\u6587\u6863\u3001\u4ee3\u7801\u5206\u522b\u653e\u4e0d\u540c\u6587\u4ef6\u5939\"\n ```\n\n### \u7f51\u7edc\u641c\u7d22\u5de5\u5177\n- **`websearch.search`**: \u591a\u5f15\u64ce\u641c\u7d22\uff08\u63a8\u8350\uff09\n ```bash\n momcp \"\u641c\u7d22 'Python \u673a\u5668\u5b66\u4e60\u6559\u7a0b'\"\n momcp \"\u7528 Bing \u641c\u7d22 '\u5982\u4f55\u5b66\u4e60 Rust \u7f16\u7a0b'\"\n momcp \"\u7528\u767e\u5ea6\u641c\u7d22 '\u6700\u65b0\u7684\u4eba\u5de5\u667a\u80fd\u53d1\u5c55'\"\n ```\n\n- **`web.search`**: \u57fa\u7840\u7f51\u9875\u641c\u7d22\uff08\u5907\u7528\u65b9\u6848\uff09\n ```bash\n momcp \"\u7528 DuckDuckGo \u641c\u7d22 'Docker \u5bb9\u5668\u5316\u6700\u4f73\u5b9e\u8df5'\"\n momcp \"\u641c\u7d22 'React 18 \u65b0\u7279\u6027'\"\n ```\n\n### \u6570\u636e\u5206\u6790\u5de5\u5177\n- **`data.csv_merge`**: \u5408\u5e76 CSV \u6587\u4ef6\n ```bash\n momcp \"\u5408\u5e76 ~/data \u76ee\u5f55\u4e0b\u6240\u6709\u7684 sales_*.csv \u6587\u4ef6\"\n momcp \"\u5c06\u591a\u4e2a\u7528\u6237\u6570\u636e CSV \u6587\u4ef6\u5408\u5e76\uff0c\u53ea\u4fdd\u7559 name \u548c email \u5217\"\n ```\n- **`data.excel_summary`**: Excel \u6570\u636e\u5206\u6790\n ```bash\n momcp \"\u5206\u6790 ~/Desktop/sales.xlsx \u6587\u4ef6\uff0c\u751f\u6210\u6570\u636e\u6458\u8981\"\n momcp \"\u67e5\u770b\u8d22\u52a1\u6570\u636e\u8868\u683c\u7684\u7edf\u8ba1\u4fe1\u606f\uff0c\u5305\u62ec\u5e73\u5747\u503c\u548c\u6807\u51c6\u5dee\"\n ```\n\n### \u4ee3\u7801\u68c0\u67e5\u5de5\u5177\n- **`code.quick_inspect`**: \u4ee3\u7801\u9879\u76ee\u68c0\u67e5\n ```bash\n momcp \"\u68c0\u67e5 ~/projects/myapp \u76ee\u5f55\u4e0b\u7684\u4ee3\u7801\u6587\u4ef6\u7c7b\u578b\u548c\u6570\u91cf\"\n momcp \"\u5206\u6790\u5f53\u524d\u76ee\u5f55\u7684\u4ee3\u7801\u9879\u76ee\uff0c\u7edf\u8ba1\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u6587\u4ef6\u6570\u91cf\"\n ```\n\n## \ufffd\ufffd \u8bb8\u53ef\u8bc1\n\nMIT License ",
"bugtrack_url": null,
"license": "MIT",
"summary": "\u667a\u80fd\u547d\u4ee4\u884c\u52a9\u624b - \u57fa\u4e8e\u901a\u4e49\u5343\u95ee\u7684 MCP \u534f\u8bae\u591a\u5de5\u5177\u96c6\u6210\u5e73\u53f0",
"version": "0.1.1",
"project_urls": null,
"split_keywords": [
"ai",
" cli",
" command-line",
" mcp",
" qwen",
" tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "81d51009936533c938a539d53efae9fdcf53196d25722c2e895ab29fc9e33b8d",
"md5": "8fe11c3e4c99bbc6ebfcf3f5c740c7f1",
"sha256": "95b2cf2ae96505cedef36ca08c98bc3e5ed10423188a59b21a2ed6d97b409553"
},
"downloads": -1,
"filename": "mo_mcp-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8fe11c3e4c99bbc6ebfcf3f5c740c7f1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 18222,
"upload_time": "2025-08-15T14:28:50",
"upload_time_iso_8601": "2025-08-15T14:28:50.091544Z",
"url": "https://files.pythonhosted.org/packages/81/d5/1009936533c938a539d53efae9fdcf53196d25722c2e895ab29fc9e33b8d/mo_mcp-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5e0e5b72e29268809a06c4e7a7c013da797dc9b0dcb7e3091c17b5b0ba952f20",
"md5": "f98864368126307d7d93cba08a0ea0ee",
"sha256": "106345507a98310520a72d22de60749592c5f6cd69000537910b094c52c555c7"
},
"downloads": -1,
"filename": "mo_mcp-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "f98864368126307d7d93cba08a0ea0ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 17405,
"upload_time": "2025-08-15T14:28:51",
"upload_time_iso_8601": "2025-08-15T14:28:51.821431Z",
"url": "https://files.pythonhosted.org/packages/5e/0e/5b72e29268809a06c4e7a7c013da797dc9b0dcb7e3091c17b5b0ba952f20/mo_mcp-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-15 14:28:51",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "mo-mcp"
}