About GitHub
GitHub is an mcp-suite MCP server for accessing GitHub, suited to workflows that search and read repositories, issues, and PRs through an MCP client. It also supports notifications and issue creation, with OAuth device flow or token authentication.
Key features
- 01Search repositories, code, and issues
- 02Read repositories, issues, PRs, and files
- 03View notifications
- 04Create issues
- 05Authenticate with OAuth device flow or token
Use cases
- 01Search GitHub repositories and code
- 02Review issue and PR content
- 03Handle notifications and create issues through an MCP client
MCP support
It exposes tools for searching and reading GitHub content, viewing notifications, and creating issues to MCP clients; authentication uses OAuth device flow or a token.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @abhishekmcp/githubGITHUB_TOKENSecretA GitHub Personal Access Token (skips the OAuth device flow).GITHUB_CLIENT_IDOAuth App client id (public) to enable the device-flow login.GITHUB_READONLYSet to 1 or true to disable issue-creating/commenting tools.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
16Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEEach 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.
Table of contents
- Servers
- Quickstart
- Install
- Connecting to a client
- Architecture & conventions
- Development
- Adding a new server
- Publishing
- Contributing
- License
Servers
| 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.
Quickstart
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
Install
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.
Connecting to a client
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" }
}
}
}
Architecture & conventions
A few principles hold across every server:
- Pure-JS/WASM by default; native only when genuinely required. Servers run via
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:notesuses MiniSearch + WebAssembly embeddings,sqluses thesql.jsWASM SQLite engine, andfilesusesfast-globinstead of ripgrep.npm auditstays clean. - Sandbox-first, layered design. Each server keeps a thin
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). - Token-efficient by default. Pagination, head/tail/section reads, snippets, and compact graph refs keep tool output small.
- Automated, hands-off releases. A GitHub Release tagged
<server>-v<version>publishes to npm (with provenance), the official MCP registry, and attaches an MCPB bundle — all via OIDC, no secrets. - Tested in CI. Each server ships a committed
node:testsuite (unit + integration/security) run on every push.
Development
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
Adding a new server
- Create
servers/<name>/with its ownpackage.json(unique npmname) and atsconfig.jsonthatextends: "../../tsconfig.base.json". - Put source in
servers/<name>/src/. - Run
npm installat the root so the workspace picks it up. - Add a row to the Servers table above.
All servers follow the naming standard (@abhishekmcp/<slug>). See CONTRIBUTING.md for detailed guidelines.
Publishing
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 "…"
Contributing
Contributions are welcome! Please read CONTRIBUTING.md and our Code of Conduct. Found a security issue? See SECURITY.md.
License
MIT © Abhishek
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.