Skip to content

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/mcp
the first call
do {  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.

  1. 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
  2. 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 as
    • auth_typeYour Glean auth type
    • hostWhere your Glean lives: your host
    account { op: "connections.requirements", service: "glean" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates 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
  1. Agents

    13

    7 read · 2 write · 4 destructive

    Create an agent · Search agents · Search agents · Get agent

  2. Admin usage

    11

    5 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

  3. Governance

    11

    5 read · 5 write · 1 destructive

    Lists policies · Creates new policy · Gets specified policy · Updates an existing policy

  4. Index permissions

    11

    0 read · 8 write · 3 destructive

    Schedules the processing of group memberships · Beta users · Delete group · Delete membership

  5. Chat

    10

    4 read · 3 write · 3 destructive

    Retrieves all saved Chats · Retrieves a Chat · Deletes saved Chats · Create a chat response

  6. Index troubleshooting

    9

    9 read · 0 write · 0 destructive

    Check document access · Beta: Get datasource status · Beta: Get document lifecycle events · Beta: Get document information

  7. Skills

    9

    5 read · 3 write · 1 destructive

    Import skills from GitHub · List skills · List skill versions · Retrieve skill

  8. Collections

    8

    2 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.

ActionWhat it doesEffectSame name in
glean.users.listList usersList users.readidentity.user.list474 connectors
glean.idp_groups.listList IdP groupsList IdP groups.readidentity.group.list262 connectors
glean.departments.listList departmentsList departments.readhr.department.list40 connectors
glean.users.getGet userGet user.readidentity.user.get399 connectors
glean.idp_groups.getGet an IdP groupGet an IdP group.readidentity.group.get212 connectors
glean.departments.getGet a departmentGet a department.readhr.department.get33 connectors
glean.triggers.listList triggersList triggers.readautomation.trigger.list7 connectors
glean.answers.createCreate AnswerCreate Answer.writeknowledge.article.create28 connectors
glean.answers.listList AnswersList Answers.readknowledge.article.list26 connectors
glean.triggers.createCreate triggerCreate trigger.writeautomation.trigger.create5 connectors
glean.governance.create_policyCreates new policyCreates new policy.writesecurity.policy.create25 connectors
glean.triggers.deleteDelete triggerDelete trigger.destructiveautomation.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.

  1. Readread

    Who has access in Glean? List every user and their role.

    callsglean.users.list

  2. Writewrite

    Create Answer in Glean. Show me exactly what you will send before you save it.

    callsglean.answers.create

Governance for Glean

Destructive actions wait for a yes.

27 Glean actions are destructive. These are all of them:

  • Delete triggerglean.triggers.delete
  • Delete Answerglean.answers.delete
  • Deletes saved Chatsglean.chat.delete
  • Delete pinglean.pins.delete
  • Delete skillglean.skills.delete
  • Deletes all saved Chats owned by a userglean.chat.delete_all
  • Delete shortcutglean.shortcuts.delete
  • Create agent runglean.agents.create_run
  • Delete files uploaded by a user for chatglean.chat.delete_files
  • Delete Collectionglean.collections.delete
  • Delete Announcementglean.announcements.delete
  • Respond to agent run approvalsglean.agents.respond_to_run
  • Delete documentglean.index_documents.delete
  • Reset a usage limitglean.admin_usage.reset_limit
  • Delete Collection itemglean.collections.delete_item
  • Rotate tokenglean.index_auth.rotate_token
  • Delete teamglean.index_people.delete_team
  • Create an agent run and wait for the responseglean.agents.legacy_run_and_wait
  • Delete employeeglean.index_people.delete_employee
  • Delete userglean.index_permissions.delete_user
  • Rotate datasource instance credentialsglean.datasources.rotate_credentials
  • Delete groupglean.index_permissions.delete_group
  • Deletes findings exportglean.governance.delete_findings_export
  • Remove metadata schemaglean.index_custom_metadata.delete_schema
  • Delete membershipglean.index_permissions.delete_membership
  • Remove custom metadataglean.index_custom_metadata.delete_document_metadata
  • Cancel an agent runglean.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.

doglean.triggers.deleteconfirm_policy: human

Delete trigger?

intent: the user asked me to delete trigger

run suspended · waiting for a named person · key glean-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
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]" }  ]}
Illustrative. Scoped to Glean only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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

See pricing

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 rundestructive
  • glean.agents.createCreate an agentwrite
  • glean.agents.create_runCreate agent rundestructive
  • glean.agents.getGet agentread
  • glean.agents.get_runGet agent runread
  • glean.agents.get_schemasGet agent schemasread
  • glean.agents.legacy_getRetrieve an agentread
  • glean.agents.legacy_get_schemasList an agent's schemasread
  • glean.agents.legacy_run_and_waitCreate an agent run and wait for the responsedestructive
  • glean.agents.legacy_searchSearch agentsread
  • glean.agents.respond_to_runRespond to agent run approvalsdestructive
  • glean.agents.searchSearch agentsread
  • glean.agents.updateEdit an agentwrite
Admin usage11
  • glean.admin_usage.batch_upsert_limitsApply usage limit policieswrite
  • glean.admin_usage.create_limit_increase_requestSubmit an editable-agent limit-increase requestwrite
  • glean.admin_usage.evaluate_limitsEvaluate administrative usage limit headroomread
  • glean.admin_usage.get_limit_increase_requestGet a billing limit-increase requestread
  • glean.admin_usage.get_settingsGet usage settingsread
  • glean.admin_usage.list_limit_increase_requestsList the billing limit-increase request queueread
  • glean.admin_usage.list_limitsList usage limitsread
  • glean.admin_usage.reset_limitReset a usage limitdestructive
  • glean.admin_usage.update_limit_increase_requestResolve a billing limit-increase requestwrite
  • glean.admin_usage.update_settingsUpdate usage settingswrite
  • glean.admin_usage.upsert_limitUpsert a usage limitwrite
Governance11
  • glean.governance.create_findings_exportCreates findings exportwrite
  • glean.governance.create_policyCreates new policywrite
  • glean.governance.create_reportCreates new one-time reportwrite
  • glean.governance.delete_findings_exportDeletes findings exportdestructive
  • glean.governance.get_policyGets specified policyread
  • glean.governance.get_report_statusFetches report run statusread
  • glean.governance.get_visibility_overridesFetches documents visibilityread
  • glean.governance.list_findings_exportsLists findings exportsread
  • glean.governance.list_policiesLists policiesread
  • glean.governance.set_visibility_overridesHide or unhide docswrite
  • glean.governance.update_policyUpdates an existing policywrite
Index permissions11
  • glean.index_permissions.bulk_index_groupsBulk index groupswrite
  • glean.index_permissions.bulk_index_membershipsBulk index memberships for a groupwrite
  • glean.index_permissions.bulk_index_usersBulk index userswrite
  • glean.index_permissions.delete_groupDelete groupdestructive
  • glean.index_permissions.delete_membershipDelete membershipdestructive
  • glean.index_permissions.delete_userDelete userdestructive
  • glean.index_permissions.index_groupIndex groupwrite
  • glean.index_permissions.index_membershipIndex membershipwrite
  • glean.index_permissions.index_userIndex userwrite
  • glean.index_permissions.process_all_membershipsSchedules the processing of group membershipswrite
  • glean.index_permissions.set_beta_usersBeta userswrite
Chat10
  • glean.chat.create_responseCreate a chat responsewrite
  • glean.chat.deleteDeletes saved Chatsdestructive
  • glean.chat.delete_allDeletes all saved Chats owned by a userdestructive
  • glean.chat.delete_filesDelete files uploaded by a user for chatdestructive
  • glean.chat.getRetrieves a Chatread
  • glean.chat.get_applicationGets the metadata for a custom Chat applicationread
  • glean.chat.get_filesGet files uploaded by a user for Chatread
  • glean.chat.listRetrieves all saved Chatsread
  • glean.chat.renameUpdate a chatwrite
  • glean.chat.sendChatwrite
Index troubleshooting9
  • glean.index_troubleshooting.check_document_accessCheck document accessread
  • glean.index_troubleshooting.datasource_statusBeta: Get datasource statusread
  • glean.index_troubleshooting.document_eventsBeta: Get document lifecycle eventsread
  • glean.index_troubleshooting.document_statusBeta: Get document informationread
  • glean.index_troubleshooting.documents_statusBeta: Get information of a batch of documentsread
  • glean.index_troubleshooting.get_document_countGet document countread
  • glean.index_troubleshooting.get_document_statusGet document upload and indexing statusread
  • glean.index_troubleshooting.get_user_countGet user countread
  • glean.index_troubleshooting.user_statusBeta: Get user informationread
Skills9
  • glean.skills.deleteDelete skilldestructive
  • glean.skills.getRetrieve skillread
  • glean.skills.get_versionRetrieve skill versionread
  • glean.skills.importImport skills from GitHubwrite
  • glean.skills.listList skillsread
  • glean.skills.list_versionsList skill versionsread
  • glean.skills.preview_sourcePreview a GitHub skill sourceread
  • glean.skills.syncSync a GitHub-imported skillwrite
  • glean.skills.updateUpdate skillwrite
Collections8
  • glean.collections.add_itemsAdd Collection itemwrite
  • glean.collections.createCreate Collectionwrite
  • glean.collections.deleteDelete Collectiondestructive
  • glean.collections.delete_itemDelete Collection itemdestructive
  • glean.collections.getRead Collectionread
  • glean.collections.listList Collectionsread
  • glean.collections.updateUpdate Collectionwrite
  • glean.collections.update_itemUpdate Collection itemwrite
Index people7
  • glean.index_people.bulk_index_employeesBulk index employeeswrite
  • glean.index_people.bulk_index_teamsBulk index teamswrite
  • glean.index_people.delete_employeeDelete employeedestructive
  • glean.index_people.delete_teamDelete teamdestructive
  • glean.index_people.index_employeeIndex employeewrite
  • glean.index_people.index_teamIndex teamwrite
  • glean.index_people.process_allSchedules the processing of uploaded employees and teamswrite
Search7
  • glean.search.admin_searchSearch the index (admin)read
  • glean.search.autocompleteAutocompleteread
  • glean.search.feedFeed of documents and eventsread
  • glean.search.list_filtersList search filtersread
  • glean.search.platform_searchSearchread
  • glean.search.querySearchread
  • glean.search.recommendationsRecommend documentsread
Tools7
  • glean.tools.authorize_action_packStart the OAuth authorization flow for an action packwrite
  • glean.tools.authorize_tool_serverStart the OAuth authorization flow for a tool serverwrite
  • glean.tools.callExecute the specified toolwrite
  • glean.tools.get_action_pack_authGet end-user authentication status for an action packread
  • glean.tools.get_tool_server_authGet end-user authentication status for a tool serverread
  • glean.tools.listList available toolsread
  • glean.tools.list_tool_server_toolsGet tool definitions from a tool serverread
Index documents6
  • glean.index_documents.bulk_indexBulk index documentswrite
  • glean.index_documents.deleteDelete documentdestructive
  • glean.index_documents.indexIndex documentwrite
  • glean.index_documents.index_manyIndex documentswrite
  • glean.index_documents.process_allSchedules the processing of uploaded documentswrite
  • glean.index_documents.update_permissionsUpdate document permissionswrite
Triggers6
  • glean.triggers.createCreate triggerwrite
  • glean.triggers.deleteDelete triggerdestructive
  • glean.triggers.getGet triggerread
  • glean.triggers.listList triggersread
  • glean.triggers.search_eventsSearch events for a triggerread
  • glean.triggers.updateUpdate triggerwrite
Answers5
  • glean.answers.createCreate Answerwrite
  • glean.answers.deleteDelete Answerdestructive
  • glean.answers.getRead Answerread
  • glean.answers.listList Answersread
  • glean.answers.updateUpdate Answerwrite
Index custom metadata5
  • glean.index_custom_metadata.delete_document_metadataRemove custom metadatadestructive
  • glean.index_custom_metadata.delete_schemaRemove metadata schemadestructive
  • glean.index_custom_metadata.get_schemaRetrieve metadata schemaread
  • glean.index_custom_metadata.set_document_metadataAdd or update custom metadatawrite
  • glean.index_custom_metadata.set_schemaCreate or update metadata schemawrite
Pins5
  • glean.pins.createCreate pinwrite
  • glean.pins.deleteDelete pindestructive
  • glean.pins.getRead pinread
  • glean.pins.listList pinsread
  • glean.pins.updateUpdate pinwrite
Shortcuts5
  • glean.shortcuts.createCreate shortcutwrite
  • glean.shortcuts.deleteDelete shortcutdestructive
  • glean.shortcuts.getRead shortcutread
  • glean.shortcuts.listList shortcutsread
  • glean.shortcuts.updateUpdate shortcutwrite
Datasources4
  • glean.datasources.get_credential_statusGet datasource instance credential statusread
  • glean.datasources.get_instance_configurationGet datasource instance configurationread
  • glean.datasources.rotate_credentialsRotate datasource instance credentialsdestructive
  • glean.datasources.update_instance_configurationUpdate datasource instance configurationwrite
Documents4
  • glean.documents.getRead documentsread
  • glean.documents.get_permissionsRead document permissionsread
  • glean.documents.list_by_facetsRead documents by facetsread
  • glean.documents.summarizeSummarize documentsread
Trigger presets4
  • glean.trigger_presets.getGet trigger presetread
  • glean.trigger_presets.listList trigger presetsread
  • glean.trigger_presets.list_input_valuesSearch trigger preset input valuesread
  • glean.trigger_presets.search_eventsSearch events for a trigger presetread
Usage4
  • glean.usage.create_limit_increase_requestSubmit a personal limit-increase requestwrite
  • glean.usage.evaluate_limitsEvaluate usage limit headroomread
  • glean.usage.get_limit_increase_requestGet a personal limit-increase requestread
  • glean.usage.list_limit_increase_requestsList personal limit-increase requestsread
Announcements3
  • glean.announcements.createCreate Announcementwrite
  • glean.announcements.deleteDelete Announcementdestructive
  • glean.announcements.updateUpdate Announcementwrite
Index datasources3
  • glean.index_datasources.addAdd or update datasourcewrite
  • glean.index_datasources.get_configGet datasource configread
  • glean.index_datasources.submitSubmit datasource datawrite
Verification3
  • glean.verification.add_reminderCreate verificationwrite
  • glean.verification.listList verificationsread
  • glean.verification.verifyUpdate verificationwrite
Activity2
  • glean.activity.feedbackReport client activitywrite
  • glean.activity.reportReport document activitywrite
Auth2
  • glean.auth.check_datasource_authCheck datasource authorizationread
  • glean.auth.create_tokenCreate authentication tokenwrite
Departments2
  • glean.departments.getGet a departmentread
  • glean.departments.listList departmentsread
Idp groups2
  • glean.idp_groups.getGet an IdP groupread
  • glean.idp_groups.listList IdP groupsread
Index shortcuts2
  • glean.index_shortcuts.bulk_indexBulk index external shortcutswrite
  • glean.index_shortcuts.uploadUpload shortcutswrite
Oauth clients2
  • glean.oauth_clients.getGet an OAuth clientread
  • glean.oauth_clients.listList OAuth clientsread
Users2
  • glean.users.getGet userread
  • glean.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.