Gentic GitHub — Documentation

Connect a GitHub repo once with a one-click app install, then let your AI agent read and write the docs and skill files that live in it — through the Model Context Protocol. List a folder, get a file back verbatim, save or append, find a file by name, and create or remove folders. Every change is a real commit on the repo's default branch, so your repo's history is the audit log.

1. Getting Started

Sign Up & Get Your API Key

Before you can use Gentic GitHub, you need an API key to authenticate your requests.

  1. Go to gentic.co/github and create an account.
  2. Create an organization from your dashboard. API keys and billing are scoped to the organization.
  3. Generate an API key and use it as a Bearer token in your MCP client.

2. Connecting to the MCP Server

The server is available at https://mcp.gentic.co/github. For Claude Code:

claude mcp add gentic-github \
  --transport http \
  https://mcp.gentic.co/github \
  --header "Authorization: Bearer YOUR_API_KEY"

For Claude Web and ChatGPT you can also connect via OAuth — no API key needed. See the connect section on the landing page for other MCP clients (n8n, OpenClaw).

3. Agent Skill

For the best results, pair the MCP server with the Gentic GitHub agent skill. The MCP server gives your agent tool access; the skill teaches it the optimal workflow order. Both the raw SKILL.md and a ready-to-upload .skill bundle are generated on demand from the live manifest, so they always reflect the current tools and pricing.

Add the skill directly via URL:

https://gentic.co/github/SKILL.md

Or upload a .skill bundle to Claude Managed Agents:

https://gentic.co/github/gentic-github.skill

Download this file and upload it wherever Claude Managed Agents asks for a .skill file. It's a zip bundle generated on demand from the latest SKILL.md.

4. When to Apply

  • User wants their agent to read a file or doc that lives in a connected GitHub repo.
  • User wants to save a new file or doc into their repo ("commit this to the repo", "add this as a doc in GitHub").
  • User wants to grow a doc over time by appending, rather than rewriting it each commit.
  • User wants to organize files into folders, or list what's in a folder.
  • User wants to find a file by name when they don't remember its exact path.
  • User wants to remove a file or folder from the repo.
  • User wants their agent's docs/skill files version-controlled in git rather than in a separate store.

5. Workflow

  1. 1. Connect a repo once, then work without credentials

    The GitHub server sources the connection from the org's installed GitHub App (Gentic dashboard → Integrations → GitHub). The user installs the app on a repo and picks it; the server resolves the installation, owner, repo, and default branch from that connection on every call. Your agent never passes a token — it just names files and the server acts on the connected repo. If nothing is connected, the tools return a clear "connect a repo first" error rather than guessing.

  2. 2. List and read with github_list_files / github_get_file

    `github_list_files` walks the repo (or a folder path) so the agent can see what's there before acting. `github_get_file` returns a file's exact bytes — no summarization or truncation — so the agent works from the real content. Both read from the repo's default branch. Reach for `github_find_file` when the user names a file but not its path: it locates the file by name across the repo, then `github_get_file` returns it.

  3. 3. Write with github_save_file (create or replace)

    `github_save_file` writes a file at a path and commits it to the repo's default branch — creating it if it's new, or replacing its contents if it exists. The commit is the unit of change, so the repo's history records every save with its diff. Use it for whole-file writes: a new doc, a regenerated skill file, or a full rewrite of an existing one.

  4. 4. Grow a doc with github_append_file

    `github_append_file` adds new content to the end of an existing file and commits it, preserving everything already there. Use it to build up a single document over time — appending each new section as it comes in — instead of scattering one file per fragment or rewriting the whole file on every change. Append-to-end only; to edit earlier content, `github_get_file` → edit → `github_save_file` the whole file back.

  5. 5. Organize with github_create_folder / github_delete_folder

    `github_create_folder` adds a folder to the repo (git tracks folders via their contents, so this seeds the path), and `github_delete_folder` removes a folder and the files under it in a commit. Collect related docs under a common path and prune whole trees when they're no longer needed — all as commits on the repo's default branch.

  6. 6. Remove a file with github_delete_file

    `github_delete_file` deletes a single file and commits the removal. It's the clean way to retract a doc the user no longer wants — the deletion is a commit, so it's recoverable from history if needed.

  7. 7. Present results clearly

    Don't dump raw file contents or API JSON. Summarize what's in a folder, confirm what was written, and link or name the committed path so the user can find it in GitHub. When a write lands, say so plainly ("committed `docs/onboarding.md` to the repo") rather than echoing the whole file.

6. Tool Reference

8 tools, rendered live from the Gentic MCP manifest. Parameter tables come directly from each tool's JSON Schema.

github_append_file

Free

Append text to a file in your organization's connected GitHub repository. Reads the current contents and adds `content` after a separator (default a newline), committing to the default branch. Creates the file if it doesn't exist yet. Free.

ParameterTypeDescription
path
required
string

File path within the repo, e.g. `docs/changelog.md` (case-sensitive).

content
required
string

