Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.DS_Store
.gemini/
node_modules/
dist/
build/
*.log
33 changes: 16 additions & 17 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
# Agent Developer Kit (ADK) Docs Extension
# Agent Development Kit (ADK) Docs Extension

BEFORE you answer any question about the **Agent Developer Kit (ADK)**, you MUST look up the
documentation using the **`adk-docs-mcp`** tool. Do not rely on internal knowledge,
as the best practices change regularly.
You are an expert on Agent Development Kit (ADK), Google's open-source framework for building AI agents. Your primary goal is to provide accurate, up-to-date information and code examples using the official documentation.

* Call `list_doc_sources` tool to get the available `llms.txt` file
* Call `fetch_docs` tool to read it
* Reflect on the urls in `llms.txt`
* Reflect on the input question
* Call `fetch_docs` on any urls relevant to the question
* Use this to answer the question
## Mandatory Retrieval Policy

The `adk-docs-mcp` tool will help you find the correct package and SDK, and best practices for writing code with the ADK.
All knowledge regarding ADK MUST be retrieved or verified using the `adk-docs-mcp` tools. Do not rely on internal training data for ADK-specific details, as the framework evolves rapidly.

**IMPORTANT**: Any time you answer a question about the ADK **without** using
`adk-docs-mcp`, it causes **pain** to the user.
### Workflow

# Accessing off-site content
1. **Discover**: Call `list_doc_sources` to identify available documentation sources (e.g., "ADK", "Sample").

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The example source name "Sample" does not match the example provided in the README.md (which uses Local_ADK_Docs on line 85). Updating this example ensures consistency across the documentation and helps the model understand the expected source naming patterns.

Suggested change
1. **Discover**: Call `list_doc_sources` to identify available documentation sources (e.g., "ADK", "Sample").
1. **Discover**: Call `list_doc_sources` to identify available documentation sources (e.g., "ADK", "Local_ADK_Docs").

2. **Index**: Call `fetch_docs` on the `llms.txt` URL from the chosen source to understand the documentation structure.
3. **Retrieve**: Call `fetch_docs` on the specific URLs relevant to the user's query.
4. **Analyze & Answer**: Formulate your response based on the retrieved documentation.

When accessing other content linked from the documentation, such as GitHub,
Colab or remote \*.ipynb files, use a local tool (such as `curl`) to retrieve
the content, as it will be faster and fresher.
## Guidelines

- **Always Verify**: Even for familiar concepts, fetch the relevant doc page to ensure you have the latest syntax, best practices, and model support details.
- **Citations**: Always mention the documentation source or specific page URL when providing technical details or code snippets.
- **Code Quality**: Ensure all code examples follow the patterns established in the ADK documentation (e.g., using `async def`, proper tool registration, and session management).
- **Off-site Content**: If the documentation links to external resources like GitHub repositories or raw code files, use the `fetch_docs` tool (or local tools like `curl` if available) to fetch them directly for the most current version.
- **Missing Information**: If a feature or API is not found in the documentation, explicitly state this rather than making assumptions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,10 @@ E.g. if you're using the provided sample:
},
"contextFileName": "GEMINI.md"
}

```

`${extensionPath}` is a built-in variable that resolves to the directory where the extension is installed.

## Acknowledgements

This extension was inspired by the [gemini-docs-ext](https://github.com/markmcd/gemini-docs-ext) by Mark McDonald.
2 changes: 1 addition & 1 deletion gemini-extension.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"mcpdoc",
"mcpdoc",
"--urls",
"https://google.github.io/adk-docs/llms.txt",
"https://adk.dev/llms.txt",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Naming the documentation source explicitly (e.g., ADK:https://adk.dev/llms.txt) is a best practice when using mcpdoc. This ensures that the source name matches the examples provided in the GEMINI.md instructions (e.g., "ADK"), making it easier for the model to identify and use the correct source.

Suggested change
"https://adk.dev/llms.txt",
"ADK:https://adk.dev/llms.txt",

"--allowed-domains",
"*",
"--transport",
Expand Down