Connectors · Developer & infrastructure
Glean MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Glean and the rest of your systems. It gives your agent 180 Glean actions (87 reads, 66 writes and 27 that wait for a confirmation) and holds the Glean credential itself, so the agent never does. It paces Glean's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "glean.users.list", intent: "check which Glean account is connected"}# List users · read · 1 upstream call- 180actionsin one signed file
- 87readlook, never change
- 66writecreate and update
- 27wait for a yesdestructive, confirmed first
Set up
Connect Glean in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Glean.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_tokenGlean API token (Admin Console > Platform > API Tokens; an Indexing API token for the index_* actions)act_asYour Glean act asauth_typeYour Glean auth typehostWhere your Glean lives: your host
account { op: "connections.requirements", service: "glean" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "glean.users.list" }# list users · read · 1 upstream callcheck { action: "glean.answers.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Glean at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_token- Setup fields
act_asauth_typehost- Limits we pace to
- 300 calls a minute, per connection
- API covered
- Glean Client API v1, Indexing API v1 and Platform API (gleanwork/open-api final_specs), at your Glean instance's API base URL, which you enter when connecting
- Built from
- Glean's documentation, read 23 October 2026OpenAPI spec (GitHub)OpenAPI spec (GitHub)OpenAPI spec (GitHub)
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 59 of 87 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 3, so ask can line Glean up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Glean.
180 actions in 37 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 87readlook, never change
- 66writecreate and update
- 27destructivewait for a confirmation
Agents
137 read · 2 write · 4 destructive
Create an agent · Search agents · Search agents · Get agent
Admin usage
115 read · 5 write · 1 destructive
Submit an editable-agent limit-increase request · List the billing limit-increase request queue · List usage limits · Get a billing limit-increase request
Governance
115 read · 5 write · 1 destructive
Lists policies · Creates new policy · Gets specified policy · Updates an existing policy
Index permissions
110 read · 8 write · 3 destructive
Schedules the processing of group memberships · Beta users · Delete group · Delete membership
Chat
104 read · 3 write · 3 destructive
Retrieves all saved Chats · Retrieves a Chat · Deletes saved Chats · Create a chat response
Index troubleshooting
99 read · 0 write · 0 destructive
Check document access · Beta: Get datasource status · Beta: Get document lifecycle events · Beta: Get document information
Skills
95 read · 3 write · 1 destructive
Import skills from GitHub · List skills · List skill versions · Retrieve skill
Collections
82 read · 4 write · 2 destructive
Add Collection item · Create Collection · List Collections · Read Collection
29 more areas · 98 actions
- Index people 7
- Search 7
- Tools 7
- Index documents 6
- Triggers 6
- Answers 5
- Index custom metadata 5
- Pins 5
- Shortcuts 5
- Datasources 4
- Documents 4
- Trigger presets 4
- Usage 4
- Announcements 3
- Index datasources 3
- Verification 3
- Activity 2
- Auth 2
- Departments 2
- Idp groups 2
- Index shortcuts 2
- Oauth clients 2
- Users 2
- Admin agents 1
- Entities 1
- Index auth 1
- Insights 1
- Messages 1
- People 1
Top actions
The Glean API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 25 of Glean's 25 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
glean.users.listList users | List users. | read | identity.user.list474 connectors |
glean.idp_groups.listList IdP groups | List IdP groups. | read | identity.group.list262 connectors |
glean.departments.listList departments | List departments. | read | hr.department.list40 connectors |
glean.users.getGet user | Get user. | read | identity.user.get399 connectors |
glean.idp_groups.getGet an IdP group | Get an IdP group. | read | identity.group.get212 connectors |
glean.departments.getGet a department | Get a department. | read | hr.department.get33 connectors |
glean.triggers.listList triggers | List triggers. | read | automation.trigger.list7 connectors |
glean.answers.createCreate Answer | Create Answer. | write | knowledge.article.create28 connectors |
glean.answers.listList Answers | List Answers. | read | knowledge.article.list26 connectors |
glean.triggers.createCreate trigger | Create trigger. | write | automation.trigger.create5 connectors |
glean.governance.create_policyCreates new policy | Creates new policy. | write | security.policy.create25 connectors |
glean.triggers.deleteDelete trigger | Delete trigger. | destructive | automation.trigger.delete6 connectors |
Try it
Prompts to paste into Claude.
Each one names the Glean actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in Glean? List every user and their role.
calls
glean.users.list - Writewrite
Create Answer in Glean. Show me exactly what you will send before you save it.
calls
glean.answers.create
Governance for Glean
Destructive actions wait for a yes.
27 Glean actions are destructive. These are all of them:
- Delete trigger
glean.triggers.delete - Delete Answer
glean.answers.delete - Deletes saved Chats
glean.chat.delete - Delete pin
glean.pins.delete - Delete skill
glean.skills.delete - Deletes all saved Chats owned by a user
glean.chat.delete_all - Delete shortcut
glean.shortcuts.delete - Create agent run
glean.agents.create_run - Delete files uploaded by a user for chat
glean.chat.delete_files - Delete Collection
glean.collections.delete - Delete Announcement
glean.announcements.delete - Respond to agent run approvals
glean.agents.respond_to_run - Delete document
glean.index_documents.delete - Reset a usage limit
glean.admin_usage.reset_limit - Delete Collection item
glean.collections.delete_item - Rotate token
glean.index_auth.rotate_token - Delete team
glean.index_people.delete_team - Create an agent run and wait for the response
glean.agents.legacy_run_and_wait - Delete employee
glean.index_people.delete_employee - Delete user
glean.index_permissions.delete_user - Rotate datasource instance credentials
glean.datasources.rotate_credentials - Delete group
glean.index_permissions.delete_group - Deletes findings export
glean.governance.delete_findings_export - Remove metadata schema
glean.index_custom_metadata.delete_schema - Delete membership
glean.index_permissions.delete_membership - Remove custom metadata
glean.index_custom_metadata.delete_document_metadata - Cancel an agent run
glean.agents.cancel_run
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete trigger?
intent: the user asked me to delete trigger
account { op: "keys.create", name: "glean-agent", allowed_actions: ["glean.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "glean.triggers.delete", approver: "[email protected]" }, { match: "glean.answers.delete", approver: "[email protected]" }, { match: "glean.chat.delete", approver: "[email protected]" } ]}Cost
What Glean costs on actionlake.
Every Glean action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Glean refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 180 Glean actions
- 180actions pageeach page of a long list is one call
- 59reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Glean action.
180 actions by area: the id your agent calls, what it does, and its effect.
Agents13
glean.agents.cancel_runCancel an agent rundestructiveglean.agents.createCreate an agentwriteglean.agents.create_runCreate agent rundestructiveglean.agents.getGet agentreadglean.agents.get_runGet agent runreadglean.agents.get_schemasGet agent schemasreadglean.agents.legacy_getRetrieve an agentreadglean.agents.legacy_get_schemasList an agent's schemasreadglean.agents.legacy_run_and_waitCreate an agent run and wait for the responsedestructiveglean.agents.legacy_searchSearch agentsreadglean.agents.respond_to_runRespond to agent run approvalsdestructiveglean.agents.searchSearch agentsreadglean.agents.updateEdit an agentwrite
Admin usage11
glean.admin_usage.batch_upsert_limitsApply usage limit policieswriteglean.admin_usage.create_limit_increase_requestSubmit an editable-agent limit-increase requestwriteglean.admin_usage.evaluate_limitsEvaluate administrative usage limit headroomreadglean.admin_usage.get_limit_increase_requestGet a billing limit-increase requestreadglean.admin_usage.get_settingsGet usage settingsreadglean.admin_usage.list_limit_increase_requestsList the billing limit-increase request queuereadglean.admin_usage.list_limitsList usage limitsreadglean.admin_usage.reset_limitReset a usage limitdestructiveglean.admin_usage.update_limit_increase_requestResolve a billing limit-increase requestwriteglean.admin_usage.update_settingsUpdate usage settingswriteglean.admin_usage.upsert_limitUpsert a usage limitwrite
Governance11
glean.governance.create_findings_exportCreates findings exportwriteglean.governance.create_policyCreates new policywriteglean.governance.create_reportCreates new one-time reportwriteglean.governance.delete_findings_exportDeletes findings exportdestructiveglean.governance.get_policyGets specified policyreadglean.governance.get_report_statusFetches report run statusreadglean.governance.get_visibility_overridesFetches documents visibilityreadglean.governance.list_findings_exportsLists findings exportsreadglean.governance.list_policiesLists policiesreadglean.governance.set_visibility_overridesHide or unhide docswriteglean.governance.update_policyUpdates an existing policywrite
Index permissions11
glean.index_permissions.bulk_index_groupsBulk index groupswriteglean.index_permissions.bulk_index_membershipsBulk index memberships for a groupwriteglean.index_permissions.bulk_index_usersBulk index userswriteglean.index_permissions.delete_groupDelete groupdestructiveglean.index_permissions.delete_membershipDelete membershipdestructiveglean.index_permissions.delete_userDelete userdestructiveglean.index_permissions.index_groupIndex groupwriteglean.index_permissions.index_membershipIndex membershipwriteglean.index_permissions.index_userIndex userwriteglean.index_permissions.process_all_membershipsSchedules the processing of group membershipswriteglean.index_permissions.set_beta_usersBeta userswrite
Chat10
glean.chat.create_responseCreate a chat responsewriteglean.chat.deleteDeletes saved Chatsdestructiveglean.chat.delete_allDeletes all saved Chats owned by a userdestructiveglean.chat.delete_filesDelete files uploaded by a user for chatdestructiveglean.chat.getRetrieves a Chatreadglean.chat.get_applicationGets the metadata for a custom Chat applicationreadglean.chat.get_filesGet files uploaded by a user for Chatreadglean.chat.listRetrieves all saved Chatsreadglean.chat.renameUpdate a chatwriteglean.chat.sendChatwrite
Index troubleshooting9
glean.index_troubleshooting.check_document_accessCheck document accessreadglean.index_troubleshooting.datasource_statusBeta: Get datasource statusreadglean.index_troubleshooting.document_eventsBeta: Get document lifecycle eventsreadglean.index_troubleshooting.document_statusBeta: Get document informationreadglean.index_troubleshooting.documents_statusBeta: Get information of a batch of documentsreadglean.index_troubleshooting.get_document_countGet document countreadglean.index_troubleshooting.get_document_statusGet document upload and indexing statusreadglean.index_troubleshooting.get_user_countGet user countreadglean.index_troubleshooting.user_statusBeta: Get user informationread
Skills9
glean.skills.deleteDelete skilldestructiveglean.skills.getRetrieve skillreadglean.skills.get_versionRetrieve skill versionreadglean.skills.importImport skills from GitHubwriteglean.skills.listList skillsreadglean.skills.list_versionsList skill versionsreadglean.skills.preview_sourcePreview a GitHub skill sourcereadglean.skills.syncSync a GitHub-imported skillwriteglean.skills.updateUpdate skillwrite
Collections8
glean.collections.add_itemsAdd Collection itemwriteglean.collections.createCreate Collectionwriteglean.collections.deleteDelete Collectiondestructiveglean.collections.delete_itemDelete Collection itemdestructiveglean.collections.getRead Collectionreadglean.collections.listList Collectionsreadglean.collections.updateUpdate Collectionwriteglean.collections.update_itemUpdate Collection itemwrite
Index people7
glean.index_people.bulk_index_employeesBulk index employeeswriteglean.index_people.bulk_index_teamsBulk index teamswriteglean.index_people.delete_employeeDelete employeedestructiveglean.index_people.delete_teamDelete teamdestructiveglean.index_people.index_employeeIndex employeewriteglean.index_people.index_teamIndex teamwriteglean.index_people.process_allSchedules the processing of uploaded employees and teamswrite
Search7
glean.search.admin_searchSearch the index (admin)readglean.search.autocompleteAutocompletereadglean.search.feedFeed of documents and eventsreadglean.search.list_filtersList search filtersreadglean.search.platform_searchSearchreadglean.search.querySearchreadglean.search.recommendationsRecommend documentsread
Tools7
glean.tools.authorize_action_packStart the OAuth authorization flow for an action packwriteglean.tools.authorize_tool_serverStart the OAuth authorization flow for a tool serverwriteglean.tools.callExecute the specified toolwriteglean.tools.get_action_pack_authGet end-user authentication status for an action packreadglean.tools.get_tool_server_authGet end-user authentication status for a tool serverreadglean.tools.listList available toolsreadglean.tools.list_tool_server_toolsGet tool definitions from a tool serverread
Index documents6
glean.index_documents.bulk_indexBulk index documentswriteglean.index_documents.deleteDelete documentdestructiveglean.index_documents.indexIndex documentwriteglean.index_documents.index_manyIndex documentswriteglean.index_documents.process_allSchedules the processing of uploaded documentswriteglean.index_documents.update_permissionsUpdate document permissionswrite
Triggers6
glean.triggers.createCreate triggerwriteglean.triggers.deleteDelete triggerdestructiveglean.triggers.getGet triggerreadglean.triggers.listList triggersreadglean.triggers.search_eventsSearch events for a triggerreadglean.triggers.updateUpdate triggerwrite
Answers5
glean.answers.createCreate Answerwriteglean.answers.deleteDelete Answerdestructiveglean.answers.getRead Answerreadglean.answers.listList Answersreadglean.answers.updateUpdate Answerwrite
Index custom metadata5
glean.index_custom_metadata.delete_document_metadataRemove custom metadatadestructiveglean.index_custom_metadata.delete_schemaRemove metadata schemadestructiveglean.index_custom_metadata.get_schemaRetrieve metadata schemareadglean.index_custom_metadata.set_document_metadataAdd or update custom metadatawriteglean.index_custom_metadata.set_schemaCreate or update metadata schemawrite
Pins5
glean.pins.createCreate pinwriteglean.pins.deleteDelete pindestructiveglean.pins.getRead pinreadglean.pins.listList pinsreadglean.pins.updateUpdate pinwrite
Shortcuts5
glean.shortcuts.createCreate shortcutwriteglean.shortcuts.deleteDelete shortcutdestructiveglean.shortcuts.getRead shortcutreadglean.shortcuts.listList shortcutsreadglean.shortcuts.updateUpdate shortcutwrite
Datasources4
glean.datasources.get_credential_statusGet datasource instance credential statusreadglean.datasources.get_instance_configurationGet datasource instance configurationreadglean.datasources.rotate_credentialsRotate datasource instance credentialsdestructiveglean.datasources.update_instance_configurationUpdate datasource instance configurationwrite
Documents4
glean.documents.getRead documentsreadglean.documents.get_permissionsRead document permissionsreadglean.documents.list_by_facetsRead documents by facetsreadglean.documents.summarizeSummarize documentsread
Trigger presets4
glean.trigger_presets.getGet trigger presetreadglean.trigger_presets.listList trigger presetsreadglean.trigger_presets.list_input_valuesSearch trigger preset input valuesreadglean.trigger_presets.search_eventsSearch events for a trigger presetread
Usage4
glean.usage.create_limit_increase_requestSubmit a personal limit-increase requestwriteglean.usage.evaluate_limitsEvaluate usage limit headroomreadglean.usage.get_limit_increase_requestGet a personal limit-increase requestreadglean.usage.list_limit_increase_requestsList personal limit-increase requestsread
Announcements3
glean.announcements.createCreate Announcementwriteglean.announcements.deleteDelete Announcementdestructiveglean.announcements.updateUpdate Announcementwrite
Index datasources3
glean.index_datasources.addAdd or update datasourcewriteglean.index_datasources.get_configGet datasource configreadglean.index_datasources.submitSubmit datasource datawrite
Verification3
glean.verification.add_reminderCreate verificationwriteglean.verification.listList verificationsreadglean.verification.verifyUpdate verificationwrite
Activity2
glean.activity.feedbackReport client activitywriteglean.activity.reportReport document activitywrite
Auth2
glean.auth.check_datasource_authCheck datasource authorizationreadglean.auth.create_tokenCreate authentication tokenwrite
Departments2
glean.departments.getGet a departmentreadglean.departments.listList departmentsread
Idp groups2
glean.idp_groups.getGet an IdP groupreadglean.idp_groups.listList IdP groupsread
Index shortcuts2
glean.index_shortcuts.bulk_indexBulk index external shortcutswriteglean.index_shortcuts.uploadUpload shortcutswrite
Oauth clients2
glean.oauth_clients.getGet an OAuth clientreadglean.oauth_clients.listList OAuth clientsread
Users2
glean.users.getGet userreadglean.users.listList usersread
Admin agents1
glean.admin_agents.listList all agentsread
Entities1
glean.entities.listList entitiesread
Index auth1
glean.index_auth.rotate_tokenRotate tokendestructive
Insights1
glean.insights.getGet insightsread
Messages1
glean.messages.getRead messagesread
People1
glean.people.getRead peopleread
Questions
The Glean MCP server, answered.
Is there a Glean MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 180 Glean actions across agents, admin usage, governance and index permissions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Glean.
What do I need to connect Glean?
Glean API token (Admin Console > Platform > API Tokens; an Indexing API token for the index_* actions). Plus your act as, your auth type and your host. The free call account { op: "connections.requirements", service: "glean" } lists exactly what to paste.
Can an AI agent delete or change things in Glean?
Only if its key allows it, and only with an explicit confirmation. 27 Glean actions are destructive, including delete trigger, delete Answer and deletes saved Chats. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Glean API limit?
actionlake paces every call to the limits in the Glean service file: 300 calls a minute per connection. Repeated reads are answered from cache (59 Glean actions can be), which never reaches Glean.
What does a Glean action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (180 Glean actions page). Cache hits, searches, dry runs and calls Glean refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Glean API does it cover?
The Glean Client API v1, Indexing API v1 and Platform API (gleanwork/open-api final_specs) at your Glean instance's API base URL, which you enter when connecting. It is built from Glean's documentation as read on 23 October 2026. 180 actions in 37 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Glean data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Glean credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Glean today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.