项目简介
MCP系统工具服务器是一个基于Model Context Protocol (MCP) 的应用后端,旨在为大型语言模型(LLM)客户端提供与本地系统交互的能力。它允许LLM通过标准化的接口执行shell命令、管理文件和目录、运行脚本等。
主要功能点
- 终端命令执行: 允许LLM执行本地系统的shell命令。
- 文件系统操作: 支持文件和目录的创建、读取、编辑、复制、移动、删除等操作。
- 目录结构浏览: 提供获取指定目录的树状结构视图的能力。
- 文件内容搜索: 实现类似grep的功能,在文件中搜索指定模式的内容。
- Python脚本执行: 允许LLM执行位于工作空间内的Python脚本。
- 组合任务: 支持在一个指定的工作目录下执行一系列文件或终端操作任务。
安装步骤
该服务器使用Node.js构建。请确保你的系统已安装Node.js (推荐v14或更高版本)。
-
下载并执行安装脚本。该脚本会自动下载服务器文件、检查依赖并配置命令到你的PATH。
curl -o- https://github.com/Yaswanth-ampolu/smithery-mcp-server/raw/main/main/install-mcp.sh | bash -
安装完成后,你将可以使用 'mcp-terminal' 命令来管理服务器。
- 启动服务器: 'mcp-terminal start' (默认端口 8080)
- 停止服务器: 'mcp-terminal stop'
- 检查状态: 'mcp-terminal status'
- 重启服务器: 'mcp-terminal restart'
- 卸载服务器: 'mcp-terminal uninstall'
请注意,MCP服务器(特别是用于LLM集成的Stdio适配器)是作为命令行进程运行的,通常不会像Web服务器那样在前台运行。上述 'mcp-terminal start' 命令启动的是一个带有Web界面的HTTP服务器版本。对于标准的MCP客户端(如一些LLM开发工具),通常需要配置其启动服务器进程的命令。
MCP客户端配置示例
MCP客户端(如某些LLM开发环境)需要知道如何启动并连接到这个MCP服务器。本仓库包含一个支持Stdio传输协议的MCP适配器 ('smithery-adapter.js'),这是推荐用于LLM客户端直接集成的模式。
你需要将以下配置信息添加到你的MCP客户端中。具体的配置格式取决于你的客户端,但核心信息是启动服务器进程的命令和参数。
服务器名称 (Server Name): 'MCP System Tools'
启动命令 (Command): 'node'
启动参数 (Args): 这是一个数组,包含传递给'node'命令的参数。第一个参数是服务器的入口脚本路径。这个路径取决于你的安装位置,通常是 '~/mcp-terminal/dist/smithery-adapter.js'。
{ "server name": "MCP System Tools", "command": "node", "args": [ "YOUR_HOME_DIRECTORY/mcp-terminal/dist/smithery-adapter.js" ], "description": "A MCP server providing file system and shell access.", "capabilities": { // Capabilities will be discovered by the client after connection // This is where tools like runShellCommand, readFile, etc. will appear } }
请将 'YOUR_HOME_DIRECTORY' 替换为你实际的用户主目录路径(例如,'/home/username' 或 'C:\Users\Username')。
一些MCP客户端可能还支持通过HTTP/SSE连接。该服务器的HTTP/SSE适配器在默认端口8080提供服务。其SSE入口是 '/sse',消息POST入口是 '/messages',工具列表位于 '/tools',服务器信息位于 '/info'。HTTP/SSE接口的使用方式不是标准的JSON-RPC over HTTP,具体集成方法需参考客户端对非标准HTTP适配器的支持。
基本使用方法
配置完成后,你的LLM客户端应该能够检测到该MCP服务器的能力(即暴露的工具)。LLM可以通过调用这些工具来与你的本地系统进行交互。例如,LLM可能会生成一个请求调用 'runShellCommand' 工具来执行 'ls -l' 命令,或者调用 'readFile' 工具来读取指定文件的内容。LLM客户端会负责将LLM的需求转换为对服务器工具的JSON-RPC调用。
信息
分类
桌面与硬件