MCP ProcFS Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP ProcFS Servershow me CPU information"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP ProcFS Server
A powerful Model Context Protocol (MCP) server for reading and modifying Linux /proc filesystem values. Provides both JSON-RPC (stdio) and Server-Sent Events (SSE) interfaces with full Swagger API documentation.
Features
π Comprehensive ProcFS Access: Read and write to
/procfilesystemποΈ System Monitoring: CPU, memory, load, network, and disk statistics
βοΈ Sysctl Management: Read and modify kernel parameters
π§ Process Control: Monitor and manage processes (priority, affinity, signals)
π‘ Dual Protocols: JSON-RPC over stdio and HTTP with SSE
π Full API Documentation: Interactive Swagger UI
π Type-Safe: Written in TypeScript with comprehensive type definitions
β Validated: Zod schemas for request/response validation
Related MCP server: mcp-infra
Installation
From npm
npm install -g @mcp/procfs-serverFrom source
git clone https://github.com/user/mcp-proc.git
cd mcp-proc
npm install
npm run buildQuick Start
JSON-RPC Server (stdio)
# Start the MCP server on stdio
mcp-procfs
# Or with npm
npm startHTTP Server with SSE
# Start HTTP server on port 3000
npm run start:sse
# Custom port
PORT=8080 npm run start:sseThen open your browser to:
API Documentation: http://localhost:3000/api-docs
SSE Endpoint: http://localhost:3000/mcp/sse
RPC Endpoint: http://localhost:3000/mcp/rpc
Usage
As MCP Tool
Configure in your MCP client (e.g., Claude Desktop):
{
"mcpServers": {
"procfs": {
"command": "mcp-procfs"
}
}
}Available Tools
System Information
get_cpu_info: Get detailed CPU information
get_memory_info: Get memory statistics
get_load_average: Get system load average
get_network_stats: Get network interface statistics
get_disk_stats: Get disk I/O statistics
ProcFS Operations
read_procfs: Read any file from
/procwrite_procfs: Write to writable
/procfiles
Process Management
get_process_info: Get detailed process information
list_processes: List all process IDs
set_process_priority: Change process nice value
set_process_affinity: Set CPU affinity
Sysctl Management
read_sysctl: Read kernel parameter
write_sysctl: Modify kernel parameter
list_sysctl: List all parameters
Example: Using 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"Example: Using JSON-RPC
import { MCPProcFSServer } from '@mcp/procfs-server';
const server = new MCPProcFSServer();
await server.run();Example: Direct Library Usage
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 Documentation
When running the HTTP server, full interactive API documentation is available at:
http://localhost:3000/api-docs
The documentation includes:
All endpoints with request/response schemas
Try-it-out functionality
Example requests and responses
Authentication requirements
API Endpoints
Method | Endpoint | Description |
GET |
| Health check |
GET |
| CPU information |
GET |
| Memory information |
GET |
| Load average |
GET |
| Network statistics |
GET |
| Disk statistics |
GET |
| Read procfs file |
POST |
| Write procfs file |
GET |
| List sysctl parameters |
GET |
| Read sysctl parameter |
POST |
| Write sysctl parameter |
GET |
| List all processes |
GET |
| Get process info |
POST |
| Set process priority |
GET |
| SSE endpoint |
POST |
| JSON-RPC endpoint |
MCP Resources
The server exposes the following MCP resources:
procfs://cpuinfo- CPU informationprocfs://meminfo- Memory informationprocfs://loadavg- Load averageprocfs://net/dev- Network statisticsprocfs://diskstats- Disk statistics
Permissions
Some operations require elevated permissions:
Read-only operations: Most read operations work without special permissions
Write operations: Require appropriate permissions (usually root)
Process management: Some operations require CAP_SYS_NICE or root
Sysctl writes: Usually require root or specific capabilities
Running with elevated permissions
# 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-procfsDevelopment
Setup
npm install
npm run buildDevelopment Mode
npm run dev # Watch mode with hot reloadTesting
npm test # Run tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage reportLinting
npm run lint # Check code
npm run format # Format codeArchitecture
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 filesTechnology Stack
Runtime: Node.js 18+
Language: TypeScript
Validation: Zod
Web Framework: Express
Documentation: Swagger/OpenAPI
MCP SDK: @modelcontextprotocol/sdk
Testing: Jest
Security Considerations
β οΈ Important Security Notes:
This server provides direct access to system resources
Write operations can affect system behavior
Always run with minimum required permissions
Consider using read-only mode for untrusted clients
Implement authentication for production deployments
Monitor and log all write operations
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Make your changes with tests
Submit a pull request
License
MIT License - see LICENSE file for details
Resources
Support
Issues: GitHub Issues
Discussions: GitHub Discussions
Changelog
See CHANGELOG.md for version history.
Made with β€οΈ for the MCP community
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceA read-only MCP server for Linux and macOS system administration, diagnostics, and troubleshooting, supporting remote SSH execution and multi-host management.Apache 2.0
- Flicense-qualityCmaintenanceAn MCP server that provides tools for filesystem, database, web, system, and shell operations, along with resources and prompts via SSE transport.
- Flicense-qualityCmaintenanceA production-grade MCP server that lets AI cloud services control and manage your Linux server securely via HTTP/SSE.
- Alicense-qualityCmaintenanceA production-ready MCP server for secure, session-based command execution, file manipulation, and system inspection via local terminal sessions.10ISC
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personalβ¦
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/manalejandro/mcp-proc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server