# justcall-mcp-server

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/saaslabsco/justcall-mcp-server  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/justcall-mcp-server

## Description
JustCall MCP Server

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "justcall-mcp-server": {
    "command": "npx",
    "args": ["-y","justcall-mcp-server"]
  }
}
```

## Documentation & README

# JustCall MCP Server

The JustCall [Model Context Protocol (MCP)](https://modelcontextprotocol.com/) Server lets Large Language Models (LLMs) and AI agents make real-world voice calls and send SMS directly through JustCall’s APIs — securely, contextually, and programmatically.

It provides a function-calling interface for conversational AI systems, enabling:

- 📞 AI-powered calling: Let your LLM initiate, manage, or transcribe calls using JustCall.
- 💬 Smart messaging: Allow your AI agent to send or respond to SMS within conversations.
- ⚙️ Seamless integration: Use the MCP standard to connect JustCall’s telephony capabilities with any LLM runtime or orchestration framework.

In short: It gives your LLMs a voice and a phone number — turning chatbots into truly conversational agents.

## Claude Desktop Setup

1. Open `Claude Desktop` and press `CMD + ,` to go to `Settings`.
2. Click on the `Connectors` tab.
3. Click on the `Add Custom Connector` button.
4. Add name as `JustCall` and Remote Server Url as `https://mcp.justcall.host/mcp`.
5. Now on `JustCall` from the Connectors list click on `Connect` button for JustCall.
6. It will open a JustCall page requesting API key and secret.
7. Get your JustCall API Key & Secret from the JustCall dashboard (<https://app.justcall.io/app/developersApiCredentials>).
8. Enter the API key and Secret and press Continue, it should redirect back you to Claude.

## Claude Web - https://claude.ai

1. Open connectors url in your Browser - <https://claude.ai/settings/connectors>.
2. Click on the `Connectors` tab.
3. Click on the `Add Custom Connector` button.
4. Add name as `JustCall` and Remote Server Url as `https://mcp.justcall.host/mcp`.
5. Now on `JustCall` from the Connectors list click on `Connect` button for JustCall.
6. It will open a JustCall page requesting API key and secret.
7. Get your JustCall API Key & Secret from the JustCall dashboard (<https://app.justcall.io/app/developersApiCredentials>).
8. Enter the API key and Secret and press Continue, it should redirect back you to Claude.

## Chat GPT (Only available on Plus, Pro, Business and Enterprise)

1. Open connectors url in your Browser - <https://chatgpt.com/#settings/Connectors>.
2. Click on the `Apps & Connectors` tab.
3. Ensure developer mode is enabled in advanced settings
3. Click on the `Create` button.
4. Add name as `JustCall` and MCP Server Url as `https://mcp.justcall.host/mcp`. You can skip other fields.
5. Now on `JustCall` from the Connectors list click on `Connect` button for JustCall.
6. It will open a JustCall page requesting API key and secret.
7. Get your JustCall API Key & Secret from the JustCall dashboard (<https://app.justcall.io/app/developersApiCredentials>).
8. Enter the API key and Secret and press Continue, it should redirect back you to Chat GPT.

## Remote MCP

To connect to JustCall's MCP server remotely:

### Streamable HTTP (Recommended)

The default and recommended way to connect is via Streamable HTTP Transport:

- Connect to `https://mcp.justcall.host/mcp` from any MCP client using Streamable HTTP Transport
- Include your JustCall API key as a bearer token in the request headers
- Example header: `Authorization: Bearer <JUSTCALL_API_KEY>:<JUSTCALL_API_SECRET>`

## Authentication & Security

The JustCall MCP Server implements OAuth2 authentication for secure access to all endpoints.

### OAuth2 Configuration

The server supports OAuth2 authorization with the following features:

- **Authorization Endpoint**: OAuth2 authorization server metadata is available at `/.well-known/oauth-authorization-server`
- **Grant Type**: Authorization code flow with PKCE (Proof Key for Code Exchange)
- **Code Challenge Method**: S256 (SHA-256)
- **Token Authentication**: All MCP and SSE endpoints require Bearer token authentication

### Protected Endpoints

The following endpoints require valid Bearer token authentication:

- `/mcp` - Main MCP endpoint
- `/sse` - Server-Sent Events endpoint
- `/sse/message` - SSE message endpoint

### Authentication Header Format

Include your JustCall API credentials as a Bearer token:

```
Authorization: Bearer <JWT_TOKEN_BY_OAUTH>
Authorization: Bearer <JUSTCALL_API_KEY>:<JUSTCALL_API_SECRET>
```

### Public Endpoints

The following endpoints are publicly accessible:

- `/health` - Health check endpoint (returns 200 OK)
- `/.well-known/oauth-authorization-server` - OAuth2 authorization server metadata

### API Usage & Rate Limits

This MCP server uses the JustCall Developer API. All API requests are subject to the rate limits associated with your JustCall API key. Please refer to your [JustCall API credentials configuration](https://app.justcall.io/app/developersApiCredentials).

## Available Tools

The JustCall MCP Server provides 66 tools organized into the following categories:

### JustCall API Tools

#### 📞 Calls (6 tools)

- **list_calls** - Lists all JustCall calls with various filtering options
- **get_call** - Get a specific JustCall call by ID
- **update_call** - Update a JustCall call (disposition, notes, rating)
- **get_call_journey** - Fetch the sequence of events for a specific call
- **get_voice_agent_data** - Get voice agent data for a specific call (deprecated, use get_voice_agent_call)
- **get_voice_agent_call** - Retrieve voice agent related data for a specific call

#### 👥 Users & Agents (3 tools)

- **list_users** - List all users/agents in the account
- **get_user** - Get detailed information for a specific user/agent
- **update_user_availability** - Update a user's availability status to available or unavailable for calls

#### 💬 SMS & Messaging (11 tools)

- **send_sms** - Send an SMS/text message to a contact
- **list_sms** - Retrieve all SMS/text messages
- **get_sms** - Get detailed information for a specific SMS/text message
- **check_sms_reply** - Check for the most recent inbound SMS reply from a specific contact
- **list_sms_tags** - Retrieve all SMS tags used for organizing text messages
- **get_sms_tag** - Get detailed information for a specific SMS tag
- **create_sms_tag** - Create a new tag for organizing SMS conversations
- **delete_sms_tag** - Delete a specific SMS tag
- **list_sms_threads** - Retrieve all SMS threads/conversations associated with a JustCall number
- **get_sms_thread** - Retrieve a specific SMS thread/conversation by ID
- **add_sms_thread_tag** - Add tag to an SMS thread/conversation

#### 📇 Contacts (6 tools)

- **list_contacts** - Retrieve all contacts from the CRM
- **get_contact** - Retrieve detailed information for a specific contact by ID
- **create_contact** - Create a new contact in the CRM
- **update_contact** - Update/modify details of an existing contact
- **update_contact_status** - Add or remove a contact from DND/DNM/Blacklist lists
- **add_contacts_blacklist** - Add one or more contacts to the global blacklist in bulk

#### 📊 Analytics (4 tools)

- **get_agent_analytics** - Retrieve agent analytics data for specified date range
- **get_account_analytics** - Retrieve account analytics data for specified date range
- **get_number_analytics** - Retrieve number analytics data for specified date range
- **get_sales_dialer_analytics** - Retrieve comprehensive analytics data for sales dialer campaigns

#### 🔔 Webhooks (2 tools)

- **list_webhooks** - Retrieve all configured webhooks
- **create_webhook** - Create a new webhook endpoint to receive real-time notifications

#### 📱 Phone Numbers (2 tools)

- **list_numbers** - Retrieve all JustCall phone numbers
- **get_number** - Retrieve detailed information for a specific JustCall phone number

#### 👥 User Groups (2 tools)

- **list_user_groups** - Retrieve all user groups defined in the account
- **get_user_group** - Retrieve detailed information for a specific user group by ID

#### 📅 Appointments (3 tools)

- **list_appointment_slots** - Retrieve all available time slots for appointments on a specific calendar
- **create_appointment** - Schedule a new appointment on a specific calendar
- **get_appointment** - Retrieve details of a specific appointment by its ID

#### 💚 WhatsApp (5 tools)

- **list_whatsapp_messages** - Retrieve all WhatsApp messages associated with the account
- **get_whatsapp_message** - Retrieve detailed information for a specific WhatsApp message by ID
- **send_whatsapp_message** - Send a new WhatsApp message to a contact number
- **list_whatsapp_templates** - Retrieve all WhatsApp message templates available in the account
- **check_whatsapp_message_reply** - Check for the most recent inbound WhatsApp message from a contact

#### 🤖 AI Analysis (4 tools)

- **list_calls_ai_analysis** - Retrieve AI-generated analysis (transcription, summary, insights) for all calls
- **get_call_ai_analysis** - Retrieve AI-generated analysis for a specific call by Call ID
- **list_meetings_ai_analysis** - Retrieve AI-generated analysis for recorded meetings (Zoom, Google Meet)
- **get_meeting_ai_analysis** - Retrieve AI-generated analysis for a specific meeting by Instance ID

#### 🎙️ Voice Agents (2 tools)

- **list_voice_agents** - Retrieve all AI voice agents associated with the account
- **create_voice_agent_call** - Initiate an outbound call from a configured AI voice agent to a contact

### Sales Dialer Tools

#### 📢 Campaigns (6 tools)

- **list_campaigns** - Retrieve all sales dialer campaigns
- **get_campaign** - Retrieve detailed information for a specific sales dialer campaign
- **create_campaign** - Create a new sales dialer campaign
- **update_campaign** - Update campaign details including name, description, status, and assignments
- **list_salesdialer_campaign_contacts** - Retrieve all contacts in a specific campaign
- **add_salesdialer_campaign_contact** - Add contact to a specific campaign

#### 👥 Contacts (8 tools)

- **list_salesdialer_contacts** - Retrieve all contacts from Sales Dialer
- **get_salesdialer_contact** - Retrieve detailed information for a specific contact by ID
- **create_salesdialer_contact** - Create a new contact in Sales Dialer
- **update_salesdialer_contact** - Update/modify details of an existing contact
- **import_salesdialer_contacts** - Import multiple contacts into Sales Dialer or a campaign in bulk
- **import_salesdialer_contacts_status** - Check the status of a bulk import job by batch ID
- **add_salesdialer_contacts_dnca** - Add one or more contacts to the "Do Not Call Again" list in bulk
- **list_salesdialer_custom_fields** - Fetch all custom contact fields defined in Sales Dialer

#### 📞 Calls (2 tools)

- **list_salesdialer_calls** - Retrieve all calls made via the Sales Dialer
- **get_salesdialer_call** - Retrieve detailed information for a specific Sales Dialer call by ID

#### 📊 Analytics (2 tools)

- **get_sales_dialer_analytics** - Retrieve comprehensive analytics data for sales dialer campaigns
- **get_salesdialer_agent_analytics** - Retrieve call performance analytics of a specific agent for a campaign.

