Token导航 LogoToken导航TokenDH.com
MCP Proc logo
运维云端未说明官方级别未说明来源级核验

MCP Proc

MCP Server

一个强大的Linux /proc文件系统读写服务器,提供JSON-RPC和Server-Sent Events接口,支持系统监控、进程管理和内核参数调整。

工具数

14

提示词数

0

GitHub Stars

0

资源数

0
系统监控进程管理TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

manalejandro

提供方

manalejandro

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP ProcFS 服务器

![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org)

一个强大的 模型上下文协议(MCP) 用于读取和修改Linux的服务器 /proc 文件系统值。提供JSON-RPC(stdio)和服务器发送事件(SSE)接口,以及完整的Swagger API文档。

特点/特性

  • 🔍 看起来像是一个放大镜的符号,没有具体的文字含义,但在网络语境中,它常被用来表示“查看”、“搜索”或“调查”的动作。所以,可以翻译为“🔍(查看/搜索/调查)”。 全面的ProcFS访问读写到 /proc 文件系统
  • 🎛️ 该符号通常代表“控制面板”或“仪表盘”,在中文中可直接翻译为“控制面板”或根据上下文具体翻译为相应的设备或界面名称。 系统监控CPU、内存、负载、网络和磁盘统计信息
  • ⚙️(齿轮符号,通常表示机械、装置或设置等含义,在中文中没有直接对应的文字翻译,可保持原样或根据上下文解释为“齿轮”、“装置”等) Sysctl 管理读取并修改内核参数
  • 🔧 修理工具、螺丝刀或类似工具的符号 过程控制监控和管理进程(优先级、亲和性、信号)
  • 📡(卫星天线) 双协议通过stdio和HTTP(使用SSE)的JSON-RPC
  • 📚 书籍/学习 完整的API文档交互式 Swagger UI
  • 🔐 类型安全用TypeScript编写,带有全面的类型定义
  • 已验证用于请求/响应验证的Zod模式

安装

来自 npm

npm install -g @mcp/procfs-server

来自源头

git clone https://github.com/user/mcp-proc.git
cd mcp-proc
npm install
npm run build

快速入门

JSON-RPC 服务器(标准输入输出)

# Start the MCP server on stdio
mcp-procfs

# Or with npm
npm start

带有SSE的HTTP服务器

# Start HTTP server on port 3000
npm run start:sse

# Custom port
PORT=8080 npm run start:sse

然后打开你的浏览器,访问:

  • API 文档http://localhost:3000/api-docs(本地主机3000端口的API文档页面)
  • SSE 端点http://localhost:3000/mcp/sse 翻译成中文可以是:“本地主机3000端口/mcp/sse路径”。不过,通常我们不会直接翻译这样的URL,而是根据上下文解释其含义,比如“这是访问本地服务器上3000端口的/mcp/sse资源的URL”。但在这里,按照您的要求,给出直译版本
  • RPC 端点http://localhost:3000/mcp/rpc 翻译为中文是:“本地主机上的3000端口/mcp/rpc路径”。不过,通常我们不会直接翻译网址的格式,而是说明其含义或用途,比如“访问本地开发服务器的MCP RPC接口”。但按照您的要求,直接翻译网址格式就是上述内容

用法

作为MCP工具

在您的MCP客户端中进行配置(例如,Claude Desktop):

{
  "mcpServers": {
    "procfs": {
      "command": "mcp-procfs"
    }
  }
}

可用工具

系统信息

  • 获取CPU信息获取详细的CPU信息
  • 获取内存信息获取内存统计信息
  • 获取负载平均值获取系统平均负载
  • 获取网络统计信息获取网络接口统计信息
  • 获取磁盘统计信息获取磁盘I/O统计信息

ProcFS 操作

  • 读取proc文件系统从任意位置读取文件 /proc
  • \write_procfs\ 可以翻译为“向 proc 文件系统写入”。这里,“write”表示写入操作,“procfs”是“proc 文件系统”的缩写,是 Linux 中用于访问内核数据结构的虚拟文件系统写入可写内容 /proc 文件

流程管理

  • 获取进程信息获取详细的过程信息
  • 列出进程列出所有进程ID
  • 设置进程优先级更改进程的nice值
  • 设置进程亲和性设置CPU亲和性

Sysctl 管理

  • 读取sysctl配置读取内核参数
  • \write_sysctl\ 可以翻译为“写入sysctl配置”或“设置sysctl参数”。这里,“write”表示写入或设置,“sysctl”是Linux系统中用于配置内核参数的一个工具或接口。因此,整个短语可以理解为对sysctl配置进行写入或设置的操作修改内核参数
  • list_sysctl(在中文中,这个术语通常不直接翻译,因为它是一个特定于系统配置或管理的命令或参数,但为了说明其含义,可以解释为“列出系统控制参数”)列出所有参数

示例:使用HTTP API

# Get CPU information
curl http://localhost:3000/api/cpu

# Get memory information
curl http://localhost:3000/api/memory

# Read a sysctl parameter
curl http://localhost:3000/api/sysctl/net.ipv4.ip_forward

# Write a sysctl parameter (requires permissions)
curl -X POST http://localhost:3000/api/sysctl \
  -H "Content-Type: application/json" \
  -d '{"key": "net.ipv4.ip_forward", "value": 1}'

# Get process information
curl http://localhost:3000/api/processes/1

# Read custom procfs file
curl "http://localhost:3000/api/procfs?path=sys/kernel/hostname"

示例:使用 JSON-RPC

import { MCPProcFSServer } from '@mcp/procfs-server';

const server = new MCPProcFSServer();
await server.run();

