Kommunicate is a customer support platform that enables businesses to provide seamless customer service through multiple channels including live chat, chatbots, and messaging apps.
- Multi-channel Support: Integrate customer interactions across various platforms including web, mobile, and messaging apps
- AI-Powered Chatbots: Deploy intelligent chatbots that can handle customer queries 24/7
- Live Chat: Enable real-time communication between customers and support agents
- Conversation Management: Track and manage customer conversations with status updates and resolution tracking
- User Management: Maintain detailed user profiles with customizable metadata
- API Integration: Seamlessly connect with existing systems through RESTful APIs
- Analytics Dashboard: Monitor and analyze customer support metrics and performance
A Model Context Protocol (MCP) server implementation for Kommunicate, enabling seamless integration of AI models with the Kommunicate platform.
- Python 3.7 or higher
- pip (Python package manager)
- Kommunicate API key
- Sign up for a Kommunicate account at https://www.kommunicate.io/
- After signing up and logging in, navigate to the Kommunicate Dashboard
- Go to Settings → Install
- Generate a new API key or copy your existing one
- Replace the placeholder in
config.py
with your actual API key:KOMMUNICATE_API_KEY = "your-actual-api-key-here"
Note: Kommunicate uses key-based authentication. All API requests must include a valid API key either as a query parameter (
apiKey
) or in the request header (Api-Key
). The server will only process requests that contain a valid API key.
-
Clone the repository:
git clone https://github.com/yourusername/kommunicate-mcp.git cd kommunicate-mcp
-
Install dependencies using uv:
# Install uv if you haven't already curl -LsSf https://astral.sh/uv/install.sh | sh # Create and activate virtual environment uv venv source .venv/bin/activate # On Windows use: .venv\Scripts\activate # Installing MCP CLI uv add "mcp[cli]" # Installs an MCP server into Claude Desktop uv run mcp install main.py
-
Create Conversation
- Function:
create_conversation(groupName: str, groupMemberList: List[str]) -> Dict
- Description: Creates a new conversation in Kommunicate with specified group name and member list
- Function:
-
Send Message
- Function:
send_message(groupId: str, fromUserName: str, message: str) -> Dict
- Description: Sends a message to an existing Kommunicate conversation
- Function:
-
Change Conversation Status
- Function:
change_conversation_status(groupId: str, status: int, ofUserId: str = "bot") -> Dict
- Description: Updates the status of a specific conversation
- Status Codes:
- 1: Open
- 2: Resolved
- 3: Pending
- 4: Bot Closed
- 5: Snoozed
- Function:
-
Update User Details
- Function:
update_user_details(userId: str, email: str = None, displayName: str = None, imageLink: str = None, metadata: Dict = None) -> Dict
- Description: Updates user information in Kommunicate
- Parameters:
- userId: Required user identifier
- email: Optional email address
- displayName: Optional display name
- imageLink: Optional profile image URL
- metadata: Optional dictionary of additional user data
- Function:
-
Change Conversation Assignee
- Function:
change_conversation_assignee(groupId: str, assignee: str, ofUserId: str = "bot", sendNotifyMessage: bool = True, takeOverFromBot: bool = True) -> Dict
- Description: Assigns a conversation to a specific agent
- Parameters:
- groupId: Conversation identifier
- assignee: Agent's email ID
- ofUserId: Optional user ID for header (defaults to "bot")
- sendNotifyMessage: Optional notification flag (defaults to true)
- takeOverFromBot: Optional bot removal flag (defaults to true)
- Function:
-
Get User Details
- Function:
get_user_details(userIdList: List[str]) -> List[Dict]
- Description: Retrieves detailed information for multiple users
- Returns user data including:
- userId and userName
- Connection status
- Timestamps (last seen, created, logged in, message)
- Profile image URL
- Account status
- Phone number
- Unread message count
- Function: