Skip to main content
Glama

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 chromium

Client Setup

VS Code

Open Command Palette (Ctrl+Shift+P) → MCP: Add ServerCommand (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-mcp

Tools

Tool

Description

codewiki_list_topics

Topics overview with previews

codewiki_read_structure

JSON table of contents

codewiki_read_contents

Full or section-specific docs (paginated)

codewiki_search_wiki

Gemini-powered Q&A chat

codewiki_request_indexing

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 tools
codewiki_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 includes has_more and next_offset when 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
repo_urlYes
section_titleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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:

  1. Search for the repository on CodeWiki.

  2. Click "Request repository" to open the submission dialog.

  3. Fill in the GitHub URL and submit the request.

  4. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
repo_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 5 tool updatesv1.3.0
    • First observedcodewiki_list_topics
    • First observedcodewiki_read_contents
    • First observedcodewiki_read_structure
    • First observedcodewiki_request_indexing
    • First observedcodewiki_search_wiki

TDQS

A4.9/5.0
Disambiguation4/5

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.

Naming Consistency5/5

All tools follow a consistent `codewiki_verb_noun` pattern in snake_case, making the naming predictable and easy to understand.

Tool Count5/5

With 5 tools covering discovery, reading, searching, and indexing requests, the count is well-scoped for the server's documentation-focused purpose.

Completeness5/5

The tool set covers all essential operations for a read-only documentation server: overview, structure, content retrieval, search, and handling missing repositories.

Maintenance

ActivityNo data
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    28
    19
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Gemini-powered code review. Offers review-only and review-and-commit modes with integrated Gitleaks security scanning.
    2
    Apache 2.0

Latest Blog Posts

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