github-assistant
Provides tools for interacting with the GitHub REST API, enabling agents to retrieve the authenticated user's commit activity for the current day across all their repositories, including a per-repository breakdown.
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., "@github-assistantHow many commits did I make today?"
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.
GitHub Assistant MCP Server
A lightweight Model Context Protocol (MCP) server that connects Claude (or any MCP-compatible client) directly to your GitHub account — letting Claude answer questions like "How many commits did I make today?" by calling the GitHub REST API on your behalf.
Architecture / Flow
flowchart LR
A[" User"] -->|"Ask: How many commits today?"| B[" Claude (MCP Client)"]
B -->|"stdio transport"| C["⚙️ MCP Server\n(github-assistant)"]
C -->|"registerTool: getMyTodayCommits"| D{"GitHub REST API"}
D -->|"GET /user"| E[" Authenticated user"]
D -->|"GET /user/repos"| F[" List of repositories"]
D -->|"GET /repos/:owner/:repo/commits"| G[" Commits per repo (today)"]
E --> C
F --> C
G --> C
C -->|"JSON: totalCommits + repositories"| B
B -->|"Formatted answer"| AIn short:
You ask Claude a question in natural language.
Claude recognizes it matches the
getMyTodayCommitstool and invokes the MCP server over stdio.The server authenticates with your
GITHUB_TOKEN, fetches your GitHub username, lists your repositories, then queries commits made today across all of them.The aggregated result (total commits + per-repo breakdown) is returned to Claude, which turns it into a natural-language answer for you.
Related MCP server: GitHub MCP Server
Features
Secure token-based GitHub authentication (via
.env, never hardcoded)Aggregates today's commit count across all your repositories
Built on the official
@modelcontextprotocol/sdkWorks with any MCP-compatible client (Claude Desktop, Claude Code, etc.)
Zero database, zero server hosting — runs locally over stdio
Project Structure
github-assistant-mcp/
├── src/
│ └── index.ts # MCP server entry point (tool registration + logic)
├── .env # Your local GitHub token (not committed)
├── .env.example # Template for required env vars
├── package.json
├── tsconfig.json
└── README.mdGetting Started
1. Fork & Clone
# Fork this repo on GitHub first, then:
git clone https://github.com/<your-username>/github-assistant-mcp.git
cd github-assistant-mcp2. Install dependencies
npm install3. Create a GitHub Personal Access Token
Go to GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens
Generate a new token with at least:
Contents: Read-onlyMetadata: Read-only
Copy the generated token.
4. Configure environment variables
cp .env.example .env# .env
GITHUB_TOKEN=ghp_your_token_hereNever commit your
.envfile. Make sure it's listed in.gitignore.
5. Build the project
npm run buildThis compiles src/index.ts into a runnable JS entry point (e.g. dist/index.js).
6. Run it standalone (optional sanity check)
node dist/index.jsYou should see:
GitHub MCP SERVER STARTEDThe server is now listening on stdio, waiting for an MCP client to connect.
Connecting to Claude
Claude Desktop
Edit your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add an entry under mcpServers:
{
"mcpServers": {
"github-assistant": {
"command": "node",
"args": ["/absolute/path/to/github-assistant-mcp/dist/index.js"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Restart Claude Desktop. You should see github-assistant listed under the 🔌 connectors/tools icon.
Claude Code / CLI
claude mcp add github-assistant -- node /absolute/path/to/github-assistant-mcp/dist/index.jsAvailable Tools
Tool | Description | Parameters |
| Returns the total number of commits made today across all your repositories, plus a per-repository breakdown | None |
Example response:
{
"totalCommits": 7,
"repositories": {
"my-portfolio": 3,
"mcp-experiments": 4
}
}Forking & Extending
Want to add your own tools (e.g. getOpenPullRequests, getStarredRepos)? The pattern is simple:
server.registerTool(
"yourToolName",
{ description: "What this tool does" },
async () => {
// 1. Call GitHub (or any) API
// 2. Shape the response
return {
content: [{ type: "text", text: JSON.stringify(result) }],
};
}
);Steps to contribute:
Fork this repository
Create a feature branch:
git checkout -b feature/your-tool-nameAdd your tool inside
src/index.ts(or split intosrc/tools/*.tsas it grows)Test locally by running the compiled server and connecting it to Claude Desktop/Code
Commit and open a Pull Request 🎉
⚠️ Known Limitations
The repository owner in the commit-fetch URL is currently hardcoded (
JokkimDoras) — replace this with the dynamically fetchedusernamevariable so the tool works for any forked user.Only checks the authenticated user's own repos (
/user/repos) — doesn't cover commits made to repos you've contributed to but don't own.No pagination handling beyond the first 100 repos.
📄 License
MIT — free to use, fork, and modify.
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 Connectors
GitHub MCP — wraps the GitHub public REST API (no auth required for public endpoints)
An MCP server that gives your AI access to the source code and docs of all public github repos
Create, deploy, and operate MCP servers directly from your GitHub repositories.
GitHub Private MCP Pack — access private repos, org data via OAuth.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides an MCP server for scraping and retrieving data from GitHub Projects, including issues, pull requests, and organizational metadata. It enables natural language interaction with project boards and repository contents using GitHub Personal Access Tokens.1
- FlicenseNot gradedqualityCmaintenanceEnables natural language interaction with GitHub through an MCP server. Supports reading repos, issues, and PRs, as well as creating and editing issues with user confirmation.
- FlicenseAqualityCmaintenanceMCP server that wraps GitHub REST API to allow AI agents to search repositories, get repository details, list issues, and read READMEs.4
- FlicenseNot gradedqualityCmaintenanceMCP server that connects to the GitHub API to list and create issues, comment on issues, and list pull requests with diff summaries. It enables natural language management of GitHub repositories from MCP-compatible clients.
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/JokkimDoras/github-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server