Skip to main content
Glama
nkaewam

ADK MCP Server

by nkaewam

ADK MCP Server

An offline-first Model Context Protocol (MCP) server for querying Google ADK (Accessory Development Kit) documentation. This server uses LanceDB for vector search and FastMCP for the MCP interface, allowing AI models to access and understand ADK documentation.

Features

  • Offline-first: All documentation and vector indices are stored locally.

  • Fast Search: Uses LanceDB and FastEmbed for efficient vector search.

  • MCP Integration: Compatible with any MCP-enabled client (like Claude Desktop).

  • Easy Deployment: Can be installed as a local tool using uv.

Related MCP server: MCP Local Context

Prerequisites

  • Python 3.13 or higher

  • uv for dependency management and running.

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd adk-mcp-docs
  2. Install dependencies:

    make install
    # or
    uv sync

Usage

1. Build the Index

Before running the server, you need to build the vector index from the documentation.

make build-index
# or
uv run src/adk_mcp/builder.py

2. Run the Server (Development)

To run the server in development mode with hot-reloading:

make run
# or
uv run fastmcp run src/adk_mcp/server.py

3. Local Deployment

To install the server as a local tool accessible via uvx:

make deploy-local
# or
uv tool install . --force

After installation, you can run the server using:

uvx adk-mcp

Configuration for MCP Clients

VS Code / Antigravity

For VS Code (with compatible MCP extensions) or Antigravity, create a file at .vscode/mcp-servers.json with the following content:

{
  "mcpServers": {
    "adk-mcp": {
      "command": "uvx",
      "args": ["adk-mcp"]
    }
  }
}

Cursor

  1. Open Cursor Settings.

  2. Go to Features > MCP.

  3. Click + Add Bot.

  4. Set Name to adk-mcp.

  5. Set Type to command.

  6. Set Command to uvx adk-mcp.

Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "adk-mcp": {
      "command": "uvx",
      "args": ["adk-mcp"]
    }
  }
}

Project Structure

  • src/adk_mcp/: Source code for the MCP server.

    • builder.py: Script to build the LanceDB index.

    • server.py: FastMCP server implementation.

    • data/: Directory for storing the LanceDB index (generated).

  • data/: (Optional) Source documentation files (if not embedded in the package).

  • Makefile: Convenient shortcuts for common tasks.

  • pyproject.toml: Project metadata and dependencies.

Chunking Strategy

The documentation is indexed using a context-aware chunking strategy to ensure high-quality search results:

  1. Header-based Splitting: Files are split by H1, H2, and H3 headers.

  2. Contextual Headers: Each chunk is prefixed with its hierarchical context (e.g., Context: Getting Started > Installation > Python).

  3. Language Tab Handling: Special handling for documentation with language tabs (e.g., === "Python", === "Go"). Content within these tabs is indexed separately and tagged with the respective language.

  4. Embeddings: Uses the BAAI/bge-small-en-v1.5 model for generating vector embeddings.

Available Tools

search_adk

Search the Google ADK documentation for relevant information.

Arguments:

  • query (string): The search query.

  • language (string): The programming language to filter by. Supported values: "python", "go", "java", or "all".

Returns:

  • A formatted string containing the top 5 relevant chunks, including their source URLs and content.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/nkaewam/adk-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server