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_repos

Lists every indexed KeckerCo repo with doc counts and last-updated time — a good first call to see what's available.

list_docs

Lists the architecture docs indexed for one repo (path, title, size, last updated).

read_doc

Reads the full markdown content of one doc, given its repo and path.

search

Full-text search across every indexed doc's chunks, optionally scoped to one repo — returns snippets with a heading breadcrumb.

list_pull_requests

Lists pull requests for a repo, live from GitHub (not the indexed docs) — open by default, or closed/all.

read_pull_request_diff

Reads a pull request's diff, live from GitHub, given its repo and number.

merge_pull_request

Merges a pull request. A real write — refuses unless GitHub reports it cleanly mergeable, and requires explicit confirmation in the tool call itself.