Skip to main content

MCP Server

The Karnyx MCP (Model Context Protocol) server lets you connect your meeting data to AI tools like Claude Desktop and Cursor. Search meetings, retrieve transcripts, run Lenses, and ask questions about your meeting history directly from your favorite AI assistant.

What is MCP

The Model Context Protocol (MCP) is an open standard that allows AI applications to connect to external data sources and tools. It provides a standardized way for AI assistants to access your data securely, without you having to copy and paste information back and forth.

The Karnyx MCP server exposes your meeting data as a set of tools that any MCP-compatible AI client can call. This means you can ask Claude Desktop a question like "What did we decide about pricing in last week's product sync?" and Claude will use the Karnyx MCP server to search your meetings, retrieve the relevant transcript, and provide the answer.

Privacy and security

The MCP server runs locally on your machine and communicates with the Karnyx API using your personal API key. Your meeting data is only accessed when you (or the AI tool you are using) explicitly makes a request. No data is shared with third parties beyond what you send to the AI assistant.

Setting Up the MCP Server

The Karnyx MCP server is distributed as an npm package. You need Node.js 18 or later installed on your machine.

Step 1: Generate an API Key

  1. Open the Karnyx desktop app.
  2. Go to Settings > API > API Keys.
  3. Click "Create API Key".
  4. Name the key (e.g., "MCP Server") and copy the generated key. Store it securely as it will not be shown again.

Step 2: Install the Package

npm install -g @karnyx/mcp-server

Step 3: Configure the Server

Set your API key as an environment variable, or pass it directly when starting the server:

# Option 1: Environment variable
export KARNYX_API_KEY="your_api_key_here"
karnyx-mcp-server

# Option 2: Inline
KARNYX_API_KEY="your_api_key_here" karnyx-mcp-server

# The server starts on stdio transport by default
# (required for Claude Desktop and Cursor integration)

Connecting from Claude Desktop

To add the Karnyx MCP server to Claude Desktop, edit your Claude Desktop configuration file.

macOS Configuration

Open (or create) the file at ~/Library/Application Support/Claude/claude_desktop_config.json and add the Karnyx server:

{
  "mcpServers": {
    "karnyx": {
      "command": "npx",
      "args": ["-y", "@karnyx/mcp-server"],
      "env": {
        "KARNYX_API_KEY": "your_api_key_here"
      }
    }
  }
}

Restart Claude Desktop after saving the configuration. You should see a small hammer icon in the input bar indicating that MCP tools are available.

Verify the connection

After restarting Claude Desktop, click the hammer icon to see the list of available Karnyx tools. If the Karnyx tools appear, the connection is working. If not, check that your API key is correct and that Node.js is installed.

Connecting from Cursor

Cursor supports MCP servers through its configuration file. Add the Karnyx server to your Cursor MCP config.

Configuration

Open (or create) the file at ~/.cursor/mcp.json and add:

{
  "mcpServers": {
    "karnyx": {
      "command": "npx",
      "args": ["-y", "@karnyx/mcp-server"],
      "env": {
        "KARNYX_API_KEY": "your_api_key_here"
      }
    }
  }
}

After saving, restart Cursor. The Karnyx tools will be available in Cursor's AI chat and Composer panels.

Available Tools

The Karnyx MCP server exposes five tools that AI clients can use to interact with your meeting data.

search_meetings

Search your meeting history by keywords, date range, participants, or company. Returns a list of matching meetings with titles, dates, and relevance scores.

// Parameters
{
  "query": "string",         // Search query (natural language)
  "from_date": "string?",    // ISO 8601 start date filter
  "to_date": "string?",      // ISO 8601 end date filter
  "participants": "string[]?", // Filter by participant emails
  "company": "string?",      // Filter by company name
  "limit": "number?"         // Max results (default: 10)
}

get_meeting

Get full details for a specific meeting including the summary, action items, participants, and metadata.

// Parameters
{
  "meeting_id": "string"     // The meeting ID (e.g., "mtg_a1b2c3d4")
}

get_transcript

Retrieve the full transcript for a meeting, with speaker labels and timestamps. Optionally filter to a specific time range or speaker.

// Parameters
{
  "meeting_id": "string",    // The meeting ID
  "from_time": "number?",    // Start time in seconds (optional)
  "to_time": "number?",      // End time in seconds (optional)
  "speaker": "string?"       // Filter by speaker name (optional)
}

run_lens

Run a Lens against one or more meetings. Returns the structured AI analysis.

// Parameters
{
  "lens_name": "string",     // Lens name (e.g., "Competitor Mentions")
  "meeting_ids": "string[]"  // One or more meeting IDs to analyze
}

ask_chief

Ask a natural-language question about your meeting history. Uses the same RAG pipeline as Ask the Chief in the desktop app. Returns an answer with citations.

// Parameters
{
  "question": "string",      // Your question in natural language
  "scope": "string?",        // Optional: "all", "person:email", "company:name"
  "from_date": "string?",    // Optional date filter
  "to_date": "string?"       // Optional date filter
}

Example Queries

Here are examples of how you can use Karnyx tools in Claude Desktop or Cursor. The AI assistant will automatically choose the right tool(s) based on your question.

Find recent discussions about a topic

"What have we discussed about the mobile app redesign in the last two weeks?"

Uses: search_meetings → get_meeting (for top results)

Extract competitor intelligence

"Run the Competitor Mentions lens on all sales calls from January"

Uses: search_meetings (to find sales calls in January) → run_lens

Prepare for a client call

"Give me a brief on Acme Corp based on our recent meetings with them"

Uses: ask_chief (with scope: "company:Acme Corp")

Review what someone said

"Show me what Mike said in yesterday's product sync about the API timeline"

Uses: search_meetings → get_transcript (filtered by speaker)

Get a cross-meeting summary

"What decisions have been made across all engineering meetings this month?"

Uses: ask_chief (broad query across all meetings)

Natural language works best

You do not need to reference specific tool names or parameters. Just ask your question naturally and the AI assistant will figure out which Karnyx tools to call and in what order.