Freshservice Integration
Manage Freshservice tickets, requesters, agents, assets, changes, problems, releases, and solutions
The Freshservice integration provides access to manage Freshservice tickets, requesters, agents, assets, changes, problems, releases, and solutions through the Integrate MCP server.
Installation
The Freshservice integration is included with the SDK:
import { freshserviceIntegration } from "integrate-sdk/server";Setup
1. Create a Freshservice OAuth App
- Create an OAuth application for Freshservice
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Freshservice integration to your server configuration. The integration automatically reads FRESHSERVICE_CLIENT_ID and FRESHSERVICE_CLIENT_SECRET from your environment variables:
import { createMCPServer, freshserviceIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
freshserviceIntegration({
scopes: ["freshservice.tickets.read", "freshservice.tickets.write", "freshservice.assets.read", "freshservice.solutions.read"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
freshserviceIntegration({
clientId: process.env.CUSTOM_FRESHSERVICE_ID,
clientSecret: process.env.CUSTOM_FRESHSERVICE_SECRET,
scopes: ["freshservice.tickets.read", "freshservice.tickets.write", "freshservice.assets.read", "freshservice.solutions.read"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("freshservice");
const result = await client.freshservice.listTickets({
domain: "value",
});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, freshserviceIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [freshserviceIntegration()],
});Configuration Options
export interface FreshserviceIntegrationConfig {
clientId?: string;
Default Scopes
These defaults are applied unless you override scopes in the integration config:
freshservice.tickets.readfreshservice.tickets.writefreshservice.assets.readfreshservice.solutions.read
Tools
freshservice_list_tickets
List tickets
export interface FreshserviceListTicketsParams { page?: number;
freshservice_list_requesters
List requesters
export interface FreshserviceListRequestersParams { page?: number;
freshservice_list_agents
List agents
export interface FreshserviceListAgentsParams { page?: number;
freshservice_list_assets
List assets
export interface FreshserviceListAssetsParams { page?: number;
freshservice_list_changes
List changes
export interface FreshserviceListChangesParams { page?: number;
freshservice_list_problems
List problems
export interface FreshserviceListProblemsParams { page?: number;
freshservice_list_releases
List releases
export interface FreshserviceListReleasesParams { page?: number;
freshservice_create_ticket
Create ticket
export interface FreshserviceCreateTicketParams { ticket_json: string;
freshservice_list_solutions
List solutions
export interface FreshserviceListSolutionsParams { page?: number;
Notes
- Category: Business
- Authentication mode: OAuth