io.github.KrushnaVardhanReddy/osmcp
A typed, policy-controlled OS capability layer for AI agents.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
ghcr.io/krushnavardhanreddy/osmcp:latestclaude mcp add osmcp -- docker run -i --rm ghcr.io/krushnavardhanreddy/osmcp:latest
{
"mcpServers": {
"osmcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/krushnavardhanreddy/osmcp:latest"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
osmcp — OS Capabilities for AI Agents
A typed, policy-controlled OS capability layer for AI agents via the Model Context Protocol (MCP).
osmcp exposes a curated set of safe filesystem, git, and text-processing tools to AI agents — all governed by a strict Policy Engine that enforces path boundaries, tool allowlists, output limits, mutation controls, and an immutable audit trail.
📖 Read the comprehensive Architecture & Design Document for a deep dive into the philosophy, safety boundaries, and design decisions behind osmcp.
Features
| Category | Tools | Phase |
|---|---|---|
| 🔍 Search | grep, find | 1 |
| 📁 File Inspection | ls, cat, stat, wc, head, tail | 1 |
| 🌳 Filesystem | tree, du | 1 |
| 🔀 Git Intelligence | git_status, git_diff, git_log | 1 |
| 🔧 Transform | jq, sed, diff | 1 |
| ✍️ File Mutation | write_file, append_file, mkdir, rm, mv, cp, patch | 2 |
| 🚀 Git Mutation | git_add, git_commit, git_checkout, git_branch, git_pull, git_push | 2 |
Architecture
AI Agent (Claude, GPT, etc.)
│ MCP JSON-RPC (stdio)
▼
osmcp binary
├── Policy Engine ← enforces allowed_root, allowed_tools, limits
├── Audit Logger ← append-only NDJSON log of every invocation
├── Tool Registry ← self-registering tools via RegisterMCP()
└── Envelope Builder ← typed {ok, data, error, meta} responses
Demo
A demonstration of Claude Desktop securely editing code via osmcp, safely bounded by a TOML policy engine.
Quick Start
1. Install via Homebrew
brew tap KrushnaVardhanReddy/tap
brew install osmcp
Alternatively, build from source:
make build
# Binary: bin/osmcp
2. Configure a Policy
# policy.toml
[policy]
allowed_root = "/home/user/myproject"
allowed_tools = ["grep", "ls", "cat", "git_status", "git_log"]
allow_mutation = false
[limits]
timeout_ms = 5000
max_output_bytes = 1048576
max_matches = 100
[audit]
destination = "stderr" # or "file"
path = "/var/log/osmcp-audit.ndjson"
3. Run
bin/osmcp --policy policy.toml
The binary communicates over stdio using MCP JSON-RPC. Connect any MCP-compatible client.
Client Integrations
Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"osmcp": {
"command": "osmcp",
"args": ["--policy", "/absolute/path/to/policy.toml"]
}
}
}
Smithery (npx)
To install osmcp for Claude Desktop automatically via Smithery:
npx @smithery/cli install osmcp
LiteLLM
Integrate osmcp into your enterprise LLM proxy using the LiteLLM MCP Gateway.
5. Test
make test # unit tests
make e2e # end-to-end tests against real binary
make lint # golangci-lint
Policy Security Model
allowed_root— All filesystem paths are validated to be inside this root. Traversal outside is blocked withPOLICY_DENIED.allowed_tools— Only tools in this list are visible to the MCP client. Unlisted tools do not appear intools/list.allow_mutation— Whenfalse, mutating tools (write, delete, git commit) are globally blocked.- Limits — Per-invocation timeout, output byte cap, and match count cap prevent runaway operations.
Envelope Response Format
All tool responses follow a consistent typed envelope:
{
"ok": true,
"tool": "grep",
"data": { ... },
"error": null,
"meta": {
"execution_time_ms": 12,
"truncated": false
}
}
License
MIT
Acknowledgements
osmcp would not be possible without the incredible open-source libraries it is built upon:
Questions fréquentes
Qu'est-ce que io.github.KrushnaVardhanReddy/osmcp ?
A typed, policy-controlled OS capability layer for AI agents.
Comment installer io.github.KrushnaVardhanReddy/osmcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add osmcp -- docker run -i --rm ghcr.io/krushnavardhanreddy/osmcp:latest. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.KrushnaVardhanReddy/osmcp ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.KrushnaVardhanReddy/osmcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.KrushnaVardhanReddy/osmcp ?
Il est publié par KrushnaVardhanReddy. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.