π codewiki-mcp
MCP serverSearchOnce added, your AI can search for code repositories, pull up their wiki documentation, and answer questions about how that code works. It draws on Code Wiki at codewiki.google, a site that documents code repositories as readable wikis. The result is a quicker way to understand an unfamiliar project without digging through its source yourself.
Unavailable. This server has no hosted endpoint yet, so Ahel can't serve it.
Add to setup to save this item as a reference. Ahel cannot run it, and signing in will not install it.
What your AI can do with it
- Search Code Wiki for repositories
- Fetch the wiki documentation for a repository
- Answer your questions about a repository using its wiki docs
Getting started
- Save this item in Your setup as a reference.
- Read the source or reference documentation for its setup requirements. Saving it here does not connect it to your AI.
- Check this page for availability before trying to install it through Ahel.
From the project's README
As published by izzzzzi/codewiki-mcp in README.md.
MCP server for codewiki.google β search, fetch docs, and ask questions about any open-source repo
π·πΊ Π ΡΡΡΠΊΠΈΠΉ | π¬π§ English
MCP server that connects any AI assistant to codewiki.google β AI-generated wiki documentation for open-source repositories.
π 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
Add to .cursor/mcp.json:
{
"mcpServers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
Add to claude_desktop_config.json:
{
"mcpServers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
claude mcp add codewiki-mcp -- npx -y codewiki-mcp@latest
Add to your Windsurf MCP config:
{
"mcpServers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
Add to .vscode/mcp.json:
{
"servers": {
"codewiki-mcp": {
"command": "npx",
"args": ["-y", "codewiki-mcp@latest"]
}
}
}
{
"mcpServers": {
"codewiki-mcp": {
"command": "node",
"args": ["/path/to/codewiki-mcp/dist/cli.js"]
}
}
}
π‘ 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
{
"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
}
}
{
"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
}
}
{
"answer": "Fastify uses a plugin-based architecture where...",
"meta": {
"totalBytes": 8500,
"totalElapsedMs": 2300
}
}
{
"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
chmod +x ./node_modules/.bin/codewiki-mcp
# Check if port is in use
lsof -i :3000
For large repositories, increase the timeout:
CODEWIKI_REQUEST_TIMEOUT=60000 node dist/cli.js
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
Signals
- GitHub stars
- 17
- Forks
- 1
- Last commit
- Jun 2026
- Weekly downloads
- 71
- Weekly_downloads
- 71 weekly_downloads
Advanced
- Delivery
- codewiki-mcp MCP server β your Ahel connector (mcp.ahel.ai) β your AI.
- Item type
- mcp-server
- Key
io-github-izzzzzi-codewiki-mcp- Source
- github.com/izzzzzi/codewiki-mcp
github.com/izzzzzi/codewiki-mcp