Skip to main content
Glama
sam170203

Personal GitHub MCP

by sam170203

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LLM_MODELNoAlias for OPENAI_MODEL.
LOG_LEVELNoDEBUG, INFO, WARNING, ERROR.INFO
LLM_API_KEYNoAlias for OPENAI_API_KEY.
MAX_RESULTSNoDefault result cap for list/search tools (1–100).20
GITHUB_TOKENNoGitHub Personal Access Token (classic repo scope, or a fine-grained token with read/write on your repos).
LLM_BASE_URLNoAlias for OPENAI_BASE_URL.
OPENAI_MODELNoModel used for README generation.gpt-4o-mini
DEFAULT_BRANCHNoBranch used when initializing new repos.main
OPENAI_API_KEYNoOptional OpenAI-compatible API key for LLM-generated READMEs.
GITHUB_USERNAMENoAccount used to scope searches/repo listing.token owner
GIT_AUTHOR_NAMENoAuthor for local git commits.Personal GitHub MCP
OPENAI_BASE_URLNoBase URL for an OpenAI-compatible chat/completions endpoint.https://api.openai.com/v1
EULER_REPOSITORYNoRepo that stores Project Euler solutions.project-euler
GIT_AUTHOR_EMAILNoCommitter email for local commits.personal-github-mcp@users.noreply.github.com
DEFAULT_VISIBILITYNoVisibility for new repos (private/public).private
PERSONAL_GITHUB_TOKENNoAlias for GITHUB_TOKEN.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_repositoriesA

List your GitHub repositories.

Args: visibility: 'all', 'private' or 'public'. sort: 'pushed', 'updated', 'created' or 'full_name'. limit: maximum number of repositories to return.

repository_summaryB

Return a high-level summary of a GitHub repository.

Args: name: repository name ('repo' or 'owner/repo').

create_repositoryA

Create a new repository on GitHub under your account.

Args: name: desired repository name (letters, digits, '-', '_', '.'). description: short description shown on GitHub. private: whether the repository is private.

project_statisticsA

Show development statistics for a repository.

Includes language breakdown, commit counts per author, and open issues / pull requests.

Args: name: repository name ('repo' or 'owner/repo').

explain_repositoryB

Explain what a repository is about in plain language.

Args: name: repository name ('repo' or 'owner/repo').

stale_repository_reportA

List repositories that have not been pushed to recently.

Args: threshold_days: only report repos idle for at least this many days. limit: maximum number of repos to report.

recommend_projectA

Recommend a project to work on next.

Scores your repositories by recency, activity and (optionally) a comma-separated list of interests matched against the primary language.

Args: interests: comma-separated language interests, e.g. 'python, rust'. limit: number of recommendations to return.

publish_projectA

Publish a local project as a new GitHub repository.

Initializes a git repository if needed, commits all files, creates the remote repository on GitHub and pushes the default branch.

Args: path: absolute path to the local project directory. repo_name: GitHub repository name (defaults to the folder name). description: short description for the new repository. private: whether the repository is private. commit_message: optional commit message for the initial commit. branch: default branch for new repositories.

publish_current_projectA

Publish the current working directory as a GitHub repository.

Detects the project, generates a README and .gitignore when missing, initializes git if needed, creates the GitHub repository if needed, commits and pushes everything, then returns the repository URL.

Args: repo_name: GitHub repository name (defaults to the folder name). description: short description for the new repository. private: whether the repository is private. commit_message: optional commit message for the initial commit. branch: default branch for new repositories.

backup_projectA

Commit local changes and push them to GitHub.

Requires path to be a git repository with (or able to create) an 'origin' remote. Use for routine backups of an existing project.

Args: path: absolute path to the local project directory. commit_message: optional commit message (defaults to a dated message).

search_codeA

Search GitHub code for a keyword.

Args: keyword: the text to search for. language: optional filter, e.g. 'python'. owner: optional GitHub user/org to scope the search to. limit: maximum number of results.

search_repositoryA

Search for repositories by name.

Args: name: repository name to search for. owner: optional GitHub user/org to scope the search to. limit: maximum number of results.

where_did_i_useA

Find where you used a given keyword in your own repositories.

Args: keyword: the text to search for in your code. language: optional filter, e.g. 'python'. limit: maximum number of results.

search_my_engineering_memoryA

Search your engineering memory across all of your repositories.

Looks through repository metadata, README files, architecture documentation and source code, returning ranked results.

Args: keyword: the text to search for. limit: maximum number of ranked results to return.

upload_euler_solutionB

Upload a Project Euler solution to your solutions repository.

Files are stored as problem_<NNN>/<filename> in the Euler repository (default: project-euler).

Args: problem_number: the Project Euler problem number. file_path: absolute path to the local solution file. commit_message: optional commit message.

publish_euler_solutionA

Publish a Project Euler solution with an auto-generated README.

Detects the problem in the current directory (or path), infers the problem number, language and source file, generates a README.md, then uploads the solution and README to your Euler repository and returns the GitHub URL.

Args: path: optional directory containing the problem (defaults to the current working directory). commit_message: optional commit message.

update_progressA

Report your current Project Euler progress from GitHub.

Returns the list of solved problems, totals and the next unsolved problem number.

compare_repositoriesA

Compare two repositories and summarize their differences.

Args: repository_a: first repository name ('repo' or 'owner/repo'). repository_b: second repository name ('repo' or 'owner/repo').

dependency_summaryA

Summarize the dependencies of a local project.

Detects a manifest file (pyproject.toml, requirements.txt, package.json, Cargo.toml, go.mod, Gemfile, composer.json) and lists its dependencies.

Args: path: absolute path to the local project directory.

architecture_summaryA

Summarize the architecture of a local project.

Reports file language breakdown, top-level structure, and likely entry points.

Args: path: absolute path to the local project directory.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/sam170203/personal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server