Freshservice MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
npm install
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "FRESHSERVICE_DOMAIN=${FRESHSERVICE_DOMAIN}" -e "FRESHSERVICE_API_KEY=${FRESHSERVICE_API_KEY}" freshservice -- node "<FULL_PATH_TO_FRESHSERVICE_MCP>/dist/index.js"

Replace <FULL_PATH_TO_FRESHSERVICE_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:FRESHSERVICE_DOMAINFRESHSERVICE_API_KEY
README.md

Connects AI assistants to your Freshservice ITSM instance.

Freshservice MCP Server

An MCP (Model Context Protocol) server that connects AI assistants like Claude to your Freshservice ITSM instance. Manage tickets, assets, requesters, agents, groups, and departments through natural language.

Quick Start

1. Install

npm install

2. Get Your Freshservice API Key

  1. Log into Freshservice
  2. Click your profile icon → Profile Settings
  3. Your API key is on the right side panel

3. Configure in Claude Desktop

Add to your Claude Desktop config (~/.claude.json or Claude Desktop settings):

{
  "mcpServers": {
    "freshservice": {
      "command": "node",
      "args": ["C:/path/to/freshservice-mcp/src/index.js"],
      "env": {
        "FRESHSERVICE_DOMAIN": "yourcompany",
        "FRESHSERVICE_API_KEY": "your-api-key-here"
      }
    }
  }
}

Replace:

  • yourcompany with your Freshservice subdomain (the part before .freshservice.com)
  • your-api-key-here with your API key

Available Tools

Tickets

Tool Description
list_tickets List tickets with filters (status, priority, requester, date)
get_ticket Get full ticket details
create_ticket Create a new ticket
update_ticket Update ticket fields (status, priority, assignment, etc.)
delete_ticket Delete a ticket
reply_to_ticket Send a reply on a ticket
add_note_to_ticket Add a public or private note
get_ticket_conversations View all replies and notes
search_tickets Filter tickets with query syntax

Assets

Tool Description
list_assets List all assets/CIs
get_asset Get asset details
create_asset Create a new asset
update_asset Update asset fields
delete_asset Delete an asset

People & Organization

Tool Description
list_requesters List end users
get_requester Get requester details
list_agents List support agents
get_agent Get agent details
list_groups List agent groups
get_group Get group details and members
list_departments List departments
get_department Get department details

Example Prompts

Once configured, you can ask Claude things like:

  • "Show me all open P1 tickets"
  • "Create a ticket for the printer on 3rd floor being offline"
  • "What assets are assigned to John Smith?"
  • "Assign ticket #1234 to the network team"
  • "Add a private note to ticket #5678 saying we're waiting on the vendor"
  • "List all agents in the IT Support group"

Search Query Syntax

The search_tickets tool uses Freshservice's filter query syntax:

"priority:4 AND status:2"          — Urgent + Open tickets
"group_id:12345"                   — Tickets assigned to a specific group
"agent_id:67890"                   — Tickets assigned to a specific agent
"created_at:>'2024-01-01'"         — Tickets created after a date

Environment Variables

Variable Required Description
FRESHSERVICE_DOMAIN Yes Your Freshservice subdomain
FRESHSERVICE_API_KEY Yes Your Freshservice API key

License

MIT

Tools (22)

list_ticketsList tickets with filters like status, priority, requester, and date.
get_ticketGet full ticket details.
create_ticketCreate a new ticket.
update_ticketUpdate ticket fields such as status, priority, and assignment.
delete_ticketDelete a ticket.
reply_to_ticketSend a reply on a ticket.
add_note_to_ticketAdd a public or private note to a ticket.
get_ticket_conversationsView all replies and notes for a ticket.
search_ticketsFilter tickets using Freshservice query syntax.
list_assetsList all assets or CIs.
get_assetGet asset details.
create_assetCreate a new asset.
update_assetUpdate asset fields.
delete_assetDelete an asset.
list_requestersList end users.
get_requesterGet requester details.
list_agentsList support agents.
get_agentGet agent details.
list_groupsList agent groups.
get_groupGet group details and members.
list_departmentsList departments.
get_departmentGet department details.

Environment Variables

FRESHSERVICE_DOMAINrequiredYour Freshservice subdomain
FRESHSERVICE_API_KEYrequiredYour Freshservice API key

Configuration

claude_desktop_config.json
{"mcpServers": {"freshservice": {"command": "node", "args": ["C:/path/to/freshservice-mcp/src/index.js"], "env": {"FRESHSERVICE_DOMAIN": "yourcompany", "FRESHSERVICE_API_KEY": "your-api-key-here"}}}}

Try it

Show me all open P1 tickets
Create a ticket for the printer on 3rd floor being offline
What assets are assigned to John Smith?
Assign ticket #1234 to the network team
Add a private note to ticket #5678 saying we're waiting on the vendor

Frequently Asked Questions

What are the key features of Freshservice?

Full CRUD operations for Freshservice tickets. Asset and Configuration Item (CI) management. Organization data access including requesters, agents, and departments. Advanced ticket searching using Freshservice query syntax. Conversation management for tickets including notes and replies.

What can I use Freshservice for?

Automating ticket triage by allowing AI to query and update ticket status. Quickly looking up asset assignments for specific employees. Managing internal support workflows by adding notes to tickets via natural language. Retrieving agent and group information to facilitate ticket routing.

How do I install Freshservice?

Install Freshservice by running: npm install

What MCP clients work with Freshservice?

Freshservice works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Freshservice docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare