lsq-mcp
v0.1.0
Published
MCP server for LeadSquared CRM — read-only tool access via Claude and other MCP clients
Readme
lsq-mcp
A read-only MCP (Model Context Protocol) server for LeadSquared CRM. Exposes LSQ data — leads, opportunities, activities, tasks, users, lists, and analytics — to AI assistants like Claude Desktop and Claude Code.
What it does
Connect your LSQ account once with lsq-mcp configure, then ask your AI assistant natural-language questions about your CRM data:
- "Show me all leads in the 'Contacted' stage assigned to Priya"
- "What opportunities does lead [email protected] have open?"
- "Which users have no active tasks this week?"
- "Give me the lead distribution by owner for this month"
Quick start
1. Install
Via npm (recommended):
npm install -g lsq-mcpVia cargo:
cargo install lsq-mcp2. Configure
lsq-mcp configureYou'll be prompted for your email, Access Key, Secret Key, and the URL you open LeadSquared at in your browser. Find your API keys at: LSQ Portal → My Account → Settings → API and Webhooks
The setup validates your credentials live, shows your name/role, and asks for confirmation before saving. The API host is derived automatically from your browser URL — no need to look it up.
3. Add to your MCP client
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"lsq": {
"command": "lsq-mcp"
}
}
}Claude Code:
claude mcp add lsq -- lsq-mcpCommands
| Command | Description |
|---|---|
| lsq-mcp | Start MCP server (used by MCP clients) |
| lsq-mcp configure | Set up or update LSQ API credentials |
| lsq-mcp status | Show current configuration |
Available tools (48 total)
| Module | Tools |
|---|---|
| Leads | get_lead_metadata, search_leads, quick_search_leads, get_lead_by_id, get_lead_by_email, get_lead_by_phone, get_leads_by_ids, get_lead_owner, get_lead_notes, get_lead_activities, get_recently_modified_leads |
| Opportunities | get_opportunity_types, get_opportunity_metadata, get_opportunity_by_id, get_opportunities_by_lead, get_opportunities_by_lead_field, search_opportunities, is_opportunity_enabled, get_activities_of_opportunity |
| Activities | get_activity_types, get_activity_details, get_activity_owner, get_activity_settings, get_activities_by_lead, get_recently_modified_activities |
| Sales Activities | get_products, get_sales_activity_types, get_sales_activities_by_lead |
| Tasks | get_task_types, get_tasks_by_lead, get_tasks_by_owner, get_appointments, get_todos |
| Users | get_users, get_user_by_id, search_users, get_user_hierarchy, get_user_checkin_history, get_user_availability |
| Lists | get_lists, get_leads_in_list, get_lead_list_memberships, get_list_lead_count |
| Analytics (requires Elasticsearch) | get_lead_distribution, get_leads_not_contacted, get_leads_no_active_tasks, get_leads_pending_tasks |
Call get_instructions first — it describes all tools, recommended call sequences, and date format requirements.
Requirements
- LeadSquared account with API access
- Admin credentials recommended for full team-wide data access
Docs
License
MIT
