Navigate docs

Integrations

Connect AI tools (MCP)

Server hawko-meetings v1.0.0: read-only access to your meetings from Cursor, Claude Desktop, or any SSE + Bearer client.

Overview

MCP lets compatible clients list and call hawkO tools: meetings, folders, insights, recipes, and people. All responses are scoped to your signed-in account. There are no write or delete tools.

Prerequisites

  • hawkO desktop app installed and signed in with Google.
  • MCP URL: https://backend.hawko.ai/mcp/sse.

Generate an API token

  1. Open the desktop app → Settings → AI tools.
  2. Click Generate token and label it (e.g. “Cursor MacBook”).
  3. Copy the token immediately. It is shown once. Tokens expire after 90 days and can be revoked anytime.

Client configuration

Replace YOUR_TOKEN_HERE with your token. The server key meetings matches the snippet in Settings.

Cursor

Add under mcpServers in ~/.cursor/mcp.json.

Cursor — mcp.json

{
  "mcpServers": {
    "meetings": {
      "type": "sse",
      "url": "https://backend.hawko.ai/mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN_HERE"
      }
    }
  }
}

Claude Desktop

  1. Open Terminal.
  2. Run: open ~/Library/Application\ Support/Claude/
  3. Look for claude_desktop_config.json— if it doesn't exist, create it.
  4. Add this under mcpServers (uses mcp-remote to bridge SSE):

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "meetings": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://backend.hawko.ai/mcp/sse",
        "--header",
        "Authorization: Bearer YOUR_TOKEN_HERE"
      ]
    }
  }
}

How it works

  1. Client opens GET /mcp/sse with Authorization: Bearer <token>.
  2. Client sends JSON-RPC on POST /mcp/messages?sessionId=… with the same bearer.
  3. Tool calls run scoped to your user id; results stream over SSE.

Security model

  • Bcrypt-hashed storage with prefix lookup.
  • Rate limit: default 120 requests/minute per token.
  • Max 3 concurrent SSE connections per token.

Tool reference (19 tools)

Meetings (8)

ToolWhen to use
getMeetingsBaseline meetings list (newest first). Use when no person/date/text filter is known yet. Optional folderUid. Response: { items, total, skip, limit, hasMore }.
getRecentMeetingsFast recency view for "latest activity" questions. Prefer over getMeetings when only recent data is needed.
getMeetingsByDateRangeDate-scoped retrieval (ISO from/to). Prefer before text search when user gives a clear time window.
getMeetingDetailCanonical metadata for one meeting (participants, summary, meetingRef). Use to verify candidate meetings after list/search calls.
getMeetingTranscriptFull transcript segments for deep Q&A or evidence extraction. Heavier than getMeetingDetail; avoid for simple listing.
getMeetingNotesUser-authored notes for one meeting. Use when answer depends on notes rather than transcript or summary.
searchMeetingsBroad fallback text search on title/summary. Use when person/date/folder scope is unknown; refine results with getMeetingDetail.
getMeetingMarkdownSingle-call export (summary + transcript + notes) for rendering/sharing. Prefer targeted tools for analytics to reduce payload.

Folders (5)

ToolWhen to use
getFoldersFolder discovery entrypoint. Use first when user asks by project/topic ("Hawko", "sales", etc.) before listing meetings.
getFolderDetailResolve one folder by uid (metadata + linked sessions). Use after getFolders to confirm the exact folder target.
getMeetingsInFolderPrimary folder-scoped meeting list. Prefer over searchMeetings when folder context is known.
suggestMeetingsForFolderRecommendation helper for organizing meetings into an existing folder (not a strict retrieval/filter endpoint).
suggestNewFoldersSuggestion endpoint for creating new folder clusters from meeting patterns; use for curation, not direct querying.

Insights (1)

ToolWhen to use
getCrossMeetingInsightsPortfolio-level trends/KPIs across meetings. Use for analytics summaries, not person-level filtering.

Recipes (2)

ToolWhen to use
listMeetingRecipesList available automation recipes/templates. Use before selecting/executing a specific recipe.
getMeetingRecipeRecipe detail by uid. Use after listMeetingRecipes when user references a specific recipe.

People (3)

ToolWhen to use
getConnectedPeoplePerson-centric entrypoint. Use first for "meetings with <person>" to resolve known contacts before meeting retrieval.
getOrganizationPeopleDirectory-wide people lookup. Use when target person is not found in connected people or needs org disambiguation.
getPersonInteractionsSecond step after person resolution: fetch meetings/interactions for that person, then optionally narrow by folder/date/text.

List tools return paginated results with skip and limit. Defaults are typically limit 50, maximum 100, plus hasMore.

Example prompts

  • “What did we decide with Acme last week?” Use getMeetingsByDateRange, then searchMeetings.
  • “Summarise my project folder.” Use getFolders, then getMeetingsInFolder.
  • “Export one meeting as markdown.” Use getMeetingMarkdown.

Troubleshooting

SymptomWhat to try
401 UnauthorizedRegenerate token; check Bearer header format.
Connection limitClose extra IDE windows (max 3 SSE per token).
429 Too many requestsWait a minute; reduce parallel tool calls.
Expired tokenCreate a new token in Settings → AI tools.
Empty resultsConfirm meetings exist for the token's account.

Related