Skip to main content
Glama
Nexsite

Freshservice MCP Server

by Nexsite

Freshservice MCP Server

A fully-featured MCP (Model Context Protocol) server for Freshservice ITSM, deployed on Cloudflare Workers. Exposes 159 tools covering every Freshservice API v2 endpoint — tickets, assets, changes, problems, releases, projects, service catalog, knowledge base, and more.

Features

  • 159 tools across 25 modules covering the full Freshservice API v2

  • Cloudflare Workers — globally distributed, serverless, no cold starts

  • Streamable HTTP transport (modern MCP standard)

  • Bearer token auth to protect the MCP endpoint

  • Plan-aware — each tool description indicates the minimum Freshservice plan required (Starter, Growth, or Pro)

Setup

1. Install dependencies

npm install

2. Configure secrets

Copy .dev.vars.example to .dev.vars for local development:

cp .dev.vars.example .dev.vars

Edit .dev.vars with your values:

  • FRESHSERVICE_API_KEY: Your Freshservice API key (Profile Settings > API Key)

  • FRESHSERVICE_DOMAIN: Your subdomain (e.g., yourcompany for yourcompany.freshservice.com)

  • MCP_AUTH_TOKEN: Bearer token to protect the endpoint. Generate: openssl rand -hex 32

3. Local development

npm run dev

Server starts at http://localhost:8787. Health check at GET /, MCP endpoint at POST /mcp.

4. Deploy

npx wrangler secret put FRESHSERVICE_API_KEY
npx wrangler secret put FRESHSERVICE_DOMAIN
npx wrangler secret put MCP_AUTH_TOKEN
npm run deploy

Connecting to Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "freshservice": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://freshservice-mcp.<your-account>.workers.dev/mcp",
        "--header",
        "Authorization: Bearer <YOUR_MCP_AUTH_TOKEN>"
      ]
    }
  }
}

Available Tools (159 total)

Each tool description is prefixed with the minimum Freshservice plan required: [Plan: Starter+], [Plan: Growth+], or [Plan: Pro+].

Starter+ (all plans)

Module

Tools

Tickets (15)

list_tickets, get_ticket, create_ticket, update_ticket, delete_ticket, list_ticket_conversations, add_ticket_note, reply_to_ticket, list_ticket_time_entries, create_ticket_time_entry, update_ticket_time_entry, delete_ticket_time_entry, list_ticket_tasks, create_ticket_task, list_ticket_approvals

Agents/Requesters (8)

list_agents, get_agent, create_agent, update_agent, delete_agent, list_requesters, get_requester, list_requester_fields

Knowledge Base (13)

search_articles, get_article, create_article, update_article, delete_article, list_solution_categories, get_solution_category, create_solution_category, list_solution_folders, get_solution_folder, create_solution_folder, update_solution_folder, delete_solution_folder

Departments (5)

list_departments, get_department, create_department, update_department, delete_department

Locations (5)

list_locations, get_location, create_location, update_location, delete_location

Agent Groups (5)

list_groups, get_group, create_group, update_group, delete_group

Requester Groups (5)

list_requester_groups, get_requester_group, create_requester_group, update_requester_group, delete_requester_group

Roles (2)

list_roles, get_role

Announcements (5)

list_announcements, get_announcement, create_announcement, update_announcement, delete_announcement

Canned Responses (5)

list_canned_responses, get_canned_response, create_canned_response, update_canned_response, delete_canned_response

Surveys (5)

list_surveys, get_survey, create_survey, update_survey, delete_survey

Growth+ (Growth, Pro, Enterprise)

Module

Tools

Assets (6)

list_assets, get_asset, create_asset, update_asset, delete_asset, list_asset_contracts

Asset Types (5)

list_asset_types, get_asset_type, create_asset_type, update_asset_type, delete_asset_type

Service Catalog (4)

list_service_catalog_items, get_service_catalog_item, request_service_catalog_item, list_service_catalog_categories

Vendors (5)

list_vendors, get_vendor, create_vendor, update_vendor, delete_vendor

Products (5)

list_products, get_product, create_product, update_product, delete_product

Purchase Orders (5)

list_purchase_orders, get_purchase_order, create_purchase_order, update_purchase_order, delete_purchase_order

Business Hours (5)

list_business_hours, get_business_hours_config, create_business_hours, update_business_hours, delete_business_hours

Onboarding (3)

list_onboarding_requests, get_onboarding_request, create_onboarding_request

Pro+ (Pro, Enterprise)

Module

Tools

Changes (10)

list_changes, get_change, create_change, update_change, delete_change, add_change_note, list_change_time_entries, create_change_time_entry, list_change_tasks, create_change_task

Problems (10)

list_problems, get_problem, create_problem, update_problem, delete_problem, add_problem_note, list_problem_time_entries, create_problem_time_entry, list_problem_tasks, create_problem_task

Releases (10)

list_releases, get_release, create_release, update_release, delete_release, add_release_note, list_release_time_entries, create_release_time_entry, list_release_tasks, create_release_task

Projects (8)

list_projects, get_project, create_project, update_project, delete_project, list_project_tasks, create_project_task, add_project_note

Contracts (5)

list_contracts, get_contract, create_contract, update_contract, delete_contract

Custom Objects (5)

list_custom_objects, get_custom_object, create_custom_object, update_custom_object, delete_custom_object

Tech Stack

  • TypeScript on Cloudflare Workers

  • agents (Cloudflare's agents-sdk, includes @modelcontextprotocol/sdk)

  • hono web framework

  • zod schema validation

Authentication

The MCP endpoint requires a Bearer token in the Authorization header. The Freshservice API is accessed using Basic Auth with your API key (stored as a Cloudflare Worker secret).

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nexsite/freshservice-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server