Glean MCP 服务器与Python包

Glean MCP 服务器与Python包提供基于Cookie和Token的客户端认证,以及自动检测认证方法的MCP服务器,适用于企业内部搜索和文档管理。

  • by alankyshum
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 alankyshum/glean-mcp-server

使用说明

Glean MCP服务器和Python包

简单、专注的实施提供:

  • 基于Cookie的客户端(glean_mcp.cookie_client.GleanClient)--使用浏览器会话Cookie
  • 基于令牌的客户端(glean_mcp.token_client.TokenBasedGleanClient)-使用API令牌进行服务器到服务器身份验证
  • MCP服务器(python -m glean_mcp.server)--自动检测身份验证方法;为Docker做好准备

链接: 发布 · Cookie指南 · 令牌认证指南

安装

pip install -U glean-mcp

包布局

src/
└── glean_mcp/
    ├── cookie_client.py      # Cookie-based authentication client
    ├── token_client.py       # Token-based authentication client
    ├── server.py             # MCP server with auto-detection
    └── glean_filter.py       # Response filtering utilities

快速开始

MCP服务器(本地或Docker)

MCP服务器会自动检测您的身份验证方法。

# Choose ONE (token preferred)
export GLEAN_API_TOKEN="your-api-token"   # preferred
# OR
export GLEAN_COOKIES="your-browser-cookies"

# Set your Glean instance
export GLEAN_BASE_URL="https://your-company-be.glean.com"  # or set GLEAN_INSTANCE=your-company

# Run the MCP server locally
python -m glean_mcp.server

Docker(示例):

docker run --pull always --rm \
  -e GLEAN_API_TOKEN="$GLEAN_API_TOKEN" \
  -e GLEAN_BASE_URL="$GLEAN_BASE_URL" \
  ghcr.io/alankyshum/glean-mcp-server:latest

升级:使用 --pull always (Docker)或 pip install -U glean-mcp (pip)。

库使用情况(异步)

基于Cookie:

from glean_mcp import GleanClient

client = GleanClient(base_url, cookies)
results = await client.search("onboarding docs")
await client.close()

基于令牌:

from glean_mcp import TokenBasedGleanClient

client = TokenBasedGleanClient(base_url, api_token)
results = await client.search("onboarding docs")
await client.close()

自动检测(与服务器逻辑相同):

from glean_mcp import create_glean_client

client = create_glean_client()  # Uses env vars; prefers token
results = await client.search("onboarding docs")
await client.close()

认证

支持两种方法:

🍪 Cookie(原始)

  • 使用Glean会话中的浏览器Cookie
  • 需要 GLEAN_COOKIES
  • 用途 /api/v1/ 端点
  • 看 Cookie指南

🔑 代币(推荐)

  • 使用Glean API令牌进行服务器到服务器身份验证
  • 需要 GLEAN_API_TOKEN
  • 用途 /rest/api/v1/ 端点
  • 对于自动化/生产环境更安全
  • 看 令牌认证指南

🤖 自动检测规则

  1. 如果 GLEAN_API_TOKEN 已设置→ 基于令牌的身份验证
  2. 否则,如果 GLEAN_COOKIES 已设置→ 基于cookie的身份验证
  3. 如果两者都已设置→ 首选令牌
  4. 如果两者都没有设置→ 制导错误

环境变量

服务器/库需要:

  • GLEAN_BASE_URL (例如。https://your-company-be.glean.com)或 GLEAN_INSTANCE
  • 什么之中的一个: GLEAN_API_TOKEN (首选)或 GLEAN_COOKIES

可选(服务器行为):

  • GLEAN_DEFAULT_PAGE_SIZE (默认值:14)
  • GLEAN_DEFAULT_SNIPPET_SIZE (默认值:215)
  • GLEAN_TOOL_DESCRIPTION (工具描述文本)
  • GLEAN_AUTO_OPEN_BROWSER (默认值:true)

发展

git clone https://github.com/alankyshum/glean-mcp-server.git
cd glean-mcp-server
python -m venv .venv && source .venv/bin/activate
pip install -e '.[dev]'
pytest -q

版本控制和发布

  • 语义版本控制;重大突破性变化
  • 标签 vX.Y.Z 在更新版本字符串之后;如果版本匹配,CI将发布到PyPI/GHCR

许可证

麻省理工学院