================================================================================

KONSTANTLY MCP SERVER

================================================================================

Connect Claude, Cursor, and other AI agents to your Konstantly workspace via the Model Context Protocol.

18 tools. Same permissions as the UI. Audited end-to-end.

SETUP

------------------------------------------------------------------------------

> Step 1. Generate an MCP key from Settings → MCP Keys

> Step 2. Paste a config block into your AI tool (see below)

> Step 3. Restart, ask, done

## Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "konstantly": {
      "command": "npx",
      "args": ["-y", "@konstantly/mcp-server"],
      "env": {
        "KONSTANTLY_MCP_KEY": "kmcp_...",
        "KONSTANTLY_URL": "https://your-instance.konstantly.com"
      }
    }
  }
}

## Claude Code

claude mcp add konstantly \
  --env KONSTANTLY_MCP_KEY=kmcp_... \
  --env KONSTANTLY_URL=https://your-instance.konstantly.com \
  -- npx -y @konstantly/mcp-server

## Cursor

// ~/.cursor/mcp.json
{
  "mcpServers": {
    "konstantly": {
      "command": "npx",
      "args": ["-y", "@konstantly/mcp-server"],
      "env": {
        "KONSTANTLY_MCP_KEY": "kmcp_...",
        "KONSTANTLY_URL": "https://your-instance.konstantly.com"
      }
    }
  }
}

## ChatGPT

MCP support in ChatGPT is rolling out. When generally available, the same @konstantly/mcp-server package will work without any changes.

TOOLS

------------------------------------------------------------------------------

## Read (Pro and Enterprise)

  find_user                  Search users by name or email
  get_user                   Full details for one user
  find_course                Search courses by name
  get_course                 Full details for one course
  list_assignments           Assignments per user OR per group
  list_my_assignments        Your own assigned courses
  get_compliance_status      The OSHA-audit / who's-compliant tool
  list_certificates          Including expiry dates
  get_statistics             Overview, publishing, activity, tags
  get_leaderboard            Top learners by points/completion
  get_audit_log              Who did what, when

## Write (Enterprise only)

  assign_training            Single course to single learner
  bulk_assign                Multiple courses to a whole group
  assign_chain               Full learning path to users/groups
  ban_user                   Offboarding
  unban_user                 Reinstate access
  change_user_email          Update email + notify
  clone_course               Fork a course for new audience

## Coming soon

  create_course              Generate from prompt + files     [v1.5]
  extend_deadline            Push deadlines back              [v1.1]
  send_reminder              Nudge overdue learners           [v1.1]

SCENARIOS

------------------------------------------------------------------------------

> Compliance audit prep

“OSHA inspection Tuesday. Show me everyone in the warehouse group who's overdue on confined-spaces training, with their managers' emails, sorted by how overdue they are.”

calls: find_course → get_compliance_status

> Onboarding automation

“Sarah starts Monday. Assign the new-hire bundle, role-specific safety training for warehouse staff, and IT security refresher — all due in two weeks.”

calls: 3x find_course → 3x assign_training

> Certification expiry

“Show me everyone whose forklift certification expires in the next 60 days. Schedule the recertification course two weeks before each expiry.”

calls: list_certificates → per-learner assign_training

> Weekly leadership digest

“What training was completed last week? Who's behind? Format as a 4-bullet executive summary.”

calls: get_statistics, get_compliance_status

SECURITY

------------------------------------------------------------------------------

  -  Each key inherits the issuing user's permissions. A learner's key
     cannot read admin data. Same model as the browser UI.

  -  256 bits of entropy per key. Brute-force is mathematically infeasible
     (10^77 attempts). Failed-auth attempts are rate-limited per source IP.

  -  Every write tool call writes a MCP_TOOL_CALL audit event so
     compliance can filter agent actions from human actions.

  -  Rate-limited per key: Pro 60/min + 1k/day; Enterprise 600/min + 100k/day.

  -  Revoke any key in seconds from Settings -> MCP Keys.

Full security model: docs.konstantly.com/api-reference/mcp/security

PRICING

------------------------------------------------------------------------------

  Free / Starter             Not available
  Pro                        Read tools only
  Enterprise                 Read + write tools

> Pricing details  |  Talk to sales

RESOURCES

------------------------------------------------------------------------------

  Setup guide                konstantly.com/guides/integrations/mcp-server
  Technical docs             docs.konstantly.com/api-reference/mcp
  npm package                npmjs.com/package/@konstantly/mcp-server
  Launch blog post           How to ask Claude about your training data
  AI policy                  konstantly.com/legal/ai-policy
  Model Context Protocol     modelcontextprotocol.io

================================================================================

v0.1.0 · published to npm @konstantly/mcp-server · MIT-licensed protocol, proprietary integration

================================================================================