There are two official ways to connect Claude to your GitHub repository: the native GitHub connector built into Claude.ai, which syncs the files of one branch into your Projects, and the GitHub MCP server, which gives Claude tool-based access to the repo. The part most guides skip: the native connector only sees files — as of August 13, 2026, Claude's official documentation states that it does "not retrieve commit history, PRs, or other metadata."
This guide does both jobs honestly: the step-by-step setup, then a demonstration of the limit — on a question every team eventually asks — and your options when that limit matters. If MCP servers are new to you, our plain-language explanation covers the vocabulary in five minutes.
Connecting Claude's native GitHub connector, step by step
The native connector is the simplest route, and for many uses it is the right one:
- Open a Project in Claude.ai (or create one): Projects are where shared knowledge for a conversation lives.
- Add content from GitHub: in the Project's knowledge sources, pick GitHub and authorize the app on your account or organization.
- Select the repository and the branch, then the files or folders to sync. On a large repo, pick the useful folders rather than everything: the context window is not infinite.
- Ask your questions. Claude answers from the synced file contents — architecture, business logic, conventions, "where is X handled".
- After the code changes, re-sync manually: the connector does not follow your pushes on its own. The sync action reloads the current state of the branch.
For understanding a codebase as it is today, this connector does its job well. That is exactly the scope it was designed for.
What the connector sees — and what it can't see
Claude's native GitHub connector syncs the names and contents of the files on one branch. Nothing else: no commit history, no diffs, no pull requests, no metadata.
That is the definition worth remembering, and it comes from the documentation itself. In practice:
- It sees: the current state of the synced files — code, config, embedded docs, as of the last sync.
- It can't see: what those files were yesterday, what changed between two versions, who introduced a change, in which pull request, with what intent.
A concrete example: your config file says retry_limit: 3. Claude, connected through the native connector, will happily tell you the retry limit is 3 and where it applies. Ask it since when it has been 3, whether it used to be 5, and why it changed: it has structurally no way to know. That information is not in the current state of the files — it lives in the git history, which the connector never receives.
"What changed in the product this week?" — the question that fails
Ask Claude that question through the native connector, and the honest answer it can give is "I see the current state of the code, not its evolution." A snapshot contains no delta. And this is not a textbook edge case — it is a whole family of questions teams ask constantly:
- What changed since v2.3? (the customer coming back after two months)
- Why did this behavior change? (the mystery support ticket right after a release)
- Does this week's update break my integration? (the integrator who depends on your API)
- Is this feature new, fixed, or deprecated? (customer success preparing a client call)
All of them need the same raw material: commit history and the contents of the diffs. That is exactly what the native connector does not sync. It is not an implementation flaw — it is a scoping decision. But you want to know about it before building your support or onboarding on top.
The DIY option: the official GitHub MCP server
The second official route: the GitHub MCP server, plugged into Claude (or Cursor) as an MCP connector. This one accesses the repository with tools: listing commits, reading pull requests, searching code. For a developer holding credentials, part of the question family above becomes reachable — and if your team writes disciplined commit messages, "what changed this week" can get a decent answer by aggregating the recent ones.
Let's be precise about what DIY covers well, and where it stops:
- The answer is built from metadata. A list of commits is a table of contents, not an explanation: if the messages are vague ("fix", "wip", "tweaks"), the answer inherits their vagueness. And "why did this behavior change" requires going down into the diffs themselves and reconstructing intent — analysis work, not a lookup.
- Every asker needs credentials on the repo. For you, a developer, that is one more token. For a support agent like Intercom Fin or HubSpot Breeze, for an agency client under NDA, for an external integrator — handing out repo access is simply not an option.
If you are a well-tooled developer with disciplined commit habits, the official GitHub MCP server may be all you need — that is the honest answer. What follows is for the other cases: askers without credentials, and questions whose answer lives in the diffs.
Ready to see what your team shipped?
Giving out answers, not code: the per-project product expert
That is the slot DeployIt occupies: one MCP server per project, acting as your product's expert. It reads the real code — re-synced on every push, no button to click — and the full git history, commits and diffs, and verifies in the code before asserting. "What changed in the product this week?" gets an answer sourced from the actual changes, even when the commit messages say nothing: the raw material is the diffs, not their summaries.
The structural difference with the two routes above fits in one sentence: the people and agents asking get access to the answers, not access to the code. Claude — your whole team's Claude —, a support agent, a customer's integrator all query the expert and get answers derived from the code; none of them holds credentials on the repository. For an agency whose contracts forbid exposing client code, or a SaaS whose support agent must know about this morning's release, that is the difference between "impossible" and "wired up in an hour".
And because the question deserves to be turned around: yes, DeployIt itself reads your repo. The exact terms: a read-only GitHub connection, one server per project, answers sourced from commits and diffs — never raw source code passed through — and access you can revoke at any time from GitHub. The code never leaves the repository.
On the rest of the landscape: Context7 covers public libraries, DeepWiki documents GitHub repos — public-first —, Mintlify generates an MCP server from written documentation (drift included). The private product, derived from the code itself, fresh on every deploy, is the gap the per-project expert fills. The DeployIt MCP server is in early access, through a design partner program.
Mini-FAQ
Does Claude's GitHub connector read commit history? No. The official documentation is explicit: only file names and contents on one branch are synced — no commit history, no PRs, no metadata (verified August 13, 2026).
Is the official GitHub MCP server enough for "what changed"? Partly, for a developer with credentials: it lists commits and reads PRs. Answer quality tracks commit-message quality, and "why did this behavior change" requires analyzing diffs. Askers without repo access stay locked out either way.
Can my support agent use either of these routes? Not directly: both assume GitHub credentials per asker. The practical route is an answers endpoint — an MCP server that holds the access and serves the answers. That is the subject of our article on AI support agents that don't know your product.
Does DeployIt see all my code? It reads the repository read-only to build its answers, and never passes raw source through. Access is revocable at any time; the code never leaves the repo.
Connecting Claude to GitHub is the right instinct — you just need to know what each route can see. For the current state of the code, the native connector is enough. For the "what changed" family, you need history and diffs: that is the per-project product expert's job. If you want to shape it with us, the design partner program is open for applications.
Continue reading
Why Doesn't Your AI Support Agent Know Your Product?
AI support agents answer from a frozen copy of your product, not from what you just shipped. Why that is structural — and how to ground them in your real code.
What Is an MCP Server? A Plain-Language Explanation
An MCP server is a standard socket between your data sources and AI agents. A plain definition, how it works, use cases — and the private-product gap.
Dev-Days: The Honest Unit for Developer Output
Lines of code, commits, story points, hours: all of these count gestures. The dev-day (≈ 5 hours of focused production) estimates what got produced — humans and AI agents alike.