Skip to main content
Glama
AsemanServer

@kama/mcp-server

by AsemanServer

@kamacrm/mcp-server

MCP server for Kama CRM — Talk to your AI agent instead of clicking.

Connect Claude Code, OpenCode, Cline, or any MCP-compatible client directly to your Kama instance. The server auto-discovers all your API endpoints via the OpenAPI spec and exposes them as MCP tools.

English Persian


Quick Start

# One command — no install needed
KAMA_URL=https://your-kama.com KAMA_API_TOKEN=xxx npx @kamacrm/mcp-server

Related MCP server: OpenAPI MCP Server

Installation

npm install -g @kamacrm/mcp-server

kama-mcp
# Then configure KAMA_URL and KAMA_API_TOKEN in your environment

Via npx (zero install)

Add to your MCP client config — it auto-installs on first run.

Configuration

Variable

Required

Default

Description

KAMA_URL

Your Kama instance URL (e.g. https://demo.kamacrm.ir)

KAMA_API_TOKEN

Bearer token for API authentication

KAMA_DEBUG

false

Enable debug logging to stderr (true/1)

KAMA_TIMEOUT

30

Request timeout in seconds

KAMA_METHOD_OVERRIDE

true

Convert PUT/PATCH/DELETE to POST + _method override (required on hosts with ModSecurity that blocks raw methods with 406). Set to false to send PUT/PATCH/DELETE as-is

KAMA_SERVER_NAME

kama-mcp

Server name reported to MCP client

Getting an API Token

  1. Log into your Kama instance as admin

  2. Go to Settings → API Keys (or equivalent)

  3. Create a new API key

  4. Copy the token — it's your KAMA_API_TOKEN

💡 The token must belong to a user with sufficient permissions. The MCP server respects all Kama access controls — users can only do what they have permission to do.

Usage with AI Clients

Claude Code (.claude.json)

{
  "mcpServers": {
    "kama": {
      "command": "npx",
      "args": ["@kamacrm/mcp-server"],
      "env": {
        "KAMA_URL": "https://your-kama.com",
        "KAMA_API_TOKEN": "your-token-here"
      }
    }
  }
}

OpenCode (opencode.json)

{
  "mcpServers": {
    "kama": {
      "command": "npx",
      "args": ["@kamacrm/mcp-server"],
      "env": {
        "KAMA_URL": "https://your-kama.com",
        "KAMA_API_TOKEN": "your-token-here"
      }
    }
  }
}

Cline (cline_mcp_settings.json)

{
  "mcpServers": {
    "kama": {
      "command": "npx",
      "args": ["@kamacrm/mcp-server"],
      "env": {
        "KAMA_URL": "https://your-kama.com",
        "KAMA_API_TOKEN": "your-token-here"
      }
    }
  }
}

VS Code (via Continue or Cline extension)

Same config format in the extension's MCP settings file.

How It Works

Your AI Agent (Claude/OpenCode/Cline)
        │
        │  stdio (JSON-RPC 2.0)
        ▼
   @kamacrm/mcp-server
        │
        │  1. Fetches OpenAPI spec from GET /api/docs
        │  2. Auto-generates MCP tools for every endpoint
        │  3. Proxies tool calls as HTTP requests
        │
        ▼
   Kama REST API
        │
        ▼
   Kama Services / Database
  1. On startup, the server fetches GET /api/docs from your Kama instance

  2. It parses the OpenAPI 3.0.1 spec and creates one MCP tool per API endpoint

  3. Your AI agent discovers all 200+ tools via tools/list

  4. When the agent calls a tool, the server proxies the request to your Kama API

  5. All requests use your API token — permissions are enforced by Kama

Tool Naming Convention

Tools are automatically named based on the method, tag, and path:

kama_{method}_{category}_{action}

Examples:
  kama_get_clients_list         → GET  /clients
  kama_post_clients_create      → POST /clients
  kama_get_clients_show         → GET  /clients/{id}
  kama_put_clients_update       → PUT  /clients/{id}
  kama_delete_clients_delete    → DEL  /clients/{id}
  kama_get_invoices_list        → GET  /invoices
  kama_post_tickets_store       → POST /tickets
  kama_get_settings_index       → GET  /settings

Features

  • Agent context — built-in instructions (protocol 2025-06-18) teach the agent what Kama is, what you can do, and to confirm before any create/update/delete

  • 111 curated tools — hand-crafted schemas with exact field types, required fields, enums and Persian descriptions for the most-used endpoints

  • Zero configuration — auto-discovers your entire API from the OpenAPI spec (500+ tools)

  • Always up-to-date — tools reflect your actual Kama API, no manual sync

  • Permission-aware — respects Kama's access control, users can only do what they're allowed

  • Confirmation hints — destructive tools are flagged (destructiveHint), clients show confirmation dialogs

  • Promptskama-intro, kama-common-tasks, kama-report for quick starts

  • Resourcekama://about with system info and module catalog

  • Language-agnostic — works with any MCP client (Claude Code, OpenCode, Cline, Continue, etc.)

  • Cross-platform — runs anywhere Node.js 18+ runs (Linux, macOS, Windows)

  • Lightweight — zero npm dependencies, pure Node.js

Resources

Support

  • Phone: 05144228000

  • Email: via Kama website

FAQ

Q: Does this require a plugin installed on Kama? No. The MCP server is completely standalone. It only needs HTTP access to the Kama REST API.

Q: Are all endpoints exposed? Every route in /api/docs becomes an MCP tool. This includes public endpoints (login, docs) and authenticated endpoints.

Q: Is it safe? Yes. The MCP server uses your API token and respects all Kama permissions. Users can only perform actions they already have permission for. Write operations are clearly distinguished from read-only operations.

Q: Does it work with Cloud Kama instances? Yes. Set KAMA_URL to your cloud instance URL. The server connects over standard HTTPS.

Q: My API token expires, what then? Restart the MCP server with a fresh token. Most Kama API tokens are long-lived.

Q: Too many tools? The auto-discovery includes everything. You can configure your MCP client to only expose specific tools if needed.

Q: Why do updates/deletes fail with 406? Production hosts run ModSecurity (on LiteSpeed), which rejects raw PUT/PATCH/DELETE requests with 406 Not Acceptable before they reach Kama. The MCP server automatically converts these to POST with a _method override (plus X-HTTP-Method-Override), so updates and deletes work transparently. If your host supports raw methods, disable this with KAMA_METHOD_OVERRIDE=false.

Q: How do I attach images to products? It depends on the product type. Store products (the Website plugin's shop) are created/updated with kama_post_website_v1_products / kama_put_website_v1_products: pass an images array of media JSON strings (format {"type":"file_manager","file":{"file_name":"..."},"alt":""}) — the first image is the featured one. You can upload a file first with kama_post_uploader_files (base64 content + file name) and use the returned file_name inside the media JSON. The core kama_*_items_* tools are inventory items only — they do not manage store product product_type or images.

Development

git clone https://github.com/AsemanServer/kama-mcp-server.git
cd mcp-server

# Run directly
KAMA_URL=https://your-kama.com KAMA_API_TOKEN=xxx node bin/kama-mcp.js

# Test with a sample input
echo '{"jsonrpc":"2.0","id":1,"method":"list_tools"}' | KAMA_URL=... KAMA_API_TOKEN=... node bin/kama-mcp.js

License

MIT — see LICENSE.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A generic MCP server that dynamically converts OpenAPI-defined REST APIs into tools for LLMs like Claude. It supports multiple authentication methods and transport protocols, enabling seamless interaction with any OpenAPI-compliant API.
    18
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A generic MCP server that dynamically exposes any OpenAPI-documented REST API to LLMs by auto-discovering endpoints. It provides tools for exploring API capabilities and making authenticated requests directly through natural language interfaces.
    2
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A generic MCP server that converts any OpenAPI/Swagger specification into MCP tools, enabling AI assistants to search, explore, and execute REST APIs.
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for AI access to Swagger by SmartBear.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

View all MCP Connectors

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/AsemanServer/kama-mcp-server'

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