christiangenco/groove-mcp
If you are the rightful owner of groove-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Groove MCP Server is a Model Context Protocol server designed for Groove HQ, enabling access to customer support ticketing, CRM, and knowledge base functionalities through the Groove GraphQL API v2.
Groove MCP Server
A Model Context Protocol (MCP) server for Groove HQ, providing access to customer support ticketing, CRM, and knowledge base functionality through the Groove GraphQL API v2.
Installation
Get your GROOVE_API_TOKEN from https://YOUR_SUBDOMAIN.groovehq.com/settings/developer/api?tat-cursor=1&tat-entityType=accessToken&tat-pageSize=9999
Then add the Groove MCP server to Claude Code:
claude mcp add groove-mcp npx groove-mcp -s user --env GROOVE_API_TOKEN=your_groove_api_token_here
You can also optionally set the GROOVE_API_URL
as an environment variable (defaults to https://api.groovehq.com/v2/graphql
).
If you'd like to run it locally, clone this repo and then run:
claude mcp add groove-mcp node ~/path/to/groove-mcp/index.js -s user --env GROOVE_API_TOKEN=your_groove_api_token_here
Available Tools
Conversation Management
-
listConversations - List conversations with optional filters
status
: Filter by status (unread, opened, closed, snoozed)assigneeId
: Filter by assigned agent IDcontactId
: Filter by contact IDtagIds
: Filter by tag IDslimit
: Maximum number of conversations to return (default: 20)
-
getConversation - Get detailed information about a specific conversation
id
: The conversation ID (required)
-
createConversation - Create a new conversation
contactId
: ID of the contact (required)subject
: Subject of the conversation (required)body
: Initial message body (required)assigneeId
: ID of agent to assign totagIds
: Tag IDs to apply
-
updateConversation - Update a conversation
id
: The conversation ID (required)status
: New status (opened, closed, snoozed)assigneeId
: ID of agent to assign totagIds
: Tag IDs to applysnoozedUntil
: ISO 8601 datetime to snooze until
-
closeConversation - Close a conversation
id
: The conversation ID to close (required)
Message Operations
-
listMessages - List messages in a conversation
conversationId
: The conversation ID to list messages for (required)limit
: Maximum number of messages to return (default: 50)after
: Cursor for pagination
-
sendMessage - Send a message in a conversation
conversationId
: The conversation ID to send message to (required)body
: The message body content (required)attachmentIds
: IDs of attachments to include
-
createNote - Create an internal note in a conversation
conversationId
: The conversation ID to add note to (required)body
: The note content (required)
Contact Management
-
listContacts - List contacts with optional search
search
: Search string to filter contactslimit
: Maximum number of contacts to return (default: 20)after
: Cursor for pagination
-
getContact - Get detailed information about a specific contact
id
: The contact ID (required)
-
createContact - Create a new contact
email
: Contact email address (required)firstName
: Contact first namelastName
: Contact last namecompany
: Contact companytitle
: Contact job titlephone
: Contact phone number
-
updateContact - Update contact information
id
: The contact ID (required)email
: Contact email addressfirstName
: Contact first namelastName
: Contact last namecompany
: Contact companytitle
: Contact job titlephone
: Contact phone number
Agent Operations
-
listAgents - List all agents in the organization
-
getAgent - Get detailed information about a specific agent
id
: The agent ID (required)
-
getAvailableAgents - List all available agents
Knowledge Base
- searchKbArticles - Search knowledge base articles
query
: Search query (required)limit
: Maximum number of articles to return (default: 20)
Resources
The server exposes Knowledge Base articles as MCP resources. These can be browsed and read by MCP clients.
- Knowledge Base Articles - Published KB articles are available as resources
- Each article includes metadata like category, views, and helpful votes
- Articles are returned in Markdown format when read
Development
# Watch mode for development
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Type check
npm run typecheck
Project Structure
āāā src/
ā āāā index.ts # Main server entry point
ā āāā groove-client.ts # GraphQL client wrapper
ā āāā tools/ # MCP tool implementations
ā ā āāā conversations.ts
ā ā āāā messages.ts
ā ā āāā contacts.ts
ā ā āāā agents.ts
ā āāā resources/ # MCP resource implementations
ā ā āāā kb-articles.ts
ā āāā types/ # TypeScript type definitions
ā ā āāā groove.ts
ā āāā utils/ # Utility functions
ā āāā graphql-queries.ts
āāā tests/ # Test files
āāā docs/ # Documentation
āāā dist/ # Compiled JavaScript files
License
MIT