---
title: "Guru MCP server for AI agents - actionlake"
description: "Give Claude 300 Guru actions through one MCP server: knowledge agents, cards. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/guru
updated: 2026-10-23
---

Connectors · Service desk & support

# Guru MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Guru and the rest of your systems. It gives your agent 300 Guru actions (142 reads, 112 writes and 46 that wait for a confirmation) and holds the Guru credential itself, so the agent never does. It paces Guru's limits and records every call.

[Connect Guru free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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: "guru.members.list",
  intent: "check which Guru account is connected"
}
# List team members · read · 1 upstream call
```

- 300 actions in one signed file
- 142 read look, never change
- 112 write create and update
- 46 wait for a yes destructive, confirmed first

Set up

## Connect Guru 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 Guru.
   Username and secret. 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.
   - `username` Guru username: the email address of the user who owns a user token (read/write), or the collection id for a…
   - `api_token` Guru API token
   ```
   account { op: "connections.requirements", service: "guru" }
   # 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: "guru.members.list" }
   # list team members · read · 1 upstream call
   check { action: "guru.groups.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Guru at a glance

**Sign-in**

Username and secret. 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**

`username` `api_token`

**Limits we pace to**

10 calls a second, per connection

**API covered**

Guru API v1 (OpenAPI 3.0.1)`api.getguru.com`

**Built from**

Guru's documentation, read 23 October 2026[api.getguru.com](https://api.getguru.com/api/v1/openapi.json) [api.getguru.com](https://api.getguru.com/api/v1/openapi_ai.json) [developer.getguru.com](https://developer.getguru.com/reference)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

136 of 142 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line Guru up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Guru.

300 actions in 58 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **142** read look, never change
- **112** write create and update
- **46** destructive wait for a confirmation

1. ### Knowledge agents
   22
   11 read · 7 write · 4 destructive
   Create (knowledge agents) · List (knowledge agents) · Get accessible sources for a Knowledge Agent · List version history for a Knowledge Agent's config
2. ### Cards
   15
   7 read · 6 write · 2 destructive
   Create a card with additional details · Get the current version of a card · Update a card with additional details · Delete a card
3. ### Knowledge agent skills
   13
   6 read · 5 write · 2 destructive
   Add a group to a skill's access list. In place of a group ID, you may provide a user's email address to target an individual user · Create a skill on a Knowledge Agent · List all skills for a Knowledge Agent · List groups with access to a skill
4. ### Announcements
   11
   6 read · 4 write · 1 destructive
   Create an announcement. In place of a group ID, you may provide a user's email address to target an individual user · Export announcement user details · List announcements · Get Team Announcements
5. ### Folders
   11
   7 read · 3 write · 1 destructive
   List folders · Create folder · Get folder · Update folder
6. ### Collections
   9
   3 read · 5 write · 1 destructive
   Create a collection · Start a collection export to a .zip (result posted to your webhook) · List collections · List pinned (collections)
7. ### Navigation pins
   9
   3 read · 4 write · 2 destructive
   Create user (navigation pins) · Create workspace (navigation pins) · List pinnable objects (navigation pins) · List user (navigation pins)
8. ### Sources
   9
   5 read · 3 write · 1 destructive
   Create a custom source with its object types, fields, facets and templates · List sources, optionally by the externalId assigned at creation · Retrieve a list of grouped connections without sources · Get the objectTypes for a source

**50 more areas · 201 actions**

- Answers **8**
- Chat threads **8**
- Webhooks **8**
- Card comments **7**
- Knowledge agent skill files **7**
- Search **7**
- AI evaluations **6**
- Chat plans **6**
- Groups **6**
- Knowledge agent quality rules **6**
- Quality runs **6**
- Ticket links **6**
- Card templates **5**
- Chat **5**
- Collection groups **5**
- Knowledge agent guardrails **5**
- Knowledge agent MCP servers **5**
- Oauth clients **5**
- Source native groups **5**
- Card comment replies **4**
- Knowledge agent groups **4**
- Knowledge agent slack **4**
- Knowledge agent urls **4**
- Source folders **4**
- Source native users **4**
- Source records **4**
- Tag categories **4**
- Workspace permissions **4**
- Card verifiers **3**
- Group members **3**
- Impersonation tokens **3**
- People **3**
- Source folder permissions **3**
- Source groups **3**
- Source objects **3**
- Source record permissions **3**
- Tags **3**
- Analytics **2**
- Card versions **2**
- Drafts **2**
- Folder bulk operations **2**
- Members **2**
- Roles **2**
- Teams **2**
- Users **2**
- Widgets **2**
- Comments **1**
- Imports **1**
- Tasks **1**
- Whoami **1**

Top actions

## The Guru API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 28 of Guru's 28 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `guru.members.list` List team members | List team members. | read | `identity.user.list` 474 connectors |
| `guru.groups.list` List user groups | List user groups. | read | `identity.group.list` 262 connectors |
| `guru.groups.create` Add a user group | Add a user group. | write | `identity.group.create` 205 connectors |
| `guru.groups.delete` Delete a user group | Delete a user group. | destructive | `identity.group.delete` 181 connectors |
| `guru.whoami.get` Get user information | Get user information. | read | `identity.current_user.get` 307 connectors |
| `guru.impersonation_tokens.create` Create an impersonation token | Create an impersonation token. | write | `identity.api_key.create` 100 connectors |
| `guru.impersonation_tokens.list` List impersonation tokens (masked) | List impersonation tokens (masked). | read | `identity.api_key.list` 96 connectors |
| `guru.search.cards` Search for cards | Search for cards. | read | `knowledge.article.search` 15 connectors |
| `guru.folders.list` List folders | List folders. | read | `work.folder.list` 9 connectors |
| `guru.cards.create` Create a card with additional details | Create a card with additional details. | write | `knowledge.article.create` 28 connectors |
| `guru.webhooks.create` Create a webhook subscription | Create a webhook subscription. | write | `automation.webhook.create` 209 connectors |
| `guru.folders.create` Create folder | Create folder. | write | `work.folder.create` 9 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Guru actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Find the Guru articles about password resets and summarise what they say.
   calls `guru.search.cards`
2. Write write
   Add a user group in Guru. Show me exactly what you will send before you save it.
   calls `guru.groups.create`

Governance for Guru

## Destructive actions wait for a yes.

46 Guru actions are destructive. The first 10:

- Delete a user group `guru.groups.delete`
- Delete an impersonation token `guru.impersonation_tokens.delete`
- Delete a card `guru.cards.delete`
- Delete a webhook `guru.webhooks.delete`
- Delete folder `guru.folders.delete`
- Delete a source and everything in it `guru.sources.delete`
- Archive an answer `guru.answers.archive`
- Delete an automation plan `guru.chat_plans.delete`
- Delete a collection `guru.collections.delete`
- Permanently delete a chat thread `guru.chat_threads.delete`

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.

do guru.groups.delete confirm_policy: **human**

Delete a user group?

**intent:** the user asked me to delete a user group

run suspended · waiting for a named person · key _guru-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "guru-agent",
  allowed_actions: ["guru.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "guru.groups.delete", approver: "lead@example.com" },
    { match: "guru.impersonation_tokens.delete", approver: "lead@example.com" },
    { match: "guru.cards.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Guru only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Guru costs on actionlake.

Every Guru action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Guru 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.

- 1 upstream call per action all 300 Guru actions
- 300 actions page each page of a long list is one call
- 136 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Guru action.

300 actions by area: the id your agent calls, what it does, and its effect.

**Knowledge agents 22**

- `guru.knowledge_agents.attach_source` Attach a single source to a Knowledge Agent write
- `guru.knowledge_agents.create` Create (knowledge agents) write
- `guru.knowledge_agents.delete` Delete (knowledge agents) destructive
- `guru.knowledge_agents.delete_image` Delete image (knowledge agents) destructive
- `guru.knowledge_agents.detach_source` Detach a single source from a Knowledge Agent destructive
- `guru.knowledge_agents.execute_quality_config` Execute quality config (knowledge agents) destructive
- `guru.knowledge_agents.get` Get (knowledge agents) read
- `guru.knowledge_agents.get_config` Get config (knowledge agents) read
- `guru.knowledge_agents.get_config_version` Get a single config version by ID read
- `guru.knowledge_agents.get_quality_config` Get quality config (knowledge agents) read
- `guru.knowledge_agents.get_setup` Get Knowledge Agent Setup read
- `guru.knowledge_agents.get_source_membership` Check if a source is attached to a Knowledge Agent read
- `guru.knowledge_agents.list` List (knowledge agents) read
- `guru.knowledge_agents.list_accessible_sources` Get accessible sources for a Knowledge Agent read
- `guru.knowledge_agents.list_config_versions` List version history for a Knowledge Agent's config read
- `guru.knowledge_agents.list_experts` Returns a list of users and groups that an answer can be assigned to read
- `guru.knowledge_agents.list_pages` List pages (knowledge agents) read
- `guru.knowledge_agents.migrate_to_deep_agent` Migrate a Knowledge Agent to a Deep Agent write
- `guru.knowledge_agents.test_prompt` Test prompt (knowledge agents) write
- `guru.knowledge_agents.update` Update (knowledge agents) write
- `guru.knowledge_agents.update_config` Update config (knowledge agents) write
- `guru.knowledge_agents.update_quality_config` Update quality config (knowledge agents) write

**Cards 15**

- `guru.cards.cancel_scheduled_archival` Cancel scheduled archival for a card destructive
- `guru.cards.create` Create a card with additional details write
- `guru.cards.delete` Delete a card destructive
- `guru.cards.get` Get the current version of a card read
- `guru.cards.get_archive_settings` Get scheduled archival information for a card read
- `guru.cards.get_extended` Get a card with additional details read
- `guru.cards.list_boards` List boards a card is on read
- `guru.cards.list_favorite_lists` List favorite lists including this card read
- `guru.cards.list_folders` List folders a card is on read
- `guru.cards.list_unverified` List unverified cards read
- `guru.cards.schedule_archival` Schedule a card for archival write
- `guru.cards.unverify` Unverify a card write
- `guru.cards.update` Update a card with additional details write
- `guru.cards.update_content` Update a card's content write
- `guru.cards.verify` Verify a card write

**Knowledge agent skills 13**

- `guru.knowledge_agent_skills.add_access` Add a group to a skill's access list. In place of a group ID, you may provide a user's email address to target an individual user write
- `guru.knowledge_agent_skills.create` Create a skill on a Knowledge Agent write
- `guru.knowledge_agent_skills.delete` Delete a skill from a Knowledge Agent destructive
- `guru.knowledge_agent_skills.disable` Disable a skill on a Knowledge Agent write
- `guru.knowledge_agent_skills.enable` Enable a skill on a Knowledge Agent write
- `guru.knowledge_agent_skills.get` Get a skill by ID read
- `guru.knowledge_agent_skills.get_version` Get a single skill version by ID read
- `guru.knowledge_agent_skills.list` List all skills for a Knowledge Agent read
- `guru.knowledge_agent_skills.list_access` List groups with access to a skill read
- `guru.knowledge_agent_skills.list_access_available` Returns a paged list of users and groups eligible for skill access read
- `guru.knowledge_agent_skills.list_versions` List version history for a Knowledge Agent Skill read
- `guru.knowledge_agent_skills.remove_access` Remove a group from a skill's access list destructive
- `guru.knowledge_agent_skills.update` Update a skill on a Knowledge Agent write

**Announcements 11**

- `guru.announcements.create` Create an announcement. In place of a group ID, you may provide a user's email address to target an individual user write
- `guru.announcements.delete` Delete an announcement destructive
- `guru.announcements.export_users` Export announcement user details write
- `guru.announcements.get` Get full Announcement by ID read
- `guru.announcements.get_stats_full` Get Full Announcement Stats read
- `guru.announcements.get_stats_summary` Get Announcement Stats Summary read
- `guru.announcements.list` List announcements read
- `guru.announcements.list_team` Get Team Announcements read
- `guru.announcements.list_user_stats` Get Announcement User Stats read
- `guru.announcements.mark_read` Mark an announcement as read write
- `guru.announcements.send_reminder` Send announcement reminders write

**Folders 11**

- `guru.folders.apply_action` Add a folder or move a card into a folder (folder action) write
- `guru.folders.create` Create folder write
- `guru.folders.delete` Delete folder destructive
- `guru.folders.get` Get folder read
- `guru.folders.get_effective_permissions` Get folder effective permissions read
- `guru.folders.get_parent` Get folder parent read
- `guru.folders.list` List folders read
- `guru.folders.list_items` Get folder items read
- `guru.folders.list_permissions` Get folder permissions read
- `guru.folders.search` Search for folders read
- `guru.folders.update` Update folder write

**Collections 9**

- `guru.collections.create` Create a collection write
- `guru.collections.delete` Delete a collection destructive
- `guru.collections.export` Start a collection export to a .zip (result posted to your webhook) write
- `guru.collections.get` Find a collection by ID read
- `guru.collections.list` List collections read
- `guru.collections.list_pinned` List pinned (collections) read
- `guru.collections.pin` Pin (collections) write
- `guru.collections.unpin` Unpin (collections) write
- `guru.collections.update` Update a collection write

**Navigation pins 9**

- `guru.navigation_pins.create_user` Create user (navigation pins) write
- `guru.navigation_pins.create_workspace` Create workspace (navigation pins) write
- `guru.navigation_pins.delete_user` Delete user (navigation pins) destructive
- `guru.navigation_pins.delete_workspace` Delete workspace (navigation pins) destructive
- `guru.navigation_pins.list_pinnable_objects` List pinnable objects (navigation pins) read
- `guru.navigation_pins.list_user` List user (navigation pins) read
- `guru.navigation_pins.list_workspace` List workspace (navigation pins) read
- `guru.navigation_pins.update_user` Update user (navigation pins) write
- `guru.navigation_pins.update_workspace` Update workspace (navigation pins) write

**Sources 9**

- `guru.sources.create` Create a custom source with its object types, fields, facets and templates write
- `guru.sources.delete` Delete a source and everything in it destructive
- `guru.sources.get` Get a source and its current sync state read
- `guru.sources.get_grouped_connection` Retrieve a single grouped connection with sources read
- `guru.sources.list` List sources, optionally by the externalId assigned at creation read
- `guru.sources.list_grouped_connections` Retrieve a list of grouped connections without sources read
- `guru.sources.list_object_types` Get the objectTypes for a source read
- `guru.sources.set_sync_status` Open, close or fail a sync for an object type or tag config write
- `guru.sources.update_config` Rename a source (update its config) write

**Answers 8**

- `guru.answers.archive` Archive an answer destructive
- `guru.answers.ask` Ask a Question write
- `guru.answers.ask_minimal` Ask a Question and receive an answer without explanations or sources write
- `guru.answers.assign_expert` Assign an answer to an expert write
- `guru.answers.list_boosted_documents` Get boosted documents read
- `guru.answers.list_relevant_unverified_documents` Get relevant unverified documents read
- `guru.answers.restore` Restore an archived answer write
- `guru.answers.unassign_expert` Unassign an answer from an expert destructive

**Chat threads 8**

- `guru.chat_threads.create` Create a new chat thread with knowledge agent write
- `guru.chat_threads.delete` Permanently delete a chat thread destructive
- `guru.chat_threads.get` Get a chat thread by ID read
- `guru.chat_threads.get_message_by_event` Get message by agent event ID read
- `guru.chat_threads.list` Get all existing chat threads for the current user and workspace read
- `guru.chat_threads.list_for_review` List for review (chat threads) read
- `guru.chat_threads.list_messages` Get all messages in a chat thread read
- `guru.chat_threads.update` Update chat thread information write

**Webhooks 8**

- `guru.webhooks.create` Create a webhook subscription write
- `guru.webhooks.delete` Delete a webhook destructive
- `guru.webhooks.get` Get a webhook read
- `guru.webhooks.list` List the webhooks owned by the user read
- `guru.webhooks.list_logs` List a webhook's delivery logs (newest first, kept two weeks) read
- `guru.webhooks.set_status` Enable or disable a webhook write
- `guru.webhooks.test` Send a test event to a webhook write
- `guru.webhooks.update` Update a webhook (all fields are required) write

**Card comments 7**

- `guru.card_comments.create` Create a card comment write
- `guru.card_comments.delete` Delete a card comment destructive
- `guru.card_comments.get` Find a card comment by ID read
- `guru.card_comments.list` List card comments read
- `guru.card_comments.resolve` Set a comment's status to resolved write
- `guru.card_comments.unresolve` Set a comment's status to open write
- `guru.card_comments.update` Update a card comment write

**Knowledge agent skill files 7**

- `guru.knowledge_agent_skill_files.create` Create a file on a Knowledge Agent Skill write
- `guru.knowledge_agent_skill_files.delete` Delete a skill file destructive
- `guru.knowledge_agent_skill_files.get` Get a skill file by ID read
- `guru.knowledge_agent_skill_files.get_version` Get a single inline skill file version by ID read
- `guru.knowledge_agent_skill_files.list` List all files for a Knowledge Agent Skill read
- `guru.knowledge_agent_skill_files.list_versions` List version history for an inline Knowledge Agent Skill File read
- `guru.knowledge_agent_skill_files.update` Update a skill file write

**Search 7**

- `guru.search.card_manager` Search for cards read
- `guru.search.card_manager_query` Search for cards using JSON query read
- `guru.search.cards` Search for cards read
- `guru.search.documents` Search with Sources read
- `guru.search.documents_natural_language` Search with Sources read
- `guru.search.list_source_manager_filters` Get source filters for source manager read
- `guru.search.source_manager_query` Search for source records using JSON query read

**AI evaluations 6**

- `guru.ai_evaluations.bulk_delete` Bulk delete AI evaluations destructive
- `guru.ai_evaluations.create` Create AI evaluation write
- `guru.ai_evaluations.delete` Delete AI evaluation destructive
- `guru.ai_evaluations.get` Get AI evaluation read
- `guru.ai_evaluations.list` List AI evaluations read
- `guru.ai_evaluations.list_results` List evaluation results read

**Chat plans 6**

- `guru.chat_plans.create` Create a new automation plan write
- `guru.chat_plans.delete` Delete an automation plan destructive
- `guru.chat_plans.list` Get all automation plans created by the current user read
- `guru.chat_plans.pause` Pause an active automation plan write
- `guru.chat_plans.resume` Resume a paused automation plan write
- `guru.chat_plans.update` Update an existing automation plan write

**Groups 6**

- `guru.groups.create` Add a user group write
- `guru.groups.delete` Delete a user group destructive
- `guru.groups.get` Get a user group read
- `guru.groups.list` List user groups read
- `guru.groups.list_collections` List group collection access read
- `guru.groups.update` Update a user group write

**Knowledge agent quality rules 6**

- `guru.knowledge_agent_quality_rules.create` Create a quality rule for a Knowledge Agent by mode write
- `guru.knowledge_agent_quality_rules.delete` Delete a quality rule destructive
- `guru.knowledge_agent_quality_rules.get` Get a quality rule by ID read
- `guru.knowledge_agent_quality_rules.list` List quality rules for a Knowledge Agent read
- `guru.knowledge_agent_quality_rules.revert_to_defaults` Revert quality rules to defaults for a Knowledge Agent write
- `guru.knowledge_agent_quality_rules.update` Update a quality rule write

**Quality runs 6**

- `guru.quality_runs.get_document_detail` Get quality agent run detail for a specific document read
- `guru.quality_runs.list` Get quality agent runs read
- `guru.quality_runs.list_details` Get quality agent run details read
- `guru.quality_runs.list_simulation_agents` Find the knowledge agents that can be used to simulate a quality check run for a specific document read
- `guru.quality_runs.revert` Revert a quality agent run write
- `guru.quality_runs.simulate` Simulate a quality agent run for a specific document write

**Ticket links 6**

- `guru.ticket_links.create` Create a ticket link write
- `guru.ticket_links.delete` Delete a ticket link destructive
- `guru.ticket_links.disable_platform` Disable a ticket linking platform destructive
- `guru.ticket_links.enable_platform` Enable a ticket linking platform write
- `guru.ticket_links.list` List ticket links read
- `guru.ticket_links.list_platforms` Get enabled ticket linking platforms read

**Card templates 5**

- `guru.card_templates.create` Create a card template write
- `guru.card_templates.delete` Delete a card template destructive
- `guru.card_templates.get` Get a card template read
- `guru.card_templates.list` List card templates read
- `guru.card_templates.update` Update a card template write

**Chat 5**

- `guru.chat.ask` Ask a question and get a synchronous answer write
- `guru.chat.ask_async` Ask a question asynchronously write
- `guru.chat.get_async_answer` Get the result of an async ask operation read
- `guru.chat.perform_message_action` Perform action on chat message write
- `guru.chat.route_to_knowledge_agent` Get the best-matching knowledge agent to route a prompt to write

**Collection groups 5**

- `guru.collection_groups.create` Give a group access to a collection. In place of a group ID, you may provide a user's email address to target an individual user write
- `guru.collection_groups.delete` Delete a group's access to a collection destructive
- `guru.collection_groups.list` List collection group access read
- `guru.collection_groups.list_authors` List collection group author access read
- `guru.collection_groups.update` Update a group's access to a collection write

**Knowledge agent guardrails 5**

- `guru.knowledge_agent_guardrails.create` Create a guardrail for a Knowledge Agent write
- `guru.knowledge_agent_guardrails.delete` Delete a guardrail destructive
- `guru.knowledge_agent_guardrails.get` Get a guardrail by ID read
- `guru.knowledge_agent_guardrails.list` List guardrails for a Knowledge Agent read
- `guru.knowledge_agent_guardrails.update` Update a guardrail write

**Knowledge agent MCP servers 5**

- `guru.knowledge_agent_mcp_servers.create` Add external MCP server to Knowledge Agent write
- `guru.knowledge_agent_mcp_servers.delete` Remove external MCP server from Knowledge Agent destructive
- `guru.knowledge_agent_mcp_servers.get_status` Get MCP status for Knowledge Agent including user connection status read
- `guru.knowledge_agent_mcp_servers.list` List external MCP servers for Knowledge Agent read
- `guru.knowledge_agent_mcp_servers.update` Update external MCP server configuration for Knowledge Agent write

**Oauth clients 5**

- `guru.oauth_clients.create` Create an OAuth2 client write
- `guru.oauth_clients.delete` Delete an OAuth2 client and revoke all of its authorizations destructive
- `guru.oauth_clients.get` Get an OAuth2 client read
- `guru.oauth_clients.list` List OAuth2 clients read
- `guru.oauth_clients.update` Update an OAuth2 client write

**Source native groups 5**

- `guru.source_native_groups.delete` Delete a native group destructive
- `guru.source_native_groups.list` List the native groups synced to a source (first page) read
- `guru.source_native_groups.list_members` List a native group's members (first page) read
- `guru.source_native_groups.update_members` Batch-update a native group's members write
- `guru.source_native_groups.upsert` Create or update a native group, optionally with its complete member list write

**Card comment replies 4**

- `guru.card_comment_replies.create` Create a new reply to a comment write
- `guru.card_comment_replies.delete` Delete a comment reply destructive
- `guru.card_comment_replies.list` List replies to a comment read
- `guru.card_comment_replies.update` Update a comment reply write

**Knowledge agent groups 4**

- `guru.knowledge_agent_groups.create` Give a group access to a Knowledge Agent. In place of a group ID, you may provide a user's email address to target an individual user write
- `guru.knowledge_agent_groups.delete` Delete (knowledge agent groups) destructive
- `guru.knowledge_agent_groups.list` List (knowledge agent groups) read
- `guru.knowledge_agent_groups.update` Update (knowledge agent groups) write

**Knowledge agent slack 4**

- `guru.knowledge_agent_slack.create_answer_subscriptions` Create Answer Channel Subscriptions write
- `guru.knowledge_agent_slack.list_answer_subscriptions` Get All Public Answer Channel Subscriptions read
- `guru.knowledge_agent_slack.list_channels` Gather bot channels available to be assigned to the knowledge agent read
- `guru.knowledge_agent_slack.update_answer_subscription_settings` Update a Slack Answer Channel Subscription's per-channel response settings write

**Knowledge agent urls 4**

- `guru.knowledge_agent_urls.create` Create (knowledge agent urls) write
- `guru.knowledge_agent_urls.delete` Delete (knowledge agent urls) destructive
- `guru.knowledge_agent_urls.list` List (knowledge agent urls) read
- `guru.knowledge_agent_urls.update` Update (knowledge agent urls) write

**Source folders 4**

- `guru.source_folders.delete` Delete one source folder outside a sync destructive
- `guru.source_folders.list_children` List a source folder's direct children read
- `guru.source_folders.list_roots` List a source's root folders read
- `guru.source_folders.upsert` Create or update one source folder write

**Source native users 4**

- `guru.source_native_users.delete` Delete one native user destructive
- `guru.source_native_users.list` List the native users synced to a source (first page) read
- `guru.source_native_users.update_bulk` Batch-update a source's native users write
- `guru.source_native_users.upsert` Create or update one native user write

**Source records 4**

- `guru.source_records.delete` Delete one record on a single-type RECORD source destructive
- `guru.source_records.get` Read one source record read
- `guru.source_records.list` List the records of one object type read
- `guru.source_records.search` Find source records by title or content read

**Tag categories 4**

- `guru.tag_categories.create` Create a tag category write
- `guru.tag_categories.delete` Delete a tag category destructive
- `guru.tag_categories.list` List tag categories read
- `guru.tag_categories.update` Update a tag category write

**Workspace permissions 4**

- `guru.workspace_permissions.create` Grant permissions to a workspace write
- `guru.workspace_permissions.delete` Delete permission on a workspace destructive
- `guru.workspace_permissions.list` Getting a list of users and groups with workspace permissions read
- `guru.workspace_permissions.update` Update permissions on a workspace write

**Card verifiers 3**

- `guru.card_verifiers.get` Get a card verifier read
- `guru.card_verifiers.list` List card verifiers read
- `guru.card_verifiers.replace` Replace card verifiers write

**Group members 3**

- `guru.group_members.add` Add a user group member write
- `guru.group_members.list` List group members read
- `guru.group_members.remove` Delete a user group member destructive

**Impersonation tokens 3**

- `guru.impersonation_tokens.create` Create an impersonation token write
- `guru.impersonation_tokens.delete` Delete an impersonation token destructive
- `guru.impersonation_tokens.list` List impersonation tokens (masked) read

**People 3**

- `guru.people.get` Get the profile for a person read
- `guru.people.list_direct_reports` Lists all users that report to this user read
- `guru.people.update` Update the profile for a person write

**Source folder permissions 3**

- `guru.source_folder_permissions.delete` Remove all native permissions from a source folder destructive
- `guru.source_folder_permissions.get` Read a source folder's native permissions (first page) read
- `guru.source_folder_permissions.replace` Replace a source folder's native permission list write

**Source groups 3**

- `guru.source_groups.add` Give a group access to a source write
- `guru.source_groups.list` List the groups that can see a source read
- `guru.source_groups.remove` Remove a group's access to a source destructive

**Source objects 3**

- `guru.source_objects.get_metadata` Get object metadata by external id read
- `guru.source_objects.put_content` Update the content of an object write
- `guru.source_objects.touch` Mark an object as part of the current full sync write

**Source record permissions 3**

- `guru.source_record_permissions.delete` Remove all native permissions from a record destructive
- `guru.source_record_permissions.get` Read a record's native permissions read
- `guru.source_record_permissions.replace` Replace a record's native permission list write

**Tags 3**

- `guru.tags.create` Create a tag write
- `guru.tags.get` Get a tag read
- `guru.tags.update` Update a tag write

**Analytics 2**

- `guru.analytics.get_summarized` Get summarized analytics read
- `guru.analytics.list_events` List events read

**Card versions 2**

- `guru.card_versions.get` Get a specific card version read
- `guru.card_versions.list` List a card's version history read

**Drafts 2**

- `guru.drafts.create` Create a draft write
- `guru.drafts.search` Search for drafts using JSON query read

**Folder bulk operations 2**

- `guru.folder_bulk_operations.create` Start a folder bulk operation (e.g. export folders to PDF) write
- `guru.folder_bulk_operations.get` Get the status of a folder bulk operation read

**Members 2**

- `guru.members.get_by_email` Find a team member by email address read
- `guru.members.list` List team members read

**Roles 2**

- `guru.roles.list` List (roles) read
- `guru.roles.list_permissions` List permissions (roles) read

**Teams 2**

- `guru.teams.get_stats` Get a team's stats read
- `guru.teams.list` List the teams the credential belongs to read

**Users 2**

- `guru.users.list_followers` Lists all followers of this user read
- `guru.users.list_following` Lists all users that this user follows read

**Widgets 2**

- `guru.widgets.list` List (widgets) read
- `guru.widgets.update` Update (widgets) write

**Comments 1**

- `guru.comments.list` Get comment threads across all cards visible to the current user, most recently active first. Each result is a top-level comment plus all of its replies read

**Imports 1**

- `guru.imports.get_status` Get the status of a content import job read

**Tasks 1**

- `guru.tasks.list_mentions` List user mentions read

**Whoami 1**

- `guru.whoami.get` Get user information read

Questions

## The Guru MCP server, answered.

**Is there a Guru MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 300 Guru actions across knowledge agents, cards, knowledge agent skills and announcements, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Guru.

**What do I need to connect Guru?**

Guru username: the email address of the user who owns a user token (read/write), or the collection id for a… and Guru API token. The free call account { op: "connections.requirements", service: "guru" } lists exactly what to paste.

**Can an AI agent delete or change things in Guru?**

Only if its key allows it, and only with an explicit confirmation. 46 Guru actions are destructive, including delete a user group, delete an impersonation token and delete a card. 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 Guru API limit?**

actionlake paces every call to the limits in the Guru service file: 10 calls a second per connection. Repeated reads are answered from cache (136 Guru actions can be), which never reaches Guru.

**What does a Guru action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (300 Guru actions page). Cache hits, searches, dry runs and calls Guru 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 Guru API does it cover?**

The Guru API v1 (OpenAPI 3.0.1) at api.getguru.com. It is built from Guru's documentation as read on 23 October 2026. 300 actions in 58 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Guru 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 Guru 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.

## More connectors like Guru

Shares the most action names with

- [Trengo 18](https://actionlake.com/connectors/trengo)
- [FireHydrant 12](https://actionlake.com/connectors/firehydrant)
- [LiveChat (Text platform) 11](https://actionlake.com/connectors/livechat-text-platform)
- [Dixa 11](https://actionlake.com/connectors/dixa)
- [Gorgias 9](https://actionlake.com/connectors/gorgias)
- [Front 7](https://actionlake.com/connectors/front)

Joins with, on shared entities

- [HaloPSA 3](https://actionlake.com/connectors/halopsa)
- [Microsoft Dynamics 365 3](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Zoho SalesIQ 3](https://actionlake.com/connectors/zoho-salesiq)
- [Insightly CRM 3](https://actionlake.com/connectors/insightly-crm)
- [Workato 3](https://actionlake.com/connectors/workato)
- [JetBrains YouTrack 3](https://actionlake.com/connectors/jetbrains-youtrack)

Browse

- [All Service desk & support connectors](https://actionlake.com/connectors/category/service-desk-and-support)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Guru; the name is the vendor's own. Counts are from the Guru service file, version 1.0.0.

## Give your agent Guru today.

[Connect Guru free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/guru
More: https://actionlake.com/llms.txt
