CodeWiki MCP Server
Enables querying and analyzing Bitbucket repositories using Google CodeWiki's AI-powered code search and documentation.
Enables querying and analyzing GitHub repositories using Google CodeWiki's AI-powered code search and documentation.
Enables querying and analyzing GitLab repositories using Google CodeWiki's AI-powered code search and documentation.
Integrates with Google CodeWiki to provide AI-generated answers and documentation for code repositories via tools like listing topics, reading structures, and searching.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CodeWiki MCP Serversummarize the main functions in facebook/react"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CodeWiki MCP Server
An MCP server that brings Google CodeWiki into your editor. Query any GitHub, GitLab, or Bitbucket repository and get AI-generated answers about the codebase — powered by Gemini.
Documentation · Release Notes · PyPI
Sample Conversation
Related MCP server: MCP Codebase Index
Quick Start
pip install codewiki-mcp
playwright install chromiumClient Setup
VS Code
Open Command Palette (Ctrl+Shift+P) → MCP: Add Server → Command (stdio) → enter codewiki-mcp.
Or add to .vscode/mcp.json:
{
"servers": {
"codewiki-mcp": {
"type": "stdio",
"command": "codewiki-mcp"
}
}
}Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"codewiki": {
"command": "codewiki-mcp"
}
}
}Docker
docker build -t codewiki-mcp .
docker run -it --rm codewiki-mcpTools
Tool | Description |
| Topics overview with previews |
| JSON table of contents |
| Full or section-specific docs (paginated) |
| Gemini-powered Q&A chat |
| Submit unindexed repos for indexing |
All tools accept repo_url as a full URL or owner/repo shorthand.
Documentation
Configuration, architecture, agentic AI guides, and more — see the full documentation.
License
MIT
Available Tools
5 toolscodewiki_list_topicsA
Retrieve the overview / available topics for a repository from Google CodeWiki.
Use this to discover what CodeWiki knows about a repo before asking
specific questions with codewiki_search_wiki.
Returns section titles with short content previews (not the full page).
For detailed content, call codewiki_read_contents with a section title.
Response size: typically 5–30 KB depending on the repository. Cached for 30 minutes — repeated calls for the same repo are instant.
Rate limit: max 10 calls per 60 s per repo URL. Duplicate concurrent calls are automatically deduplicated.
Args: repo_url: Full repository URL (e.g. https://github.com/microsoft/vscode-copilot-chat) or shorthand owner/repo (e.g. microsoft/vscode-copilot-chat). Bare keywords (e.g. 'vue') are auto-resolved with interactive disambiguation.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description fully discloses output format, typical response size, caching duration (30 min), rate limit (10 calls/60s), and deduplication behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured and informative, but could be slightly more concise. All sentences add value, and key info is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one param and existing output schema, the description provides all necessary context: purpose, sibling relationship, output nature, caching, rate limits, and parameter format. Complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter repo_url has no schema description, but the description fully explains accepted formats (full URL, shorthand, bare keywords with disambiguation), compensating robustly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the overview/available topics for a repo from Google CodeWiki. It distinguishes from siblings by recommending use before codewiki_search_wiki and directing to codewiki_read_contents for full pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('discover what CodeWiki knows about a repo before asking specific questions') and when not ('for detailed content, call codewiki_read_contents'). Also provides response size and caching details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codewiki_read_contentsA
View documentation about a GitHub repository from Google CodeWiki.
Without section_title, returns the full wiki content (may be truncated).
With section_title, returns just that section's content.
Use codewiki_read_structure first to see available sections.
Pagination (when section_title is empty):
offset— section index to start from (default 0).limit— max sections per response (default 5). The response includeshas_moreandnext_offsetwhen more sections are available, so you can call again to continue.
Response size: 2–10 KB per section, 5–30 KB for paginated full page. Cached for 5 minutes — repeated calls are instant.
Rate limit: max 10 calls per 60 s per repo URL. Duplicate concurrent calls are automatically deduplicated.
Args: repo_url: Full repository URL (e.g. https://github.com/facebook/react) or shorthand owner/repo (e.g. facebook/react). Bare keywords (e.g. 'react') are auto-resolved with interactive disambiguation. section_title: Optional. Title (or partial title) of a specific section to retrieve. If empty, returns the full wiki. offset: Section index to start from (0-based, default 0). limit: Maximum sections to return (default 5, max 50).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| repo_url | Yes | ||
| section_title | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: truncation of full content, section-specific retrieval, pagination details, response size range (2-10 KB per section, 5-30 KB paginated), caching (5 minutes), rate limit (10 calls per 60s per repo URL), and automatic deduplication of concurrent calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections, bullet points for pagination and response details, and a separate Args section. Every sentence adds value without redundancy, achieving conciseness despite comprehensive coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no schema descriptions, and an output schema existence, the description covers all needed aspects: purpose, parameter behavior, usage sequence, pagination, caching, rate limits, and response size. No critical gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds rich meaning: repo_url examples and shorthand resolution, section_title optional vs required behavior, offset/limit defaults and max. This compensates fully for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'View documentation about a GitHub repository from Google CodeWiki.' It distinguishes two modes (with/without section_title) and references sibling tool codewiki_read_structure for navigation, making the purpose and differentiation explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use codewiki_read_structure first to see available sections. Pagination usage is clearly explained. However, it does not explicitly state when not to use this tool, though the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codewiki_read_structureA
Get a list of documentation topics for a repository from Google CodeWiki.
Returns the table of contents / section structure as a JSON list so you
can choose which sections to read with codewiki_read_contents.
Recommended first step — call this before codewiki_read_contents
or codewiki_list_topics to discover available sections without
consuming many tokens.
Response size: typically 1–3 KB (lightweight JSON). Cached for 5 minutes — repeated calls are instant.
Rate limit: max 10 calls per 60 s per repo URL. Duplicate concurrent calls are automatically deduplicated.
Args: repo_url: Full repository URL (e.g. https://github.com/facebook/react) or shorthand owner/repo (e.g. facebook/react). Bare keywords (e.g. 'react') are auto-resolved with interactive disambiguation.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses caching (5 min), rate limits (10/60s per URL), deduplication, and typical response size (1-3 KB). No annotations exist, so these details are crucial and well provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bold headers, bullet points, and separate section for args. Every sentence adds value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, parameter details, cache, rate limits, and response size. An output schema exists, so return value explanation is not needed. Complete for a single-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds rich meaning for the only parameter (repo_url), explaining accepted formats (full URL, shorthand, bare keywords) and auto-resolution with disambiguation, fully compensating for zero schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves the table of contents/section structure of a repository's documentation, and distinguishes it from siblings by positioning it as the recommended first step before codewiki_read_contents or codewiki_list_topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear guidance to call this tool before the other documentation tools to discover sections without consuming many tokens, along with performance notes (caching, rate limits).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codewiki_request_indexingA
Request Google CodeWiki to index a repository that is not yet available.
Use this tool when codewiki_list_topics or codewiki_read_structure
returns a NOT_INDEXED error, indicating the repository has no
CodeWiki documentation yet.
This tool will:
Search for the repository on CodeWiki.
Click "Request repository" to open the submission dialog.
Fill in the GitHub URL and submit the request.
Return confirmation and next-step guidance.
Note: Google CodeWiki reviews requests and indexes repositories based on popularity and demand. There is no guaranteed timeline.
Args: repo_url: Full repository URL (e.g. https://github.com/owner/repo) or shorthand owner/repo (e.g. owner/repo). Bare keywords (e.g. 'vue') are auto-resolved with interactive disambiguation.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It details step-by-step actions (search, click 'Request repository', fill URL, submit, return confirmation) and notes the review process and no guarantee, offering excellent transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet steps and is relatively concise, though the step-by-step list adds some length. It is clear and front-loaded, with each sentence earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (indicated) and the description covering return value (confirmation and next-step guidance) and input format behaviors, it is contextually complete for a request submission tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 1 parameter with 0% description coverage, but the description adds significant meaning: explains format (full URL or shorthand) and auto-resolution with interactive disambiguation, far exceeding schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool requests indexing of a repository on Google CodeWiki that is not yet available. It specifies the verb 'request indexing' and the resource 'repository', and distinguishes from siblings by referencing the NOT_INDEXED error from list_topics or read_structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'Use this tool when codewiki_list_topics or codewiki_read_structure returns a NOT_INDEXED error.' It also mentions the lack of guaranteed timeline, providing clear context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codewiki_search_wikiA
Ask Google CodeWiki a question about an open-source repository.
This uses the interactive chat feature powered by Gemini.
For reading wiki content directly, use codewiki_read_contents instead.
Results are cached for 2 minutes — repeated identical queries are instant.
Response size: typically 0.5–5 KB depending on the answer.
Rate limit: max 10 calls per 60 s per repo URL.
Args: repo_url: Full repository URL (e.g. https://github.com/microsoft/vscode-copilot-chat) or shorthand owner/repo (e.g. microsoft/vscode-copilot-chat). Bare keywords (e.g. 'vue') are auto-resolved with interactive disambiguation. query: The question to ask (required).
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| repo_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description fully covers behavioral traits: uses Gemini chat, caches for 2 minutes, typical response size 0.5-5 KB, rate limit 10 calls per 60s per repo URL, and how repo_url is resolved. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections and bullet points, front-loaded with purpose. A few words could be trimmed, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, this description covers all essential aspects: usage, alternatives, caching, rate limits, parameter details, and response size. Output schema exists, so no need to describe return values. Complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds significant meaning: explains repo_url formats (URL, shorthand, auto-resolve) and that query is optional with default. Still, could elaborate on query best practices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Ask Google CodeWiki a question about an open-source repository.' It distinguishes from the sibling tool 'codewiki_read_contents' by specifying its purpose for asking questions vs reading content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this tool and when not to, with a direct alternative ('For reading wiki content directly, use codewiki_read_contents instead'). Also includes caching and rate limit details that help the agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.3.0- First observed
codewiki_list_topics - First observed
codewiki_read_contents - First observed
codewiki_read_structure - First observed
codewiki_request_indexing - First observed
codewiki_search_wiki
TDQS
The tool purposes are mostly distinct, but `codewiki_list_topics` and `codewiki_read_structure` both return structural information, which could initially confuse an agent without careful reading of descriptions.
All tools follow a consistent `codewiki_verb_noun` pattern in snake_case, making the naming predictable and easy to understand.
With 5 tools covering discovery, reading, searching, and indexing requests, the count is well-scoped for the server's documentation-focused purpose.
The tool set covers all essential operations for a read-only documentation server: overview, structure, content retrieval, search, and handling missing repositories.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Ask any GitHub repository a question. Get source-backed answers.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
A cited wiki of your GitHub repo: search, read pages, find symbols and ask, with line citations.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLeverages Google's Gemini AI with a 1M token context window for comprehensive codebase analysis, enabling intelligent code search, architecture analysis, and targeted improvement suggestions.MIT
- AlicenseNot gradedqualityDmaintenanceEnables semantic search across your codebase using Google's Gemini embeddings and Qdrant Cloud vector storage. Supports 15+ programming languages with smart code chunking and real-time file change monitoring.2819MIT
- FlicenseBqualityDmaintenanceEnables analysis and querying of Git repository content (both public and private) through a unified tool that provides repository summaries, file structures, and full content optimized for LLM consumption.1-
- AlicenseAqualityBmaintenanceGemini-powered code review. Offers review-only and review-and-commit modes with integrated Gitleaks security scanning.2Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cloudmeru/CodeWiki-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server