groove
Model Context Protocol server for Groove HQ
Installation
npx groove-mcpAsk AI about groove
Powered by Claude Β· Grounded in docs
I know everything about groove. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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
