
Machine Command Processor (MCP)

2025.02.13
0
Python自然语言处理Shell命令转换开发工具开发效率
MCP(Machine Command Processor)是一个客户端-服务器系统,利用大型语言模型(LLM)将自然语言查询转换为Shell命令。该系统由三个主要组件组成:通过Groq的LLM API处理自然语言查询的客户端、执行Shell命令的服务器以及用于通信的共享协议。
View on GitHub
Overview
基本能力
产品定位
MCP是一个基于LLM的自然语言到Shell命令的转换工具,旨在提高开发效率,简化命令行操作。
核心功能
- 使用Groq的LLM API将自然语言转换为Shell命令
- 基于WebSocket的客户端-服务器通信
- 命令执行安全检查
- 全面的日志系统
- 使用Python的asyncio实现异步操作
- 带有UUID跟踪的结构化消息协议
适用场景
- 开发者快速生成Shell命令
- 教学环境中演示命令行操作
- 自动化脚本生成
- 命令行操作审计
工具列表
- MCP Client (
mcp_client.py
): 处理用户输入,连接Groq API生成命令,通过WebSocket与服务器通信,处理和显示结果。 - MCP Server (
mcp_server.py
): 执行Shell命令,实现命令安全检查,管理WebSocket连接,返回命令执行结果。 - Protocol (
mcp_protocol.py
): 定义消息结构,处理消息序列化/反序列化,提供消息创建工具。
常见问题解答
- 如何获取Groq API密钥? 需要注册Groq服务并获取API密钥。
- 哪些危险命令被阻止?
包括
sudo
、rm -rf
、mkfs
、dd
、format
等。 - 日志文件在哪里?
客户端日志在
mcp_client.log
,服务器日志在mcp_server.log
。
使用教程
使用依赖
- Python 3.7+
- Groq API密钥
- WebSocket支持
- 必要的Python包:
pip install websockets groq
安装教程
- 克隆仓库
- 安装所需包:
pip install websockets groq
- 设置Groq API密钥:
export GROQ_API_KEY='your-api-key'
调试方式
- 启动服务器:
python mcp_server.py
- 在另一个终端启动客户端:
python mcp_client.py
- 输入自然语言查询,例如:
Enter your query: list all files in the current directory
许可证
None