Setup guide
Connect Claude
to Projects.
Give Claude read access to every KeckerCo repo's architecture docs — search, list, and read them without leaving the conversation.
Server & auth
Every client below points at the same MCP endpoint:
https://projects.kecker.co/mcp
Auth is GitHub OAuth, restricted to members of the KeckerCo GitHub org. The first tool call opens a browser sign-in — there's no API key to generate or paste. Sign-in itself is refused for anyone whose GitHub account is not an active member of the org, so access is enforced by org membership rather than a separate allowlist that would need maintaining.
The pull-request tools read and merge live through a separate installed GitHub App, not through your own login — your session never gains repo-content access, and the App's credential is never derived from or combined with any individual's account. Merging is gated on org membership, the same boundary as everything else here — not on whether you personally have write access to that specific repo.
Connect a client
Claude.ai / Claude Desktop
Settings → Connectors → Add custom connector, then paste the server URL above. That's the only field that matters — Claude handles the OAuth handshake.
Claude Code
Run this once from any shell:
claude mcp add --transport http projects https://projects.kecker.co/mcp
Other MCP clients
Any client that reads a standard mcpServers config block:
{
"mcpServers": {
"projects": {
"url": "https://projects.kecker.co/mcp"
}
}
}
Available tools
list_reposLists every indexed KeckerCo repo with doc counts and last-updated time — a good first call to see what's available.
list_docsLists the architecture docs indexed for one repo (path, title, size, last updated).
read_docReads the full markdown content of one doc, given its repo and path.
searchFull-text search across every indexed doc's chunks, optionally scoped to one repo — returns snippets with a heading breadcrumb.
list_pull_requestsLists pull requests for a repo, live from GitHub (not the indexed docs) — open by default, or closed/all.
read_pull_request_diffReads a pull request's diff, live from GitHub, given its repo and number.
merge_pull_requestMerges a pull request. A real write — refuses unless GitHub reports it cleanly mergeable, and requires explicit confirmation in the tool call itself.