npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-server-kickscale

v1.0.0

Published

Unofficial MCP Server for Kickscale API - Access meetings, calls, and transcripts. Not affiliated with or endorsed by Kickscale.

Downloads

16

Readme

Kickscale MCP Server

⚠️ DISCLAIMER: This is an unofficial, community-built MCP server for the Kickscale API. It is not affiliated with, endorsed by, or supported by Kickscale. Use at your own risk.

MCP (Model Context Protocol) Server for the Kickscale API. Enables access to meetings, calls, and transcripts through LLM applications like Claude Desktop.

Requirements: You must have valid Kickscale API credentials (Client ID and API Key) to use this server.

Features

  • Fetch meetings: List meetings with filters by date range and company
  • Meeting details: Complete meeting information including transcript, summary, action items, metrics
  • Manage calls: Retrieve, list, and initialize calls
  • Flexible filters: Filter by customerDomain, date range (startDate/endDate)
  • Expand support: Load transcripts and additional details on-demand

Installation

Prerequisites

  • Node.js >= 18.0.0
  • Kickscale API credentials (Client ID and API Key)

Via npx (recommended)

The server can be run directly via npx. Configuration in Claude Desktop or other MCP clients:

{
  "mcpServers": {
    "kickscale": {
      "command": "npx",
      "args": ["-y", "mcp-server-kickscale"],
      "env": {
        "KICKSCALE_CLIENT_ID": "your-client-id",
        "KICKSCALE_API_KEY": "your-api-key"
      }
    }
  }
}

Local Installation

# Clone repository or download package
cd kickscale-mcp

# Install dependencies
npm install

# Build project
npm run build

Configuration

The server requires two environment variables:

  • KICKSCALE_CLIENT_ID: Your Kickscale Client ID
  • KICKSCALE_API_KEY: Your Kickscale API Key

Claude Desktop Configuration

Add the following configuration to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "kickscale": {
      "command": "node",
      "args": ["/path/to/kickscale-mcp/dist/index.js"],
      "env": {
        "KICKSCALE_CLIENT_ID": "your-client-id",
        "KICKSCALE_API_KEY": "your-api-key"
      }
    }
  }
}

Available Tools

1. list_meetings

Retrieve a list of meetings with optional filters.

Parameters:

  • page (required): Page number (starts at 0)
  • pageSize (required): Number of meetings per page
  • sortingOrder (required): "ascending" or "descending"
  • customerDomain (optional): Comma-separated list of domains, e.g. "example.com,example.org"
  • startDate (optional): Start date in ISO format, e.g. "2023-01-01T00:00:00Z"
  • endDate (optional): End date in ISO format, e.g. "2023-01-31T23:59:59Z"
  • expand (optional): Fields to expand, e.g. "meeting_transcript,transcript"

Example:

{
  "page": 0,
  "pageSize": 10,
  "sortingOrder": "descending",
  "customerDomain": "acme.com",
  "startDate": "2024-01-01T00:00:00Z",
  "endDate": "2024-01-31T23:59:59Z",
  "expand": "meeting_transcript,transcript"
}

2. get_meeting

Retrieve a single meeting with all details.

Parameters:

  • meetingId (required): The ID of the meeting

Returns:

  • Complete meeting object with transcript, summary, action items, metrics, participants, insights, etc.

3. list_calls

Retrieve a list of calls with optional filters.

Parameters: (identical to list_meetings)

  • page, pageSize, sortingOrder (required)
  • customerDomain, startDate, endDate, expand (optional)

4. get_call

Retrieve a single call with all details.

Parameters:

  • callId (required): The ID of the call

5. initialize_call

Create/initialize a new call.

Parameters:

  • recordingUrl (required): URL of the call recording
  • date (required): Date/time in ISO format
  • name (required): Name/title of the call
  • caller (required): Object with email, name, phoneNumber
  • callee (required): Object with email, name, phoneNumber
  • direction (required): "inbound" or "outbound"
  • crmReference (optional): CRM references (leadId, dealId, contactId, companyId)
  • callTypeConfigurationId (optional): ID of the call type configuration

Example:

{
  "recordingUrl": "https://example.com/recording.mp3",
  "date": "2024-01-15T14:30:00Z",
  "name": "Sales Call with Acme Corp",
  "caller": {
    "email": "[email protected]",
    "name": "John Doe",
    "phoneNumber": "+49123456789"
  },
  "callee": {
    "email": "[email protected]",
    "name": "Jane Smith",
    "phoneNumber": "+49987654321"
  },
  "direction": "outbound"
}

Usage Examples

Retrieve meeting transcripts for a date range

Show me all meetings from January 2024 with transcripts from customers with domain "acme.com"

Claude will then call list_meetings with the appropriate parameters.

Analyze a single meeting

Load the meeting with ID "abc123" and summarize the most important action items

Claude calls get_meeting and analyzes the returned data.

Development

# Development mode with auto-rebuild
npm run watch

# Build
npm run build

# Test locally
KICKSCALE_CLIENT_ID=xxx KICKSCALE_API_KEY=yyy node dist/index.js

Troubleshooting

Server won't start

  • Check if KICKSCALE_CLIENT_ID and KICKSCALE_API_KEY are set correctly
  • Check the Claude Desktop logs for errors

API errors

  • Ensure your API credentials are valid
  • Verify that the API URL is reachable: https://kickscale-platform-api-182312324860.europe-west1.run.app

No transcripts in list_meetings

  • Use the expand parameter: "expand": "meeting_transcript,transcript"
  • Transcripts may still be processing

Legal & Disclaimer

This project is provided "as-is" without any warranty. It is an independent, community-driven project and is not affiliated with, endorsed by, or supported by Kickscale.

  • Kickscale and related trademarks are property of their respective owners
  • This server requires valid Kickscale API credentials
  • Usage is subject to Kickscale's API Terms of Service
  • The authors are not responsible for any misuse or API violations

Support

For questions about this MCP server, please open an issue on GitHub.

For questions about the Kickscale API or your credentials, please contact Kickscale Support directly.

License

MIT License - See LICENSE file for details.

This license applies only to the MCP server code, not to the Kickscale API or service.