CodeWiki MCP — AI-generated docs for GitHub repos MCP Server
io.github.izzzzzi/codewiki-mcp
Search, fetch docs, and ask questions about any open-source repo via codewiki.google
What is the CodeWiki MCP — AI-generated docs for GitHub repos MCP server?
The CodeWiki MCP server connects AI assistants to codewiki.google, a service that generates comprehensive wiki documentation for GitHub repositories. It provides tools to search repos, fetch full markdown or structured documentation, and ask natural-language questions about any open-source project.
CodeWiki MCP gives you instant access to AI-generated documentation for any GitHub repository. Search for projects, retrieve complete wiki pages in markdown or structured JSON format, and ask natural-language questions with conversation history. It uses Google's batchexecute RPC API and includes NLP-powered repo resolution so you can type naturally instead of exact owner/repo names.
How to install CodeWiki MCP — AI-generated docs for GitHub repos
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
codewiki_search_repos— Search repositories indexed by codewiki.google with optional limit parameter (1-50 results)codewiki_fetch_repo— Fetch generated wiki content for a repository in aggregate (full markdown) or pages (structured JSON) modecodewiki_ask_repo— Ask natural-language questions about a repository with optional conversation history support (max 20 messages)
Use cases
- Search for open-source projects and get their documentation instantly without visiting GitHub
- Fetch complete wiki documentation for a library to understand its architecture and API
- Ask specific questions about how a framework works (e.g., 'how does React fiber reconciliation work?')
- Resolve repositories using natural language (e.g., 'the fastify web framework' → fastify/fastify)
- Maintain conversation context when asking follow-up questions about a codebase
CodeWiki MCP — AI-generated docs for GitHub repos MCP server FAQ
It's an MCP server that connects AI assistants to codewiki.google, which provides AI-generated wiki documentation for any GitHub repository. You can search repos, fetch docs, and ask questions.
Yes, codewiki-mcp is open-source (MIT licensed) and free. It accesses codewiki.google's public API.
Add to your MCP config file (.cursor/mcp.json or claude_desktop_config.json): {"codewiki-mcp": {"command": "npx", "args": ["-y", "codewiki-mcp@latest"]}}
No authentication is required for basic usage. Optionally set GITHUB_TOKEN environment variable to avoid GitHub API rate limits when using NLP repo resolution.
Two modes: 'aggregate' returns full markdown, and 'pages' returns structured JSON with individual pages, titles, anchors, and diagram counts.
Yes, the ask_repo tool supports conversation history—pass an array of previous {role, content} messages (max 20) to maintain context.
README (reference)
Source of truth, from the repository.
📚 codewiki-mcp
MCP server for codewiki.google — search, fetch docs, and ask questions about any open-source repo
🇷🇺 Русский | 🇬🇧 English
<br />MCP server that connects any AI assistant to codewiki.google — AI-generated wiki documentation for open-source repositories.
</div>📖 Overview
codewiki-mcp is a Model Context Protocol server that gives AI assistants access to codewiki.google — a service that generates comprehensive wiki documentation for any GitHub repository. Search repos, fetch full docs, or ask natural-language questions — all through MCP.
✨ Features
| Feature | Description |
|---|---|
| 🔍 Search Repos | Find repositories indexed by codewiki.google |
| 📄 Fetch Wiki Docs | Get full markdown or structured pages for any repo |
| 💬 Ask Questions | Natural-language Q&A with conversation history |
| 🧠 NLP Repo Resolution | Type naturally — wink-nlp extracts keywords and resolves to owner/repo |
| 📡 Multiple Transports | stdio (default), Streamable HTTP, SSE |
| 🔄 Retry with Backoff | Automatic retries with exponential backoff on 5xx errors |
| 🐳 Docker Support | Multi-stage Alpine build |
| 📊 Response Metadata | Byte count and elapsed time on every response |
🚀 Quick Start
Using npx (no install)
npx -y codewiki-mcp@latest
From source
git clone https://github.com/izzzzzi/codewiki-mcp.git
cd codewiki-mcp
npm install
npm run build
Transports
# stdio (default)
node dist/cli.js
# Streamable HTTP
node dist/cli.js --http --port 3000
# SSE
node dist/cli.js --sse --port 3001
🐳 Docker
docker build -t codewiki-mcp .
# stdio
docker run -it --rm codewiki-mcp
# HTTP
docker run -p 3000:3000 codewiki-mcp --http
# with environment variables
docker run -p 3000:3000 \
-e CODEWIKI_REQUEST_TIMEOUT=60000 \
-e CODEWIKI_MAX_RETRIES=5 \
-e GITHUB_TOKEN=ghp_your_token \
codewiki-mcp --http
🔧 MCP Client Configuration
<details> <summary><b>Cursor</b></summary>Add to .cursor/mcp.json:
{
"mcpServers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
</details>
<details>
<summary><b>Claude Desktop</b></summary>
Add to claude_desktop_config.json:
{
"mcpServers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
</details>
<details>
<summary><b>Claude Code</b></summary>
claude mcp add codewiki-mcp -- npx -y codewiki-mcp@latest
</details>
<details>
<summary><b>Windsurf</b></summary>
Add to your Windsurf MCP config:
{
"mcpServers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
</details>
<details>
<summary><b>VS Code (Copilot)</b></summary>
Add to .vscode/mcp.json:
{
"servers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
</details>
<details>
<summary><b>Local development</b></summary>
{
"mcpServers": {
"codewiki-mcp": {
"command": "node",
"args": ["/path/to/codewiki-mcp/dist/cli.js"]
}
}
}
</details>
💡 Usage
Prompts you can use in any MCP-compatible client:
codewiki fetch how routing works in Next.js
codewiki search state management libraries
codewiki ask how does React fiber reconciler work?
Fetch complete documentation:
codewiki fetch vercel/next.js
codewiki fetch https://github.com/fastify/fastify
Get structured pages:
codewiki fetch pages tailwindlabs/tailwindcss
Ask with natural language:
codewiki ask fastify how to add authentication?
🛠️ MCP Tools
🔍 codewiki_search_repos
Search repositories indexed by codewiki.google.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | ✅ | — | Search query |
limit | number | — | 10 | Max results (1–50) |
📄 codewiki_fetch_repo
Fetch generated wiki content for a repository.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
repo | string | ✅ | — | owner/repo, GitHub URL, or natural-language query |
mode | string | — | "aggregate" | "aggregate" — full markdown; "pages" — structured JSON |
💬 codewiki_ask_repo
Ask a natural-language question about a repository.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
repo | string | ✅ | — | Repository identifier (same formats as fetch) |
question | string | ✅ | — | Question about the repo |
history | array | — | [] | Conversation history [{role, content}] (max 20) |
📊 Response Format
<details> <summary><b>✅ Success — Search</b></summary>{
"query": "fastify",
"count": 1,
"items": [
{
"fullName": "fastify/fastify",
"url": "https://github.com/fastify/fastify",
"description": "Fast and low overhead web framework",
"avatarUrl": "https://avatars.githubusercontent.com/u/24939....",
"extraScore": 555
}
],
"meta": {
"totalBytes": 12500,
"totalElapsedMs": 450
}
}
</details>
<details>
<summary><b>✅ Success — Fetch (pages mode)</b></summary>
{
"repo": "fastify/fastify",
"commit": "abc123",
"canonicalUrl": "https://github.com/fastify/fastify",
"pages": [
{
"title": "Overview",
"level": 1,
"anchor": "#overview",
"markdown": "# Overview\n\nFastify is a web framework...",
"diagramCount": 1
}
],
"meta": {
"totalBytes": 25000,
"totalElapsedMs": 1200
}
}
</details>
<details>
<summary><b>✅ Success — Ask</b></summary>
{
"answer": "Fastify uses a plugin-based architecture where...",
"meta": {
"totalBytes": 8500,
"totalElapsedMs": 2300
}
}
</details>
<details>
<summary><b>❌ Error Response</b></summary>
{
"error": {
"code": "RPC_FAIL",
"message": "CodeWiki RPC VSX6ub failed with status 404",
"rpcId": "VSX6ub",
"statusCode": 404
}
}
Error codes: VALIDATION, RPC_FAIL, TIMEOUT, NLP_RESOLVE_FAIL
⚙️ How It Works
Data Flow
AI Assistant → MCP protocol → codewiki-mcp → HTTPS → codewiki.google
↓
AI Assistant ← MCP protocol ← codewiki-mcp ← JSON ← Google RPC API
Google Batchexecute RPC
codewiki.google uses Google's internal batchexecute RPC format (not REST, not GraphQL). The client:
- Builds a POST request with
f.req=...body - Sends it to
/_/BoqAngularSdlcAgentsUi/data/batchexecute - Receives a response with XSSI prefix
)]}'\n - Parses
wrb.frframes and extracts the typed payload
Each tool maps to an RPC ID:
| Tool | RPC ID |
|---|---|
| 🔍 Search | vyWDAf |
| 📄 Fetch | VSX6ub |
| 💬 Ask | EgIxfe |
🧠 NLP Repo Resolution
Users can type natural language instead of owner/repo:
"the fastify web framework"
→ wink-nlp extracts keyword "fastify" (POS tag: NOUN/PROPN)
→ GitHub Search API: GET /search/repositories?q=fastify&sort=stars
→ top result: "fastify/fastify"
→ normalizeRepoInput("fastify/fastify") → URL for codewiki
🔄 Retry with Exponential Backoff
| Attempt | Delay |
|---|---|
| 0 | immediate |
| 1 | 250ms |
| 2 | 500ms |
| 3 | 1000ms |
4xx errors (client errors) are never retried.
🖥️ CLI
codewiki-mcp [options]
Options:
--http Streamable HTTP transport
--sse SSE transport
--port <number> Port for HTTP/SSE (default: 3000)
--endpoint <str> URL endpoint (default: /mcp)
--help, -h Show help
⚡ Configuration
Environment variables:
| Variable | Default | Description |
|---|---|---|
CODEWIKI_BASE_URL | https://codewiki.google | Base URL |
CODEWIKI_REQUEST_TIMEOUT | 30000 | Request timeout (ms) |
CODEWIKI_MAX_RETRIES | 3 | Max retries |
CODEWIKI_RETRY_DELAY | 250 | Base retry delay (ms) |
GITHUB_TOKEN | — | GitHub token for NLP repo resolution |
You can also create a .env file in the project root:
CODEWIKI_REQUEST_TIMEOUT=60000
CODEWIKI_MAX_RETRIES=5
GITHUB_TOKEN=ghp_your_token
📁 Project Structure
src/
├── cli.ts # CLI entry point
├── server.ts # Transport setup (stdio/HTTP/SSE)
├── index.ts # Library re-exports
├── schemas.ts # Zod input schemas
├── lib/
│ ├── codewikiClient.ts # API client with retry + metadata
│ ├── batchexecute.ts # Google RPC response parser
│ ├── repo.ts # Repo normalization + NLP resolution
│ ├── extractKeyword.ts # NLP keyword extraction (wink-nlp)
│ ├── resolveRepo.ts # GitHub Search API resolver
│ ├── errors.ts # CodeWikiError + formatMcpError
│ └── config.ts # Env-based configuration
└── tools/
├── searchRepos.ts # codewiki_search_repos
├── fetchRepo.ts # codewiki_fetch_repo
└── askRepo.ts # codewiki_ask_repo
❓ Troubleshooting
<details> <summary><b>Permission Denied</b></summary>chmod +x ./node_modules/.bin/codewiki-mcp
</details>
<details>
<summary><b>Connection Refused (HTTP/SSE)</b></summary>
# Check if port is in use
lsof -i :3000
</details>
<details>
<summary><b>Timeout Errors</b></summary>
For large repositories, increase the timeout:
CODEWIKI_REQUEST_TIMEOUT=60000 node dist/cli.js
</details>
<details>
<summary><b>NLP Resolution Fails</b></summary>
If natural-language input doesn't resolve, use explicit format:
# Instead of "the fastify framework"
fastify/fastify
# or
https://github.com/fastify/fastify
Set GITHUB_TOKEN to avoid GitHub API rate limits for unauthenticated requests.
🧑💻 Development
npm run dev # stdio with tsx
npm run dev:http # HTTP with tsx
npm run dev:sse # SSE with tsx
npm run typecheck # type check
npm run test # run tests
npm run test:watch # tests in watch mode
npm run build # compile to dist/
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Use Conventional Commits for commit messages
- Run
npm run typecheck && npm run testbefore submitting - Open a Pull Request
📄 License
MIT © codewiki-mcp contributors
Related MCP servers

iz-tolk-mcp — Tolk Compiler for TON
Tolk smart contract compiler for TON — compile, check, and deploy from AI assistants

ドメインの設定を調べる MCP サーバー。SPF / DKIM / DMARC・DNS・SSL 証明書・セキュリティヘッダ・サブドメイン・類似ドメインを、公開情報だけで確認します。登録不要・無料。
View repository →
io.github.j-east/pixel-surgeon
AI image and video generation, editing, and region repair via Gemini, OpenAI, and Grok.

io.github.j-sulliman/hopgraph
Verify ANZ businesses against government registers. Surfaces cross-jurisdictional findings.
