@ravenna_eng/ravenna-mcp-server
v1.1.0
Published
Ravenna MCP server for ticket management
Downloads
12
Readme
Ravenna MCP Server
This is a Model Context Protocol (MCP) server for the Ravenna help desk platform, allowing LLMs to create, update, and retrieve tickets directly from Ravenna.
Features
- Create tickets with title, description, priority, and tags
- Update existing tickets (title, description, status, priority, etc.)
- List tickets with various filters (status, priority, assignee, tags)
- Get detailed information about specific tickets
Setup
- Clone the repository
- Install dependencies:
npm install
# or
bun install- Set your Ravenna API key as an environment variable:
export RAVENNA_API_KEY=your_api_key_hereRunning the Server
bun run index.ts
# or
npm run startThe server runs on stdio, making it compatible with MCP clients like Claude Desktop or other MCP-enabled applications.
Tools
Create Ticket
Creates a new ticket in Ravenna.
Required fields:
title: The title of the ticketdescription: A detailed description of the ticket
Optional fields:
priority: Ticket priority (low, medium, high, urgent)tags: Array of string tags to categorize the ticket
Example:
{
"title": "Website login issue",
"description": "Users are unable to log in to the customer portal after the latest update.",
"priority": "high",
"tags": ["website", "login", "customer-portal"]
}Update Ticket
Updates an existing ticket in Ravenna.
Required fields:
id: The ID of the ticket to update
Optional fields:
title: Updated title of the ticketdescription: Updated description of the ticketstatus: Updated status (open, in_progress, pending, resolved, closed)priority: Updated priority (low, medium, high, urgent)assignee: User ID to assign the ticket totags: Updated tags for the ticket
Example:
{
"id": "12345",
"status": "in_progress",
"assignee": "user_id_123",
"priority": "high"
}List Tickets
Lists tickets in Ravenna with optional filters.
Optional fields:
status: Filter by ticket status (open, in_progress, pending, resolved, closed, all)priority: Filter by ticket priority (low, medium, high, urgent, all)assignee: Filter by assignee user IDtags: Filter by tags (any match)limit: Maximum number of tickets to return
Example:
{
"status": "open",
"priority": "high",
"limit": 10
}Get Ticket
Get detailed information about a specific ticket.
Required fields:
id: The ID of the ticket to retrieve
Example:
{
"id": "12345"
}API Reference
This server uses the Ravenna API, as documented in https://docs.ravenna.ai/api-reference/.
MCP Integration
This server implements the Model Context Protocol (MCP), making it compatible with MCP clients. It exposes tools that can be used by large language models to interact with Ravenna.
Environment Variables
RAVENNA_API_KEY: Your Ravenna API key (required)
Error Handling
All tools include proper error handling and will return appropriate error messages if issues occur. Make sure your Ravenna API key is correctly set up and that you have the necessary permissions to perform operations.
