Kylas CRM MCP Server

Model Context Protocol server for Kylas CRM lead operations.

README.md

Kylas CRM MCP Server (Lead Only)

Model Context Protocol server for Kylas CRM lead operations. Use it from Cursor, Claude Desktop, or any MCP client to create leads, search and filter leads, and look up users, products, and pipelines.

Features

  • get_lead_field_instructions – Get lead schema (standard + custom fields, picklist IDs)
  • create_lead – Create a lead with dynamic fields from user context
  • search_leads – Search/filter leads by multiple criteria
  • lookup_users – Resolve user names to IDs (for owner, created by, etc.)
  • lookup_products – Resolve product names to IDs
  • lookup_pipelines / get_pipeline_stages – Resolve pipeline and stage for open/closed/won leads
  • search_idle_leads – Find leads with no activity for N days

Requirements

  • Python 3.10+
  • Kylas account and API key

Installation

pip install -e .
# or from PyPI (after publish): pip install kylas-crm-mcp

Configuration

Set environment variables (or use a .env file):

Variable Required Description
KYLAS_API_KEY Yes Your Kylas API key
KYLAS_BASE_URL No API base URL (default: https://api.kylas.io/v1)

Running the server

The server uses stdio transport (default for MCP). Run:

python -m kylas_crm_mcp
# or: python main.py  (when developing from repo root)

MCP clients (e.g. Cursor) typically start this process and communicate via stdin/stdout.

Docker

docker build -t kylas-crm-mcp .
docker run -e KYLAS_API_KEY=your_key -i kylas-crm-mcp

Development

pip install -e ".[dev]"
pytest

License

See repository for license information.

Tools 8

get_lead_field_instructionsGet lead schema including standard and custom fields and picklist IDs.
create_leadCreate a lead with dynamic fields from user context.
search_leadsSearch and filter leads by multiple criteria.
lookup_usersResolve user names to IDs.
lookup_productsResolve product names to IDs.
lookup_pipelinesResolve pipeline names to IDs.
get_pipeline_stagesGet stages for a specific pipeline.
search_idle_leadsFind leads with no activity for a specified number of days.

Environment Variables

KYLAS_API_KEYrequiredYour Kylas API key
KYLAS_BASE_URLAPI base URL

Try it

Find all leads that have been idle for more than 30 days.
Create a new lead for John Doe at Acme Corp with the source set to Website.
Search for leads assigned to the sales representative named Sarah.
List all stages available in the main sales pipeline.

Frequently Asked Questions

What are the key features of Kylas CRM?

Retrieve lead schema including custom fields and picklist IDs. Create new leads using dynamic field mapping. Advanced lead searching and filtering capabilities. Resolve entity IDs for users, products, and pipelines. Identify idle leads based on inactivity duration.

What can I use Kylas CRM for?

Automating lead entry from unstructured conversation data. Quickly identifying stale leads that require follow-up. Looking up internal CRM IDs to prepare for bulk data updates. Filtering lead lists based on specific pipeline stages.

How do I install Kylas CRM?

Install Kylas CRM by running: pip install -e .

What MCP clients work with Kylas CRM?

Kylas CRM works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Kylas CRM docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare