Local Git via MCP: status, log, diff, file history, branches, and gated stage/commit. Pure-JS.
Runs on your machine from its package; the steps are below.
At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted โ your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @abhishekmcp/git
MCP client config
{
"mcpServers": {
"git": {
"command": "npx",
"args": [
"-y",
"@abhishekmcp/git"
]
}
}
}Each server lives in its own folder under servers/ and publishes to npm as an independent package, while sharing tooling through an npm workspace. Connect them to any MCP client โ Claude Desktop, Claude Code, Cursor, and more.
| Server | Description | Status |
|---|---|---|
notes | Local markdown notes: ranked full-text and semantic search, tags, todos, a [[wiki-link]] knowledge graph, daily notes + templates, and slash-command workflows (prompts) | โ Stable |
files | Sandboxed local filesystem: read, glob + content search, token-efficient edits, copy/move, soft-delete trash, zip, checksums, and dedup | โ Stable |
github | GitHub: search repos/code/issues, read repos/issues/PRs/files, notifications, create issues โ OAuth device flow or token | โ Stable |
git | Git: status, log, diff, file history, branches/tags, gated stage/commit, and remote clone/fetch/pull/push โ pure-JS, no git binary | โ Stable |
sql | SQL databases: read-only query + schema introspection over Postgres & SQLite, gated writes | โ Stable |
http | HTTP/REST client: ad-hoc requests + saved collections/environments, env secrets, host-allowlisted + SSRF-safe | โ Stable |
More on the way: a Spotify controller, and others.
git clone https://github.com/Abhishekkumar2021/mcp-suite.git
cd mcp-suite
npm install # installs deps for every workspace
npm run build # builds every server
Every server ships through every common channel. For the Claude Code plugin, add the marketplace
once โ /plugin marketplace add Abhishekkumar2021/mcp-suite โ then install per the table. See each
server's README for full config.
| Server | Claude Code plugin | npm (any client) | Claude Desktop (MCPB) | MCP registry |
|---|---|---|---|---|
notes | /plugin install notes | npx -y @abhishekmcp/notes | drag notes-*.mcpb from the latest release | io.github.Abhishekkumar2021/notes |
files | /plugin install files | npx -y @abhishekmcp/files | drag files-*.mcpb | io.github.Abhishekkumar2021/files |
github | /plugin install github | npx -y @abhishekmcp/github | drag github-*.mcpb | io.github.Abhishekkumar2021/github |
git | /plugin install git | npx -y @abhishekmcp/git | drag git-*.mcpb | io.github.Abhishekkumar2021/git |
sql | /plugin install sql | npx -y @abhishekmcp/sql | drag sql-*.mcpb | io.github.Abhishekkumar2021/sql |
http | /plugin install http | npx -y @abhishekmcp/http | drag http-*.mcpb | io.github.Abhishekkumar2021/http |
notesdefaults to~/notes;filesrequiresFS_ROOTS(the directories it may touch). MCPB bundles install via Claude Desktop โ Settings โ Extensions.
Each server's README has full configuration instructions. As an example, to use the notes server with Claude Code:
claude mcp add notes --env NOTES_DIR=$HOME/notes -- node "$(pwd)/servers/notes/dist/index.js"
Or with Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"notes": {
"command": "node",
"args": ["/absolute/path/to/mcp-suite/servers/notes/dist/index.js"],
"env": { "NOTES_DIR": "/absolute/path/to/your/notes" }
}
}
}
A few principles hold across every server:
npx/MCPB on any
machine, so portable pure-JS/WebAssembly is strongly preferred and a native dependency is used only when
genuinely required (gated + documented). In practice these servers are dependency-light: notes uses
MiniSearch + WebAssembly embeddings, sql uses the sql.js WASM SQLite engine, and files uses
fast-glob instead of ripgrep. npm audit stays clean.index.ts (tool registration only) over
focused modules, with a single security boundary every path must pass through (realpath-containment,
symlink-escape rejection, atomic writes).<server>-v<version> publishes to npm
(with provenance), the official MCP registry, and attaches an MCPB bundle โ all via OIDC, no secrets.node:test suite (unit + integration/security) run on
every push.This is an npm workspaces monorepo.
npm install # install all workspace dependencies (run once at the root)
npm run build # build every server
npm run build -w servers/notes # build a single server
npm test --workspaces --if-present # run each server's test suite
npm run clean # remove all build output
servers/<name>/ with its own package.json (unique npm name) and a tsconfig.json that extends: "../../tsconfig.base.json".servers/<name>/src/.npm install at the root so the workspace picks it up.All servers follow the naming standard (@abhishekmcp/<slug>). See CONTRIBUTING.md for detailed guidelines.
Releases are automated. Cutting a GitHub Release tagged <server>-v<version> triggers
publish.yml, which โ authenticated entirely via GitHub OIDC (no
NPM_TOKEN) โ publishes the package to npm with provenance, registers it on the official MCP
registry, and builds + attaches the MCPB bundle to the release.
# bump servers/<name>/package.json, commit, then:
gh release create <name>-v<version> --title "<name> v<version>" --notes "โฆ"
Contributions are welcome! Please read CONTRIBUTING.md and our Code of Conduct. Found a security issue? See SECURITY.md.
MIT ยฉ Abhishek