Skip to main content
Glama
cmacdonald0514

glean-company-docs

Halcyon Docs Chatbot

ローカルドキュメントコーパスに対する根拠付き質問応答。Glean の Indexing、Search、Chat API 上に構築され、単一の MCP ツールとして公開されています。

Web UI はありません。チャットインターフェースは MCP クライアント(Cursor、Claude Desktop、その他任意のクライアント)です。

仕組み

data/Halcyon Shared Drive/  ->  Indexing API  ->  Search API  ->  Chat API  ->  {answer, sources, diagnostics}

Search は Chat の前に実行され、Chat は検索を行いません。パッセージは明示的に取得されて渡されます。関連性の下限(質問に対する用語の重複)をクリアするものが何もない場合、回答は正直に「インデックスされたコンテンツが見つかりません」となり、Chat は呼び出されません。

Related MCP server: faq-rag

セットアップ

Poetry と Python 3.12+ が必要です。

poetry config virtualenvs.in-project true   # keeps the venv at ./.venv
poetry install
cp .env.example .env      # then fill in the tokens

.env は gitignore されています。実際のトークンをコミットしないでください。

変数

使用箇所

備考

GLEAN_INSTANCE

両方

SDK が https://{instance}-be.glean.com を構築

GLEAN_INDEXING_TOKEN

インデックス時のみ

クエリパスでは読み込まれない

GLEAN_CLIENT_TOKEN

検索 + チャット

スコープは Chat/Search、タイプは Global

GLEAN_DATASOURCE

両方

共有サンドボックス。ドキュメント ID の名前空間を分けるために使用

GLEAN_DOCS_ROOT

インデックス時のみ

コーパスのルート(data/Halcyon Shared Drive

GLEAN_ACT_AS

検索 + チャット

実行時のメールアドレス。Global トークンに必須

オプション(デフォルト値付き): GLEAN_DOC_ID_PREFIXhalcyon)、GLEAN_TOP_K5)、GLEAN_MAX_SNIPPET_SIZE2000)、GLEAN_MIN_TERM_OVERLAP0.30)、GLEAN_CHAT_TIMEOUT_MS60000)。

2つのトークンは構造的に分離されています。Settings.for_indexing()GLEAN_INDEXING_TOKEN を読み取り、Settings.for_query()GLEAN_CLIENT_TOKEN を読み取り、インデックス用の変数には一切触れません。

使用方法

poetry run python -m glean_chat_bot     # the MCP server, on stdio
poetry run glean-index --dry-run        # extract and report, send nothing
poetry run glean-index                  # extract and bulk-push
poetry run glean-index --process-now    # ask Glean to process immediately (1 per 3h)
poetry run pytest                       # contract tests: no network, no tokens
poetry run pytest -m live               # the eval set, against real Glean

デバッグログには -v を追加します。

インデックス作成は非同期です。glean-index は Glean がドキュメントを受け入れるとすぐに戻りますが、検索可能になるまでには数分かかります。回答に依存する前に、Glean 管理コンソールで完全なカバレッジを確認してください。

MCP クライアント設定

{
  "mcpServers": {
    "glean-company-docs": {
      "command": "/absolute/path/to/glean-chat-bot/.venv/bin/python",
      "args": ["-m", "glean_chat_bot"],
      "env": {
        "GLEAN_INSTANCE": "support-lab",
        "GLEAN_CLIENT_TOKEN": "...",
        "GLEAN_ACT_AS": "you@example.com",
        "GLEAN_DATASOURCE": "interviewds3"
      }
    }
  }
}

1つのツール、ask_company_docs(question, top_k=None, include_citations=True) -> dict{answer, sources, diagnostics} を返します。diagnostics は何が検索され、何が返ってきたかを報告するため、呼び出し元のモデルは「何も一致しなかった」と「自分の言い回しが悪かった」を区別し、それに応じて再試行できます。

構成

glean_chat_bot/
  __main__.py      `python -m glean_chat_bot`, the MCP server: one tool over query.ask.ask()
  client.py        indexing and query client factories, the ActAs header
  extraction.py    one adapter per file type, path signals, walk
  indexing.py      the whole write path, behind the `glean-index` command
  models.py        Passage, Source, Answer, ExtractedDoc (pydantic)
  query/           search.py (search -> Passage, the relevance floor)
                   chat.py (chat -> answer + resolved citations)
                   ask.py (ask() — the single orchestration function)
  utils/           config.py (env loading, one Settings, two constructors)
                   logging.py (log format, timing wrapper on every Glean call)
data/              the corpus
docs/              extraction notes
tests/             test_contract.py (the invariants, offline)
                   eval_cases.py + test_eval_live.py (the eval set, `-m live`)

依存関係とパッケージングには Poetry、lint とフォーマットには Ruff を使用しています。コミット前に poetry run ruff check .poetry run ruff format . を実行してください。

未実装

グループおよびユーザー権限、部門フィルタリング、鮮度アノテーション、コンテンツハッシュマニフェスト、クエリ書き換えと適応的リトライ、ストリーミング、会話メモリ、リトライとバックオフ、Docker、CI。

F
license - not found
Not graded
quality - not tested
C
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.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables answering natural-language questions from FAQ documents using vector search and LLM generation via an MCP tool.
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables hybrid document search (BM25 and dense) over a configurable corpus via MCP tools, returning passages and sources for AI agents to cite in answers.
    MIT

View all related MCP servers

Related MCP Connectors

  • Query any docs site via MCP. Submit a URL, ask questions, get cited answers.

  • Google AI Overview answers and cited sources via the Apify Google AI Overview API, hosted MCP.

  • Your company's brain for AI agents. Cited, permission-aware knowledge across every system.

View all MCP Connectors

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/cmacdonald0514/glean-chat-bot'

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