- Create servers per job-to-be-done: Split configurations by user task, not by app. Examples: “Find/answer with company knowledge” (
search,chat,read_document), “Engineering context” (code_search), “People and org lookup” (employee_search). - Keep tool sets focused: Aim for 3–6 tools per server. Prefer a small, high-signal set over exhaustive coverage. If you need many tools, create multiple servers (e.g., General vs. Engineering).
- Name servers and tools purpose-first: Use action- and audience-forward names. Examples: server
Glean – Engineering, toolsearch(enterprise search),code_search(repositories),employee_search(people). - Prefer native host transports when available: Use direct HTTP where hosts support it (e.g., Cursor, VS Code). For stdio-only hosts, route via
mcp-remotebridge. Note: our MCP Host Configurator will generate the correct host configuration for you. - Match host constraints: Some hosts expose fewer actions (e.g., ChatGPT supports
search/fetchonly). Configure a smaller tool surface for those hosts and point users to the MCP Configurator for exact steps. - Use OAuth when possible: Default to Glean OAuth for user-scoped permissions. Use tokens only for hosts that cannot perform OAuth or for unattended flows.
- Prefer linkable, permission-aware results: Include
read_documentalongsidesearchso hosts can fetch content by ID/URL with permission checks. - Segment by data sensitivity when needed: If certain sources (e.g., HR) require tighter control, publish a dedicated server with only the necessary tools and clear labeling.
- Document per-host endpoints: Use fixed endpoints for managed installs that require them (e.g., similar to how we provide the ChatGPT server at
https://[instance-name]-be.glean.com/mcp/chatgpt).
- Admin setup and host-specific guidance: Setting up Glean MCP Servers
- Claude MCP documentation: Build with Claude - Model Context Protocol
- Model Context Protocol docs: https://modelcontextprotocol.io/