mcpField
G
GitHub

GitHub

Local
github.comVersion Control1Updated 17w ago

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

  1. 01Search repositories, code, and issues
  2. 02Read repositories, issues, PRs, and files
  3. 03View notifications
  4. 04Create issues
  5. 05Authenticate with OAuth device flow or token

Use cases

  1. 01Search GitHub repositories and code
  2. 02Review issue and PR content
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"abhishekkumar2021-github": {
"command": "npx",
"args": [
"-y",
"@abhishekmcp/github"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"GITHUB_CLIENT_ID": "<GITHUB_CLIENT_ID>",
"GITHUB_READONLY": "<GITHUB_READONLY>"
}
}
}
}
Run commandnpx -y @abhishekmcp/github
Environment variables to set
GITHUB_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.

Packages
npm@abhishekmcp/github0.2.0

Tools

16

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

🧰 mcp-suite

A collection of Model Context Protocol servers, built in TypeScript.

CI License: MIT PRs Welcome Node.js

@abhishekmcp/notes @abhishekmcp/files @abhishekmcp/github @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.

Table of contents

Servers

ServerDescriptionStatus
notesLocal markdown notes: ranked full-text and semantic search, tags, todos, a [[wiki-link]] knowledge graph, daily notes + templates, and slash-command workflows (prompts)✅ Stable
filesSandboxed local filesystem: read, glob + content search, token-efficient edits, copy/move, soft-delete trash, zip, checksums, and dedup✅ Stable
githubGitHub: search repos/code/issues, read repos/issues/PRs/files, notifications, create issues — OAuth device flow or token✅ Stable
gitGit: status, log, diff, file history, branches/tags, gated stage/commit, and remote clone/fetch/pull/push — pure-JS, no git binary✅ Stable
sqlSQL databases: read-only query + schema introspection over Postgres & SQLite, gated writes✅ Stable
httpHTTP/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.

ServerClaude Code pluginnpm (any client)Claude Desktop (MCPB)MCP registry
notes/plugin install notesnpx -y @abhishekmcp/notesdrag notes-*.mcpb from the latest releaseio.github.Abhishekkumar2021/notes
files/plugin install filesnpx -y @abhishekmcp/filesdrag files-*.mcpbio.github.Abhishekkumar2021/files
github/plugin install githubnpx -y @abhishekmcp/githubdrag github-*.mcpbio.github.Abhishekkumar2021/github
git/plugin install gitnpx -y @abhishekmcp/gitdrag git-*.mcpbio.github.Abhishekkumar2021/git
sql/plugin install sqlnpx -y @abhishekmcp/sqldrag sql-*.mcpbio.github.Abhishekkumar2021/sql
http/plugin install httpnpx -y @abhishekmcp/httpdrag http-*.mcpbio.github.Abhishekkumar2021/http

notes defaults to ~/notes; files requires FS_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: 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.
  • 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:test suite (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

  1. Create servers/<name>/ with its own package.json (unique npm name) and a tsconfig.json that extends: "../../tsconfig.base.json".
  2. Put source in servers/<name>/src/.
  3. Run npm install at the root so the workspace picks it up.
  4. 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

Markdown supported

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.