Skip to main content
Glama
springwq

Kayzen Analytics MCP Server

by springwq

Kayzen Analytics MCP Server

A Model Context Protocol (MCP) server implementation for interacting with Kayzen Analytics API. This package enables AI models to access and analyze Kayzen advertising campaign data through a standardized interface.

Features

  • Automated Authentication: Built-in token management with automatic refresh mechanism

  • Report Management: Easy access to Kayzen analytics reports

  • Error Handling: Comprehensive error handling for API interactions

  • TypeScript Support: Full TypeScript implementation with type definitions

  • Environment Based Configuration: Simple setup using environment variables

Related MCP server: Marketing Automation MCP Server

Installation

npm install @feedmob-ai/kayzen-mcp

Configuration

Create a .env file with your Kayzen credentials:

KAYZEN_USERNAME=your_username
KAYZEN_PASSWORD=your_password
KAYZEN_BASIC_AUTH=your_basic_auth_token
KAYZEN_BASE_URL=https://api.kayzen.io/v1  # Optional, defaults to this value

Usage

Basic Setup

import { KayzenMCPServer } from '@feedmob-ai/kayzen-mcp';

const server = new KayzenMCPServer();
server.start();

Available Tools

1. list_reports

Lists all available reports from Kayzen Analytics.

  • Inputs: None

  • Returns: Array of report objects containing:

    • id: Report identifier

    • name: Report name

    • type: Report type

const reports = await server.tools.list_reports();

2. get_report_results

Retrieves results for a specific report.

  • Inputs:

    • report_id (string, required): ID of the report to fetch

    • start_date (string, optional): Start date in YYYY-MM-DD format

    • end_date (string, optional): End date in YYYY-MM-DD format

  • Returns: Report data and metadata

const results = await server.tools.get_report_results({
  report_id: 'report_id',
  start_date: '2024-01-01',  // optional
  end_date: '2024-01-31'     // optional
});

3. analyze_report_results (Prompt)

Analyzes report results and provides insights.

  • Inputs:

    • report_id (string): ID of the report to analyze

  • Analysis includes:

    • Performance metrics

    • Key trends

    • Areas for optimization

    • Unusual patterns or anomalies

Setup

Usage with Claude Desktop

To use this with Claude Desktop, add the following to your claude_desktop_config.json:

NPX

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@feedmob-ai/kayzen-mcp"
      ],
      "env": {
        "KAYZEN_USERNAME": "username",
        "KAYZEN_PASSWORD": "pasword",
        "KAYZEN_BASIC_AUTH": "auth token"
      }
    }
  }
}

Development

Prerequisites

  • Node.js (v16 or higher)

  • npm (v7 or higher)

  • Kayzen API credentials

Scripts

# Install dependencies
npm install

# Build the project
npm run build

# Start the server
npm start

# Development mode with hot-reload
npm run dev

Project Structure

kayzen-mcp/
├── src/
│   ├── server.ts        # MCP server implementation
│   └── kayzen-client.ts # Kayzen API client
├── dist/               # Compiled JavaScript
└── package.json       # Project configuration

Dependencies

Main dependencies:

  • @modelcontextprotocol/sdk: ^1.7.0

  • axios: ^1.8.3

  • dotenv: ^16.4.7

  • zod: ^3.24.2

Error Handling

The server handles various error scenarios:

  • Authentication failures

  • Invalid API requests

  • Network issues

  • Token expiration and refresh

  • Invalid parameters

License

MIT License

Author

FeedMob

Available Tools

2 tools
get_report_resultsD
ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd date in YYYY-MM-DD format
report_idYesID of the report to fetch results for
start_dateNoStart date in YYYY-MM-DD format

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_reportsD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedget_report_results
    • First observedlist_reports

TDQS

D1.8/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: 'get_report_results' appears to retrieve specific report data, while 'list_reports' enumerates available reports. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on whether it needs to list reports or fetch results from a particular report.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern ('get_report_results' and 'list_reports'), using snake_case throughout. The verbs 'get' and 'list' are standard and predictable, making the tool names easy to understand and use without confusion.

Tool Count2/5

With only two tools, the server feels under-scoped for an analytics domain, which typically involves operations like creating, updating, filtering, or deleting reports. This minimal set may force agents to work around gaps, such as being unable to generate new reports or modify existing ones, limiting functionality.

Completeness2/5

The tool surface is severely incomplete for analytics: it allows listing and retrieving reports but lacks essential operations like creating, updating, deleting, or filtering reports. This creates significant gaps that will likely cause agent failures when trying to perform common analytics tasks beyond basic read-only access.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    A Model Context Protocol server that allows AI models to access, analyze, and manage Meta advertising campaigns, enabling LLMs to retrieve performance data, visualize ad creatives, and provide strategic insights for Facebook and Instagram platforms.
    37
    1,234
    Business Source 1.1
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI-powered advertising applications by providing MCP-compliant tools to interact with Amazon Ads API for campaign management, reporting, and optimization.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to manage, report, and analyze Google Ads campaigns securely with encrypted multi-client support, real-time API integrations, and audit trail logging.
    83
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/springwq/kayzen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server