OSource-Manager
Runs sandboxed trials of untrusted repositories in locked-down Docker containers (no network, read-only source, non-root).
Retrieves release changelogs and upstream metadata for tracked repositories from GitHub, with ETag caching.
Scans globally installed npm packages and queries the npm registry for latest published versions to detect updates.
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., "@OSource-ManagerWhat updates are available for my tracked tools?"
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.
See it · try it · keep it or kill it — with the verdict remembered.
Every repo, global CLI, MCP server and skill on your machine, in one place, with a journal.
The problem
You clone things. A repo to try, a CLI you installed globally once, an MCP server, a skill dropped into a dotfiles folder. Six months later there are sixty of them and no answer to the only questions that matter: what is this, do I still use it, and can I get rid of it?
Package managers track versions. They do not track your verdict. OSource-Manager does — it joins what's on your disk ↔ what upstream did ↔ do I still want this ↔ act on it, and it remembers the decision in an append-only journal so a six-month-old row can explain itself.
Related MCP server: mcp-service
The funnel
Every tool moves through five states. Your verdict is owned by you and is never overwritten by a scan.
01 · Wanted | Tracked. May not even be on disk yet. |
|
02 · Trying | Giving it a shot — often in a Docker sandbox. |
|
03 · Kept | Earned its place. |
|
04 · Serving | Registered as an MCP server in ≥1 agent. | derived |
05 · Retired | Killed, with the reason kept forever. |
|
Quickstart
pnpm install
pnpm build
node dist/cli.js setup # first-run: import everything found, offer self-registration
node dist/cli.js serve # web UI at http://localhost:7807First run scans your configured dirs, package managers (npm -g, winget), agent configs and docker ps, and imports what it finds. Nothing leaves your machine.
What it does
Trying untrusted code, safely
Open-source software can carry malicious executables. The last thing you want is to install one and let it run arbitrary code on your machine. So a trial never touches your disk — it clones into a Docker volume, and the container that holds it is locked down.
Inspect mode (default) — read code nobody has audited, with nothing it can do:
--network none no interface exists — nothing can phone home
-v vol:/src:ro the source cannot be modified
--read-only + tmpfs no writable rootfs to persist in
--cap-drop ALL no Linux capabilities
--user 65534 runs as nobody, never root
+ no host path mounted at allVerified against a live trial:
id→nobody, egress blocked, onlyloexists, both filesystems read-only, your SSH keys and every.envsimply not present in the container.
Run mode (explicit choice) gives up exactly one thing — network — so a dependency install can actually run. Everything else holds: still non-root, still cap-dropped, still no host mount, source still read-only, memory and process capped. The runtime image is chosen from what the repo declares, never from what it asks for.
The container walls off what the code does. It does nothing about what a document says, because an agent reading a README straddles the wall — its code runs inside, the agent runs on your host. A malicious repo doesn't need to execute anything; it puts instructions in a README and waits for an agent to act on them. That is prompt injection, and no container flag stops it. The mitigation is discipline: repo text is data to report, never instructions to obey.
Three doors, one core
The CLI, the web UI, and the MCP server all call the same core functions — same guards, same journal, whichever door a call comes in through.
core/ ──► cli.ts # osm setup / serve / refresh / mcp
──► web/server.ts # localhost HTTP + the vanilla-TS UI
──► mcp/server.ts # stdio MCP tools, one per operationDesign commitments
Local-first. Binds
127.0.0.1, per-run token on every mutating route, DNS-rebinding + CSRF guards. No cloud, no auth, no multi-user, ever.Your verdict is sacred. Discovery writes only observed facts (installations, upstream). It never touches
verdict,why,tags,favoriteor a comment.Rows are never deleted. Retire is a verdict, not a removal — the reason outlives the tool.
One runtime dependency.
@modelcontextprotocol/sdk. Everything else isnode:stdlib, including the database (node:sqlite).Prefer an official CLI over editing another tool's config file. Every adapter probes
--helpbefore it writes.
Stack
TypeScript · ESM strict · Vite · node:sqlite · vanilla-TS UI (no framework) · ~15k LOC · 190 tests.
Status
The core funnel — store → track → run → update — is complete and verified. Live catalog browse and the Kimi / Zed / VS Code registrar adapters are scoped but not yet built.
License
MIT © Joseph Gharbieh
This server cannot be installed
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-qualityAmaintenanceEnables AI agents to discover, install, and manage SKILL.md skills from a Git-backed registry via MCP tools for search, install, and list operations.Last updated251MIT
- Flicense-qualityBmaintenanceDual-interface MCP server that exposes declarative tools and reusable skills via standard MCP protocol and provides a REST API for authoring them.Last updated
- Alicense-qualityBmaintenanceDiscovers and manages portable agent capabilities (skills and MCP servers) from configurable collections, providing search, inspection, and local installation via CLI and MCP tools.Last updated1MIT
- Flicense-qualityAmaintenanceManages skills and profiles on disk and probes companion tools (bob, cortex, mcphub, etc.) over stdio MCP, enabling library operations and stack readiness checks.Last updated
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
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/jgharbieh/OSource-Manager'
If you have feedback or need assistance with the MCP directory API, please join our Discord server