google-dev-knowledge-mcp-bridge
A local stdio MCP bridge that forwards tool calls to the Google Developer Knowledge MCP endpoint and enhances search_documents with caching, result expansion, and concise markdown excerpts.
README
google-dev-knowledge-mcp-bridge
Local stdio MCP bridge for the Google Developer Knowledge MCP endpoint. It forwards upstream tool calls and adds a higher-signal search_documents mode that:
- caches semantically equivalent search requests
- expands top search hits with
batch_get_documents - extracts concise markdown sections for easier downstream citation and synthesis
The bridge does not embed credentials in tracked code. Authentication is resolved from Application Default Credentials plus service account impersonation configured through environment variables.
Requirements
- Node.js 18+
gcloudinstalled and authenticated withgcloud auth application-default login- Permission to impersonate the target service account
Installation
-
Install dependencies:
npm install -
Copy the sample environment file:
cp .env.example .env -
Fill in only the values required for your environment.
Environment Variables
Required
GOOGLE_IMPERSONATE_SERVICE_ACCOUNT
Optional
GOOGLE_QUOTA_PROJECT_IDDEBUG_MCP=falseAUTO_EXPAND_SEARCH=trueEXPAND_TOP_N=4EXPAND_MAX_CHARS=9000EXPAND_PER_DOC_MAX_CHARS=2600CACHE_TTL_MS=300000REQUEST_TIMEOUT_MS=20000MAX_RETRIES=2BACKOFF_BASE_MS=400
Authentication Flow
The bridge uses this sequence:
- Loads Application Default Credentials from the local environment.
- Impersonates the service account named in
GOOGLE_IMPERSONATE_SERVICE_ACCOUNT. - Calls the Google Developer Knowledge MCP endpoint with an OAuth access token.
If GOOGLE_QUOTA_PROJECT_ID is set, the bridge also sends it as the quota project header.
MCP Server Launch
Run the bridge directly over stdio:
npm start
Equivalent direct command:
node server.js
Example Codex MCP launch configuration:
{
"mcpServers": {
"google-dev-knowledge-mcp-bridge": {
"command": "node",
"args": ["/absolute/path/to/google-dev-knowledge/server.js"],
"cwd": "/absolute/path/to/google-dev-knowledge",
"env": {
"GOOGLE_IMPERSONATE_SERVICE_ACCOUNT": "service-account@your-project.iam.gserviceaccount.com",
"GOOGLE_QUOTA_PROJECT_ID": "your-project-id",
"AUTO_EXPAND_SEARCH": "true",
"DEBUG_MCP": "false"
}
}
}
}
Repository Layout
server.js: CLI entrypointsrc/config.js: environment parsing and validationsrc/google-client.js: ADC + impersonation + HTTP retry logicsrc/content-pack.js: search expansion and excerpt construction helperssrc/bridge.js: stdio JSON-RPC loop and caching
Upstream MCP Tools
The bridge forwards upstream Google Developer Knowledge MCP tool calls. Common tools include:
search_documentsget_documentbatch_get_documents
When AUTO_EXPAND_SEARCH=true, search_documents responses are transformed into a context pack that includes:
- canonical source links
- top ranked search chunks
- extracted document excerpts sized for model context windows
All other tool calls are passed through unchanged.
Sample MCP Tool Calls
Example search_documents input:
{
"query": "Cloud Storage create bucket required permissions"
}
Example get_document input:
{
"name": "documents/cloud-storage-create-buckets"
}
Example batch_get_documents input:
{
"names": [
"documents/cloud-storage-create-buckets",
"documents/iam-roles-overview"
]
}
Smoke Tests
Syntax check the bridge:
npm run check
Troubleshooting
Missing required environment
- The process exits immediately if
GOOGLE_IMPERSONATE_SERVICE_ACCOUNTis unset.
Failed authentication
- Re-run
gcloud auth application-default login. - Confirm the authenticated principal can impersonate the configured service account.
- If you use quota billing, confirm
GOOGLE_QUOTA_PROJECT_IDis valid for the caller.
Request failures or timeouts
- Increase
REQUEST_TIMEOUT_MSin slower environments. - Leave
MAX_RETRIESabove0if you want automatic retry on429and5xxresponses.
Publishing hygiene
.envandnode_modules/are ignored by.gitignore.- Use
.env.exampleas the only tracked environment template.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.