The UTF-8 text to append.

separatorstring

Separator inserted between the existing content and the appended text. Default: a newline.

messagestring

Optional commit message. Defaults to `Append to <path> via Gentic`.

github_create_folder

Free

Create a folder in your organization's connected GitHub repository. Because git cannot track empty directories, this adds a `.gitkeep` placeholder inside the folder. Does nothing if the folder already exists. Free.

ParameterTypeDescription
path
required
string

Folder path within the repo, e.g. `docs/playbooks` (case-sensitive).

messagestring

Optional commit message. Defaults to `Create folder <path> via Gentic`.

github_delete_file

Free

Delete a file from your organization's connected GitHub repository, committing to the default branch. A path that doesn't exist is treated as already deleted (no error). Free.

ParameterTypeDescription
path
required
string

File path within the repo to delete, e.g. `docs/old.md` (case-sensitive).

messagestring

Optional commit message. Defaults to `Delete <path> via Gentic`.

github_delete_folder

Free

Delete a folder and all the files inside it from your organization's connected GitHub repository, committing to the default branch (one commit per file). Note: this is NOT atomic — each file is its own commit, so a mid-way failure can leave the folder partially deleted (the result lists which files were removed). Refuses to delete the repository root. Free.

ParameterTypeDescription
path
required
string

Folder path within the repo to delete, e.g. `docs/archive` (case-sensitive).

recursive
required
boolean

Delete subfolders too (default true). If false, a folder containing subfolders is refused.

default: true

messagestring

Optional commit message. Defaults to `Delete folder <path> via Gentic`.

github_find_file

Free

Find files in your organization's connected GitHub repository. `mode: "path"` (default) matches the query against file paths/names (fast, exact-state). `mode: "content"` full-text searches file contents via GitHub Code Search (note: the code index lags recent commits and only covers the default branch). Returns matching files with their path and URL. Path mode may miss files on very large repos (the file tree is truncated past ~100k entries). Free.

ParameterTypeDescription
query
required
string

Search text. For path mode, a substring of the file path/name.

mode
required
string

`path` (match file paths, default) or `content` (full-text search file contents).

enum: path, content · default: "path"

limit
required
integer

Max results (1-50, default 20).

1 – 50 · default: 20

github_get_file

Free

Read a file's contents from your organization's connected GitHub repository. Returns the exact UTF-8 text of the file at `path` on the given branch (default branch if `ref` is omitted). A missing path returns `{ found: false }`. Files larger than 100 MB are not supported. Free.

ParameterTypeDescription
path
required
string

File path within the repo, e.g. `docs/onboarding.md` (case-sensitive).

refstring

Optional branch, tag, or commit SHA to read from. Defaults to the repo's default branch.

github_list_files

Free

List files and folders in your organization's connected GitHub repository. Pass `path` to browse a folder (omit for the repo root). Set `recursive: true` to list the whole subtree (uses the Git Trees API, which also covers folders with more than 1000 items). Returns each entry's name, path, type (file/dir), size, and sha. Free.

ParameterTypeDescription
pathstring

Folder path within the repo, e.g. `docs/`. Omit for the repo root.

recursive
required
boolean

List the entire subtree under `path` (default false = immediate children only).

default: false

refstring

Optional branch, tag, or commit SHA. Defaults to the repo's default branch.

github_save_file

Free

Create or update a file in your organization's connected GitHub repository. Writes `content` (UTF-8 text) to `path`, committing directly to the default branch. Creates the file if it doesn't exist, replaces it if it does. Returns the commit. Free.

ParameterTypeDescription
path
required
string

File path within the repo, e.g. `docs/onboarding.md` (case-sensitive).

content
required
string

The full UTF-8 text content of the file.

messagestring

Optional commit message. Defaults to `Update <path> via Gentic`.

7. Pricing

Pricing is pulled live from the Gentic MCP manifest. All prices are per call and deducted from your Gentic credits.

ToolCost
github_append_fileFree
github_create_folderFree
github_delete_fileFree
github_delete_folderFree
github_find_fileFree
github_get_fileFree
github_list_filesFree
github_save_fileFree

8. Notes

  • Organization-scoped: the repo, owner, and branch come from the org's connected GitHub App installation (dashboard → Integrations → GitHub). The server only ever touches that repo, through that org's installation.
  • One-click connect: there's no personal access token to paste or rotate. The only secret is the GitHub App's private key, which lives in gentic-mcp-server's environment and never reaches gentic-web, your agent, or the browser.
  • Every write is a commit: save, append, create-folder, and delete all land as real commits on the repo's default branch, so the repo's git history is the audit log — with diffs and the ability to revert.
  • Reads are verbatim: `github_get_file` returns the exact bytes in the repo — no synthesis or truncation.
  • v1 connects one repo per org (whole tree), on the repo's default branch (captured at connect time). All GitHub tools are free.
  • App permissions are Contents (read/write) + Metadata (read) — surfaced on GitHub's install screen when you connect.