Glean Chatbot
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Glean ChatbotWhat are the renewal terms in the Acme contract?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Glean Chatbot
Indexes a small set of internal contracts into Glean, answers questions from those
docs via Search + Chat, and exposes the same flow as an MCP tool (ask_glean).
Requirements
Python 3.10+
A Glean instance
An Indexing API token
A Client API token with Search and Chat scopes
Related MCP server: search-context
Setup
Clone and enter the repo:
git clone <your-repo-url>
cd glean-chatbotInstall dependencies:
pip install -r requirements.txtCreate a
.envfrom the example and fill in your values:
# macOS / Linux
cp .env.example .env
# Windows (PowerShell)
copy .env.example .envVariable | Required | Purpose |
| yes | Instance name ( |
| yes | Indexing API token |
| yes | Client API token (Search + Chat) |
| yes* | User email for |
| no | Datasource name (default |
| no | Display name in the Glean UI |
| no | Regex every doc |
.env is auto-loaded by config.py (via python-dotenv). You do not need to source it.
Run
Index documents
python scripts/index_documents.py
# optional: wait until Search can find them
python scripts/index_documents.py --verifyAsk from the CLI
python scripts/ask.py "Who owns the Enronry Tony contract?"
python scripts/ask.py "What must OKLightning Tony deliver before go-live?" --top-k 3MCP (Cursor)
Project config lives at .cursor/mcp.json (absolute path to src/mcp_server.py + env vars).
Restart Cursor / reload MCP after editing it. The tool is ask_glean.
Smoke-test the server alone:
python src/mcp_server.pyTests
python tests/test_pipeline.pyNo network; mocks Search/Chat.
How it works
scripts/index_documents.py pushes data/documents.json through the Indexing API.
At query time, src/pipeline.py calls Search, then (only if there are hits) Chat with
those hits as closed-book context, and returns an answer plus sources. CLI and MCP
both call that same pipeline. Results are scoped to our own documents; if Search
returns nothing, we suggest close document titles instead of inventing an answer.
Notes / limitations
Shared sandbox ignores
datasourcesFilter; we filter client-side on the document id prefix (CUSTOM_<DATASOURCE>_Contract_).Indexing is asynchronous — docs may take a few minutes to become searchable.
Demo docs use
allowAnonymousAccess: true. Do not ship that in production.Doc
viewURLs must matchGLEAN_URL_REGEXor indexing will reject them.
See DESIGN_NOTE.md for API tradeoffs and production notes.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query your SEO data in plain language: rankings, audits, backlinks, competitors and AI visibility.
Ask any GitHub repository a question. Get source-backed answers.
Search your knowledge bases from any AI assistant using hybrid RAG.
Read-only search of your Sortio knowledge graph (files and entities) for Claude and ChatGPT.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceEnables AI assistants and developer tools to securely access and interact with an organization's enterprise knowledge, documents, and people through natural language while respecting existing access permissions.166MIT- FlicenseAqualityFmaintenanceEnables semantic search across documentation stored in Gemini FileSearchStores, returning AI-generated answers with source citations.11-

Rememberizer MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceEnables querying and managing personal/team internal knowledge from sources like Slack, Gmail, and Drive through semantic search and retrieval.Apache 2.0- FlicenseNot gradedqualityDmaintenanceEnables searching a knowledge base and asking grounded questions with hybrid retrieval, reranking, and cited answers.-