mcp-github-db-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | GitHub personal access token with repo scope (classic PAT) or equivalent fine-grained read/write access to the repositories the agent should access. | |
| DATABASE_PATH | No | Path to the local SQLite database, e.g. ./data/app.sqlite. | |
| GITHUB_DEFAULT_REPO | No | Optional default GitHub repository name, used to avoid passing repo on every call. | |
| GITHUB_DEFAULT_OWNER | No | Optional default GitHub repository owner, used to avoid passing owner on every call. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| github_list_reposA | List repositories visible to the authenticated GitHub token (own repos, plus any orgs the token can see). |
| github_get_fileB | Read a file's contents from a GitHub repository at a given ref. |
| github_list_directoryC | List files and subdirectories at a given path in a GitHub repository. |
| github_search_codeB | Search code across GitHub (or scoped to one repo) using GitHub's code search syntax. |
| github_list_issuesC | List issues for a repository, optionally filtered by state. |
| github_create_issueC | Create a new issue in a GitHub repository. |
| github_list_pull_requestsC | List pull requests for a repository, optionally filtered by state. |
| db_list_tablesB | List all tables in the local SQLite database. |
| db_describe_tableB | Show column names, types, and constraints for a table. |
| db_queryA | Run a read-only SQL query (SELECT/WITH/EXPLAIN only) against the local database and return the rows. |
| db_executeB | Run a write statement (INSERT/UPDATE/DELETE/CREATE TABLE) against the local database. Returns affected row count. |
| db_upsert_projectB | Convenience helper: insert or update a row in the |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools have clearly distinct resource-and-action purposes: GitHub reads, issue creation, PR listing, and DB read/write/table inspection are separable. The main overlap is db_upsert_project versus db_execute, since upsert_project is a specialized write helper that could also be done via generic execution.
The set follows a predictable domain-prefixed verb_noun pattern: github_list_repos, github_get_file, db_list_tables, db_describe_table, db_upsert_project. Minor deviations are db_query and db_execute, which omit a noun object but remain clear and consistent with the db_ prefix.
Twelve tools is well within a reasonable range for a server combining GitHub reads/issue creation with local SQLite access. Each tool covers a distinct operation, and the surface does not feel bloated or thin.
The database side is fairly complete with table listing, schema description, read queries, writes, and an upsert helper. The GitHub side is notably incomplete: it can list issues and create issues, but has no update/close/get issue, no PR creation or merge, and no PR detail or comment operations.