Machine Command Processor (MCP)

Machine Command Processor (MCP)

site icon
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密钥。
  • 哪些危险命令被阻止? 包括sudorm -rfmkfsddformat等。
  • 日志文件在哪里? 客户端日志在mcp_client.log,服务器日志在mcp_server.log

使用教程

使用依赖

  • Python 3.7+
  • Groq API密钥
  • WebSocket支持
  • 必要的Python包:
pip install websockets groq

安装教程

  1. 克隆仓库
  2. 安装所需包:
pip install websockets groq
  1. 设置Groq API密钥:
export GROQ_API_KEY='your-api-key'

调试方式

  1. 启动服务器:
python mcp_server.py
  1. 在另一个终端启动客户端:
python mcp_client.py
  1. 输入自然语言查询,例如:
Enter your query: list all files in the current directory

许可证

None