A Rust-based MCP server that exposes local machine capabilities — file I/O, shell execution, system stats, and macOS notification triage — to AI clients over stdin/stdout. Features namespaced tool APIs, path traversal guards, strict command validation, symlink protection, and integration tests. Built with Tokio, Serde, and rusqlite.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"localops-mcp-server": {
"args": [
"-y",
"localops_mcp_server"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Rust-based MCP server that exposes local machine capabilities — file I/O, shell execution, system stats, and macOS notification triage — to AI clients over stdin/stdout. Features namespaced tool APIs, path traversal guards, strict command validation, symlink protection, and integration tests. Built with Tokio, Serde, and rusqlite.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'localops_mcp_server' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked localops_mcp_server against OSV.dev.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools / data
Query and manage PostgreSQL databases directly from AI assistants
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
MCP server for using the GitLab API
MCP Security Weekly
Get CVE alerts and security updates for Localops_mcp_server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
localops_mcp_server is a small Rust-based MCP server that communicates over stdin/stdout using JSON-RPC style messages. It exposes a set of local machine utilities for file access, shell command execution, system stats, macOS notification reading, simple file editing helpers, text diffing, Java rule lookup, and port cleanup.
The server is designed to be launched as a long-running process by an MCP-compatible client. It reads one JSON request per line from standard input and writes one JSON response per line to standard output.
At runtime, the binary:
stdin.initialize, tools/list, and tools/call.tools/call requests to locally implemented Rust functions.The current toolset includes:
| Tool | Purpose |
|---|---|
localops.system.stats | Returns current CPU and memory usage using sysinfo. |
localops.files.find_by_extension | Recursively finds files by extension under a path. |
localops.files.read | Reads a local file, with a 1 MB size cap. |
localops.files.write | Writes or overwrites a file with supplied content. |
localops.shell.run | Runs a zsh -c shell command and returns exit code, stdout, and stderr. |
localops.shell.stream | Runs a command and streams stdout to stderr in real time. |
localops.notifications.read | Reads recent macOS notifications and formats them as readable text. |
localops.notifications.triage | Reads recent macOS notifications and returns structured JSON text for downstream triage. |
localops.files.insert_after_pattern | Inserts a line after the first line matching an anchor pattern. |
localops.files.insert_after_line | Inserts a line after a specific 1-based line number. |
localops.files.delete_lines_containing | Removes lines containing a matching string. |
localops.files.delete_line | Deletes a specific 1-based line number. |
localops.text.diff_words | Produces a word-level diff between two long strings. |
localops.repo.find_java_rule_source | Searches a repo for a Java file matching a rule name. |
localops.net.clear_port | Kills a process bound to a port using lsof and kill -9. |
.
├── Cargo.toml
└── src
├── main.rs
├── mcp_types.rs
└── tools.rs
src/main.rs: MCP request loop and tool dispatch.src/mcp_types.rs: request and response-related data types.src/tools.rs: implementations for the server’s local tools.cargozsh available on the host machineSome tools are macOS-specific:
read_notificationsget_notifications_for_triageThese tools read Apple’s local notifications database at:
~/Library/Group Containers/group.com.apple.usernoted/db2/db
They may require Full Disk Access depending on your macOS privacy settings.
Some tools assume the following commands exist on the host:
zshlsofkillClone the repo and build it:
cargo build
Or run it directly without a separate build step:
cargo run
This project is not an HTTP server. It is a line-oriented MCP process intended to be started by another tool or client.
cargo run
After startup, the process waits for JSON messages on standard input.
cargo build --release
The binary will be available at:
target/release/localops_mcp_server
You can then run it directly:
./target/release/localops_mcp_server
Send one JSON object per line.
Input:
{"jsonrpc":"2.0","id":1,"method":"initialize"}
Expected response:
{"jsonrpc":"2.0","id":1,"result":{"capabilities":{}
... [View full README on GitHub](https://github.com/m-a-singh/localops_mcp_server#readme)