示例:直接使用库

import { ProcFSReader, ProcFSWriter } from '@mcp/procfs-server';

const reader = new ProcFSReader();
const writer = new ProcFSWriter();

// Get CPU info
const cpuInfo = await reader.getCPUInfo();
console.log(cpuInfo);

// Get memory info
const memInfo = await reader.getMemInfo();
console.log(memInfo);

// Read sysctl
const param = await writer.readSysctl('net.ipv4.ip_forward');
console.log(param);

// Write sysctl (requires root)
await writer.writeSysctl('net.ipv4.ip_forward', 1);

API 文档

运行HTTP服务器时,完整的交互式API文档可在以下地址获取:

http://localhost:3000/api-docs(本地主机3000端口的API文档页面)

文档包括:

  • 所有具有请求/响应模式的终端点
  • 试用功能
  • 示例请求和响应
  • 认证要求

API 端点

方法终点描述
GET(在中文语境中,这通常表示“使用GET方法”,但直接翻译该单词保持原样,因为它是HTTP协议中的一个方法名,常用于网页请求中) /health健康检查
GET(在中文中,这通常直接对应为“获取”或“请求”,但在此上下文中,作为HTTP方法名,可保持原样或译为“GET请求”) /api/cpuCPU信息
GET/api/memory内存信息
GET/api/load平均负载
GET/api/network网络统计
GET(GET请求) /api/disk磁盘统计信息
GET/api/procfs读取procfs文件
帖子/api/procfs写入procfs文件
GET(在中文语境下,这通常直接翻译为“GET方法”或“使用GET请求”,具体取决于上下文) /api/sysctl列出 sysctl 参数
GET/api/sysctl/:key读取sysctl参数
帖子/api/sysctl写入sysctl参数
GET(中文可译为:“获取”或“请求”) /api/processes列出所有进程
GET(HTTP方法,用于获取资源) /api/processes/:pid获取进程信息
POST(在中文中,这通常直接保留为“POST”,因为它是HTTP方法名,不直接翻译) /api/processes/:pid/priority设置进程优先级
GET(翻译为中文即)GET 请求/mcp/sseSSE 终点(或端点)
POST(在中文语境下,通常可直接保留为“POST”,表示HTTP方法中的“提交”或“发布”,具体含义需根据上下文判断) /mcp/rpcJSON-RPC 端点

MCP Resources(公司名,可译为):MCP资源公司

服务器公开了以下MCP资源:

  • procfs://cpuinfo - CPU信息
  • procfs://meminfo - 内存信息
  • procfs://loadavg - 平均负载
  • procfs://net/dev - 网络统计
  • procfs://diskstats - 磁盘统计信息

权限

某些操作需要提升权限:

  • 只读操作大多数读取操作无需特殊权限即可执行
  • 写操作需要适当的权限(通常是root权限)
  • 流程管理某些操作需要CAP_SYS_NICE权限或root权限
  • Sysctl 写入通常需要root权限或特定功能

以提升权限运行

# Run with sudo (not recommended for production)
sudo mcp-procfs

# Better: Use capabilities
sudo setcap cap_sys_nice,cap_sys_admin+ep $(which node)
mcp-procfs

发展

设置

npm install
npm run build

开发模式

npm run dev  # Watch mode with hot reload

测试

npm test              # Run tests
npm run test:watch    # Watch mode
npm run test:coverage # Coverage report

Linting(在编程领域,通常指代码检查或代码规范化的过程)

npm run lint          # Check code
npm run format        # Format code

建筑学

mcp-proc/
├── src/
│   ├── lib/
│   │   ├── procfs-reader.ts    # ProcFS reading logic
│   │   └── procfs-writer.ts    # ProcFS writing logic
│   ├── types/
│   │   ├── procfs.ts           # ProcFS type definitions
│   │   ├── mcp.ts              # MCP protocol types
│   │   └── schemas.ts          # Zod validation schemas
│   ├── server.ts               # MCP JSON-RPC server
│   ├── server-sse.ts           # HTTP/SSE server
│   ├── cli.ts                  # JSON-RPC CLI entry
│   ├── cli-sse.ts              # HTTP/SSE CLI entry
│   └── index.ts                # Main exports
├── scripts/
│   ├── setup.sh                # Setup script
│   ├── build.sh                # Build script
│   └── release.sh              # Release script
└── tests/                      # Test files

技术栈

  • 运行时Node.js 18及以上版本
  • 语言TypeScript
  • 验证佐德
  • 网络框架快递
  • 文档Swagger/OpenAPI
  • MCP SDK(MCP软件开发工具包)@modelcontextprotocol/sdk
  • 测试是(Jest,此处可能作为动词或特定语境下的表达使用,直译为“是”,具体含义需结合上下文理解)

安全考量

⚠️ 重要的安全注意事项

  1. 这台服务器提供直接访问系统资源的途径
  2. 写操作可能会影响系统行为
  3. 始终以最低必要权限运行
  4. 考虑对不信任的客户端使用只读模式
  5. 为生产环境部署实施身份验证
  6. 监控并记录所有写入操作

做出贡献

欢迎投稿!请:

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建一个特性分支
  3. 在测试中进行更改
  4. 提交拉取请求

许可证

MIT 许可证 - 请参阅 许可证 文件中详述

资源

支持

  • 问题
  • 讨论

更新日志

CHANGELOG.md(中文可译为“变更日志文件”) 用于版本历史。

______________________________________________________________________

为MCP社区用心打造

目录标签

目录标签

系统监控进程管理TypeScriptClaude本地部署内核参数调整JSON-RPCSSE

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP