Metadata-Version: 2.4
Name: kylas-crm-mcp
Version: 1.0.0
Summary: MCP server for Kylas CRM lead operations: create leads, search leads, lookup users/products/pipelines.
Author-email: akshaykylas94 <akshay.gunshetti@kylas.io>
License: MIT
Keywords: mcp,kylas,crm,model-context-protocol,leads
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: fastmcp>=2.0.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"

# 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.

<!-- mcp-name: io.github.akshaykylas94/kylas-crm -->

## 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](https://kylas.io) account and API key

## Installation

```bash
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:

```bash
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

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

## Development

```bash
pip install -e ".[dev]"
pytest
```

## License

See repository for license information.
