ClawSkills logoClawSkills

Guru MCP

Access Guru knowledge base via MCP - ask AI questions, search documents, create drafts, and update cards. Connects to all your Guru sources including Slack, Dri

Introduction

# Guru MCP

Access your Guru knowledge base via the official MCP server. Ask AI-powered questions, search documents, create drafts, and update cards.

## Features

- **AI-Powered Answers** — Get comprehensive answers from Knowledge Agents - **Document Search** — Find cards and content across your knowledge base - **Create Drafts** — Generate new card drafts from AI tools - **Update Cards** — Modify existing cards directly - **Connected Sources** — Access Salesforce, Slack, Google Drive, Confluence, SharePoint through Guru - **Permission-Aware** — Respects all existing Guru permissions - **Analytics** — All queries logged in AI Agent Center

## Setup

### 1. Get API Token

1. Go to **Guru Admin → API Tokens** 2. Create a new token 3. Note your email and token

### 2. Configure Environment

Add to `~/.clawdbot/.env`: ```bash [email protected]:your-api-token ```

### 3. Configure mcporter

Add to `config/mcporter.json`: ```json { "mcpServers": { "guru": { "baseUrl": "https://mcp.api.getguru.com/mcp", "headers": { "Authorization": "Bearer ${GURU_API_TOKEN}" } } } } ```

### 4. Verify

```bash mcporter list guru ```

## Available Tools

### `guru_list_knowledge_agents`

List all Knowledge Agents in your workspace. **Always call this first** to get agent IDs for other tools.

```bash mcporter call 'guru.guru_list_knowledge_agents()' ```

Returns: ```json [ {"id": "08de66e8-...", "name": "Guru"}, {"id": "abc123...", "name": "Engineering Docs"} ] ```

### `guru_answer_generation`

Get AI-powered answers from a Knowledge Agent. Best for specific questions like "What is X?" or "How do I Y?".

```bash mcporter call 'guru.guru_answer_generation( agentId: "YOUR_AGENT_ID", question: "How do I submit expenses?" )' ```

Optional filters: - `collectionIds` — Limit to specific collections - `sourceIds` — Limit to specific sources

Returns comprehensive answer with sources.

### `guru_search_documents`

Find documents, cards, and sources. Best for browsing content like "find docs on X" or "do we have cards about Y?".

```bash mcporter call 'guru.guru_search_documents( agentId: "YOUR_AGENT_ID", query: "onboarding process" )' ```

Returns list of matching documents with snippets.

### `guru_get_card_by_id`

Get full card content in HTML format.

```bash mcporter call 'guru.guru_get_card_by_id(id: "CARD_ID")' ```

Returns card ID, title, and HTML content.

### `guru_create_draft`

Create a new card draft.

```bash mcporter call 'guru.guru_create_draft( title: "New Process Guide", content: "<h2>Overview</h2><p>This guide covers...</p>" )' ```

Returns draft ID and URL.

### `guru_update_card`

Update an existing card. First retrieve current content with `guru_get_card_by_id`, then modify.

```bash mcporter call 'guru.guru_update_card( cardId: "CARD_ID", title: "Updated Title", content: "<p>Updated HTML content...</p>" )' ```

**Important:** Preserve HTML structure when updating. Insert/replace content within existing DOM hierarchy.

## Usage Patterns

### Ask a Question

```bash # 1. Get agent ID mcporter call 'guru.guru_list_knowledge_agents()'

# 2. Ask question mcporter call 'guru.guru_answer_generation( agentId: "08de66e8-...", question: "What is the PTO policy?" )' ```

### Find and Read a Card

```bash # 1. Search for cards mcporter call 'guru.guru_search_documents( agentId: "08de66e8-...", query: "expense report" )'

# 2. Get full content mcporter call 'guru.guru_get_card_by_id(id: "CARD_ID_FROM_SEARCH")' ```

### Create New Documentation

```bash mcporter call 'guru.guru_create_draft( title: "API Authentication Guide", content: "<h2>Overview</h2><p>This guide explains how to authenticate with our API.</p><h2>Steps</h2><ol><li>Generate API key</li><li>Add to headers</li></ol>" )' ```

## Choosing the Right Tool

| Use Case | Tool | |----------|------| | "What is X?" / "How do I Y?" | `guru_answer_generation` | | "Find docs about X" | `guru_search_documents` | | "Show me card XYZ" | `guru_get_card_by_id` | | "Create a new guide for X" | `guru_create_draft` | | "Update this card with..." | `guru_update_card` |

## Token Format

The `GURU_API_TOKEN` must be in format `email:token`: ``` [email protected]:a1b2c3d4-e5f6-7890-abcd-ef1234567890 ```

## Notes

- Questions appear in Guru's **AI Agent Center** analytics - All permissions enforced (users only see what they have access to) - Knowledge Agents can be domain-specific — choose the right one for your question - Card content is HTML — preserve structure when updating

## Resources

- [Guru MCP Documentation](https://help.getguru.com/docs/connecting-gurus-mcp-server) - [Guru API Reference](https://developer.getguru.com) - [AI Agent Center](https://app.getguru.com/ai-agent-center) - [MCP Feedback](https://help.getguru.com/docs/connecting-gurus-mcp-server#feedback)

More Products