Grounded Developer Assistant
FreeNot checkedA premium Streamlit chat interface acting as a Google Developer Assistant, grounded in official Google Cloud, Firebase, Android, and Maps documentation using th
About
A premium Streamlit chat interface acting as a Google Developer Assistant, grounded in official Google Cloud, Firebase, Android, and Maps documentation using the Developer Knowledge MCP Server and Gemini API.
README
Python 3.10+ Streamlit Gemini MCP
A premium, interactive Streamlit chat interface designed to act as a Google Developer Assistant. By leveraging the Model Context Protocol (MCP) and Google's Developer Knowledge API, the assistant provides real-time technical answers grounded strictly in official documentation for Google Cloud, Firebase, Android, and Google Maps.
📖 Table of Contents
- Key Features
- Architecture Overview
- Grounding Modes
- Prerequisites
- Installation
- Configuration & Usage
- Testing and Helper Scripts
- Project Tags & Metadata
✨ Key Features
- ⚡ Premium User Experience: Built with custom styled components, a vibrant header banner utilizing HSL/linear-gradients, custom interactive source cards, and dynamic element rendering.
- 📚 Fully Grounded AI Responses: Answers are strictly backed by Google's official documentation datasets, significantly reducing hallucinations.
- 🛠️ Flexible Grounding Engines: Supports both custom standard Retrieval-Augmented Generation (RAG) and Google's Managed Answer API.
- 🔐 Seamless Authentication: Features automatic OAuth2 access token detection using the local Google Cloud SDK (
gcloudCLI) as well as manual credential entry. - 💬 Streaming Conversations: Interactive chatbot with persistent session memory and real-time word-by-word streaming generation.
- 🌐 Clickable Sources & References: Shows expandable grounded sources containing text snippets and direct web links to official documentation.
🖥️ Architecture Overview
graph TD
User([User Prompt]) --> Streamlit[Streamlit UI app.py]
Streamlit --> Auth{OAuth2 Token & API Key}
Auth -->|Valid| ModeSelect{Grounding Mode?}
ModeSelect -->|Standard RAG| Search[MCP search_documents]
Search -->|Retrieved Docs| Context[Construct Context]
Context --> Gemini[Gemini Client / API]
Gemini -->|Streamed Response| Output[UI Chat Window]
ModeSelect -->|Managed Answer| AnswerAPI[MCP answer_query]
AnswerAPI -->|JSON Response| Parser[Parse Answer & Refs]
Parser -->|Format output| Output
🔍 Grounding Modes
The application supports two distinct grounding workflows configured in the sidebar settings:
1. Standard RAG (Search + Gemini)
- Retrieve: Queries the Developer Knowledge MCP Server (
search_documentstool) with the user prompt. - Ground: Formulates a strict system prompt containing the search results/snippets.
- Synthesize: Calls Gemini API (using the new
google-genaiSDK) to draft a response based only on the retrieved context.
2. Managed Answer API (answer_query)
- Direct Execution: Directly calls the Google Developer Knowledge MCP
answer_querytool. - Parse & Render: The backend returns pre-compiled answers along with corresponding official document references, which are structured and styled as rich interactive cards.
📋 Prerequisites
Before running the application, make sure you have:
- Python 3.10+ installed.
- Google Cloud SDK (
gcloudCLI) installed and authenticated:
Note: The app will rungcloud auth login gcloud auth application-default logingcloud auth print-access-tokenin the background to automatically retrieve your OAuth2 credentials. - An active Google Cloud project with the Developer Knowledge API enabled.
- A Gemini API Key from Google AI Studio.
🚀 Installation
- Clone or copy this repository to your local workspace.
- Install the required Python dependencies:
pip install streamlit google-genai requests
⚙️ Configuration & Usage
- Start the Streamlit application:
streamlit run app.py - Open the browser window at
http://localhost:8501. - In the sidebar settings:
- Gemini API Key: Input your API key (defaults to your environment's
GEMINI_API_KEY). - GCP Project ID: Input your target Google Cloud Project ID (e.g.,
geogreenai). - OAuth2 Token: Automatically detected if your
gcloudCLI is logged in. Otherwise, paste a manual token. - Model Settings: Choose from
gemini-2.5-flash,gemini-1.5-flash, orgemini-1.5-proand adjust the creativityTemperature. - Grounding Mode: Choose between Standard RAG and Managed Answer API.
- Gemini API Key: Input your API key (defaults to your environment's
- Start chatting with the grounded developer assistant!
🧪 Testing and Helper Scripts
The codebase comes equipped with several lightweight test scripts to verify API connections and test components in isolation:
- test_gemini.py: Verifies the
google-genaiSDK connectivity and simple text generation. - test_mcp.py: Tests the connection to the Developer Knowledge MCP Endpoint and lists available tools.
- test_mcp_oauth.py: Tests searching documents via OAuth2 authorization.
- test_mcp_search.py: Verifies document searching functionality using raw API keys.
- test_mcp_answer.py: Verifies target answer generation using the managed
answer_querytool. - test_parser.py: A local unit test for regex/parsing rules on the raw protocol response blocks.
🏷️ Project Tags & Metadata
- Category: AI Assistant / RAG / Developer Tools
- Frameworks: Streamlit, Google GenAI SDK, Model Context Protocol (MCP)
- Target Audiences: Cloud Engineers, Firebase Developers, Android Engineers, Google Maps Developers
- Languages: Python
- Design Keywords: HSL Gradients, Dark Theme, Responsive UI, Streamlit custom CSS
from github.com/Siva-Subramaniam-DS/grounded-developer-assistant
Installing Grounded Developer Assistant
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Siva-Subramaniam-DS/grounded-developer-assistantFAQ
Is Grounded Developer Assistant MCP free?
Yes, Grounded Developer Assistant MCP is free — one-click install via Unyly at no cost.
Does Grounded Developer Assistant need an API key?
No, Grounded Developer Assistant runs without API keys or environment variables.
Is Grounded Developer Assistant hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Grounded Developer Assistant in Claude Desktop, Claude Code or Cursor?
Open Grounded Developer Assistant on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Gmail
Read, send and search emails from Claude
by GoogleSlack
Send, search and summarize Slack messages
by SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Grounded Developer Assistant with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
