home / mcp / freshservice mcp server

Freshservice MCP Server

MCP server created for Freshservice, allowing AI models to interact with Freshservice modules

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "effytech-freshservice_mcp": {
      "command": "uvx",
      "args": [
        "freshservice-mcp"
      ],
      "env": {
        "FRESHSERVICE_APIKEY": "<YOUR_FRESHSERVICE_APIKEY>",
        "FRESHSERVICE_DOMAIN": "<YOUR_FRESHSERVICE_DOMAIN>"
      }
    }
  }
}

You can run a dedicated MCP server that lets Claude and other AI models interact with Freshservice to create, update, and manage IT service tickets, changes, assets, and more. This server streamlines ITSM workflows by bridging AI actions directly to Freshservice modules.

How to use

Use a client that supports MCP servers to connect to the Freshservice MCP Server. You will run the local server process and point your MCP client at it or configure your Claude Desktop to run the MCP server in stdio mode. Once connected, you can instruct the AI to perform operations such as creating tickets, updating changes, filtering tickets, and querying assets across the supported Freshservice modules.

How to install

Prerequisites you need before installing the Freshservice MCP Server are Node.js or Python environments if you plan to use package-based tools, and an active Freshservice account with an API key.

npx -y @smithery/cli install @effytech/freshservice_mcp --client claude

Additional setup and configuration

Generate your Freshservice API key from the Freshservice admin area: Profile Settings → API Settings. You will use this key together with your Freshservice domain to configure the MCP server in your client.

To run the MCP server with Claude Desktop, you configure the MCP server in Claude Desktop to invoke the stdio-based CLI. The required runtime command is uvx, with the server name freshservice-mcp and environment variables for your API key and domain.

Example to start the server manually for testing is shown below. Replace the placeholders with your actual values.

Examples for Claude Desktop configuration

"mcpServers": {
  "freshservice-mcp": {
    "command": "uvx",
    "args": [
        "freshservice-mcp"
    ],
    "env": {
      "FRESHSERVICE_APIKEY": "<YOUR_FRESHSERVICE_APIKEY>",
      "FRESHSERVICE_DOMAIN": "<YOUR_FRESHSERVICE_DOMAIN>"
    }
  }
}

Testing the server locally

To test locally, run the following command. This starts the MCP server process that your MCP client can connect to.

uvx freshservice-mcp --env FRESHSERVICE_APIKEY=<your_api_key> --env FRESHSERVICE_DOMAIN=<your_domain>

Security and maintenance notes

Keep your Freshservice API key secure. Do not expose it in client configuration files that may be shared or stored in version control. Rotate keys regularly and apply least-privilege API permissions where possible.

Monitor API usage to stay within Freshservice rate limits and quotas. If you encounter 429 Too Many Requests, stagger requests and implement retries with backoff in your client.

Troubleshooting

  • Verify the API key and domain are correct
  • Ensure network access to Freshservice endpoints
  • Confirm uvx is installed and in PATH
  • Check required environment variables

Tools and capabilities overview

This MCP server provides tool-like capabilities to manage various Freshservice modules. You can create, update, delete, and query tickets; manage changes and change notes; retrieve and filter items like agents, requester groups, canned responses, and solution content; and access related assets and articles.

Available tools

create_ticket

Create a new Freshservice service ticket with subject, description, source, priority, status, and requester email.

update_ticket

Update an existing ticket with a set of updates.

delete_ticket

Remove a ticket by its ticket_id.

filter_tickets

Find tickets matching a specified query to filter results.

get_ticket_fields

Retrieve definitions for ticket fields.

get_tickets

List all tickets with pagination support.

get_ticket_by_id

Retrieve detailed information for a single ticket by its ID.

get_changes

List changes with pagination and optional query.

filter_changes

Filter changes with advanced queries.

get_change_by_id

Retrieve details for a single change by its change_id.

create_change

Create a new change request with key attributes like requester, subject, and priority.

update_change

Update an existing change with provided change fields.

close_change

Close a change with a result explanation.

delete_change

Remove a change by its change_id.

get_change_tasks

Retrieve tasks associated with a change.

create_change_note

Add a note to a change.

get_asset

Show asset details by identifier such as asset tag.

get_solution_article

Retrieve solution articles or related content like categories and folders.