Last updated: 2026-05-14
The Freshworks Model Context Protocol (MCP) server enables AI tools like Cursor and Claude to securely connect and interact with Freshservice. The MCP server acts as middleware to expose specific capabilities, such as creating tickets, by using public APIs and supported authentication methods. Freshservice supports API key and OAuth authentication for MCP integration requests.
This article provides details about supported MCP integrations and how to configure them in your AI tools.
Supported plans and limits
Applicable plans: Freshservice Enterprise
``` Important: Freshworks MCP integration is currently in Beta and available through an Early Access Program (EAP) for selected customers on the Enterprise plan. To request access to this feature, contact your technical account manager or email the support team at support@freshservice.com. ```
Access requirements: MCP integration in Freshservice is accessible only to users with administrator and agent privileges.
Integration limits: The following limits apply during the early access period. These limits are subject to change and may incur charges after general availability.
| Plan | Tool calls per minute | Tool calls (actions) per month | Tool permissions |
| Enterprise | 100 | 5000 | Full tool access |
Supported MCP integrations
Freshservice currently supports MCP integration for the following AI tools:
Set up MCP integration with Claude Connector
Custom connectors allow Claude to interact with external tools and data sources. Use this method if you need to authorize requests using OAuth.
Prerequisites
Before you begin, ensure you have the following:
Create an MCP connection
To use the Connector to connect Claude to your MCP server, follow these steps:
1. In Claude, go to Settings > Connectors.
2. Click Add custom connector.
3. In the Add custom connector dialog:
1. Enter a name for the connector.
2. Enter the Freshservice MCP URL. For example, https://<your-freshservice-domain>/mcp
3. Click Add. 4. Click Connect.
5. When redirected to the Freshservice authorization page, complete the authentication steps.
A Configure button appears next to your connector name once the setup is successful.
Verify the connection
1. On the Connectors page, select Configure next to your connector.
2. Review the list of available tools.

3. (Optional) For each tool, set the desired permission level: Always allow, Needs approval, Blocked, or Custom.
4. To test, open the chat interface and enter a prompt.
Tip: If you have multiple connectors, specify the name in your prompt. For example: "Use the FS production connector to fetch a list of unresolved tickets.
After you establish the MCP connection, you can invoke MCP tools using Claude on the web, Claude Code, or Claude Desktop.
*Set up MCP integration with Claude Code*
Connect and verify the MCP server within the Claude Code editor. After the setup is complete, Claude Code can use tools exposed by the MCP server directly within the editor.
Prerequisites
Before you begin, ensure you have the following:
Method 1: Connect using OAuth
To connect Claude Code to your MCP server, register the server using the stdio transport.
Run the following command in your terminal to register the Freshservice MCP server:
claude mcp add my-remote-server --transport stdio -- npx -y mcp-remote https://<your-freshservice-domain>/mcp
Expected Output:
The studio MCP server, designated as my-remote-server, has been successfully incorporated into the local configuration via the command: npx -y mcp-remote https://<domain>/mcp.
The modification was applied to the file located at: /Users/<username>/.claude.json within the project path: /Users/<username>.
Verify the connection
After adding the server, perform a two-step verification to ensure the proxy is established and the server status is active.
1. Run the following mcp-remote command to trigger the discovery and authentication flow to test the remote connection directly:
npx -y mcp-remote https://<your-freshservice-domain>/mcp
Expected output:
\[xxxxx\] Using existing client port: 13757
\[xxxxx\] Discovering OAuth server configuration...
\[xxxxx\] Discovered authorization server: https://umang-confluence.freshcmdb.com
\[xxxxx\] Connecting to remote server: https://umang-confluence.freshcmdb.com/mcp
\[xxxxx\] Using transport strategy: http-first
\[xxxxx\] Connected to remote server using StreamableHTTPClientTransport
\[xxxxx\] Local STDIO server running
\[xxxxx\] Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport
2. Use the following get command to confirm the server is listed as connected within the application:
claude mcp get my-remote-server
Expected output:
my-remote-server:
Scope: Local config (private to you in this project)
Status: ✓ Connected
Type: stdio
Command: npx
Args: -y mcp-remote https://umang-confluence.freshcmdb.com/mcp
Environment:
Method 2: Connect using an API key (OAuth alternative)
If you are using an API key instead of OAuth, run the following command in your terminal:
claude mcp add my-remote-server --transport http https://<your-freshservice-domain>/mcp --header "Authorization: <api-key>"
Expected Output:
Added HTTP MCP server my-remote-server with URL: https://<your-freshservice-domain>/mcp to local config
Headers: {
"Authorization": "<api-key>"
}
File modified: /Users/<username>/.claude.json \[project: /Users/pmm\]
Verify the connection
Run the following get command to confirm the server is listed as connected within the application:
claude mcp get my-remote-server
Expected output:
my-remote-server:
Scope: Local config (private to you in this project)
Status: ✓ Connected
Type: http
URL: https://<domain>/mcp
Headers:
Authorization: <api-key>
Set up MCP integration with Claude Desktop
Connect and verify the MCP server within the Claude Desktop editor. After the setup is complete, Claude Desktop can use tools exposed by the MCP server directly within the editor.
Prerequisites
Before you begin, ensure you have the following:
Create an MCP connection
To connect Claude Desktop to your MCP server, follow these steps:
1. Open Claude Desktop and go to Claude > Settings > Developer.
2. Select Edit Config. The claude\_desktop\_config.json file opens in your system's default text editor.
3. Copy and paste the following JSON configuration into the file. If other servers are already listed, add this as a new entry in the mcpServers object without making any changes to preferences or other objects in the JSON file.
Note: Replace <mcp-url> with your specific server URL (for example, https://<your-freshservice-domain>/mcp).
{
"mcpServers": {
"freshservice": {
"command": "npx",
"args": \[\ \ "-y",\ \ "mcp-remote",\ \ "<mcp-url>"\ \ \]
}
}
}
4. Save the file and close the text editor.
5. Exit Claude Desktop by right-clicking the icon in the taskbar (Windows) or menu bar (macOS) and selecting Quit.
6. Relaunch Claude Desktop.
7. Follow the authentication prompts in your browser. After successful authentication, you can verify the connection status under Claude > Settings > Developer..
*Set up the MCP integration with Cursor*
Connect and verify the MCP server within the Cursor editor. After the setup is complete, Cursor can use tools exposed by the MCP server directly within the editor.
Prerequisites
Before you begin, ensure you have the following:
Create an MCP connection
To connect Cursor to the MCP server, add the server details to your application configuration file.
1. Open Cursor and go to the root folder of your project or user home directory for global configuration.
2. Create or update the.cursor/mcp.json file.
3. Add the following JSON object to the file:
Schema
{
"mcpServers": {
"<name of the object>": {
"type": "http",
"url": "https://<your-freshservice-domain> /mcp"
"headers": {
"Authorization": "<API\_KEY>"
}
}
}
}
Sample configuration using OAuth
{
"mcpServers": {
"freshservice": {
"type": "http",
"url": "https://<your-freshservice-domain>/mcp"
}
}
}
Sample configuration using API key
{
"mcpServers": {
"freshservice": {
"type": "http",
"url": "https://<your-freshservice-domain>/mcp",
"headers": {
"Authorization": "<API-KEY>"
}
}
}
}
The following table describes the attributes used to configure the MCP server:
| Attribute name | Description |
| mcpServers | List of all MCP servers to which the Cursor should connect. |
| Attribute of the mcpServers object | |
| <name\_of\_the\_MCP\_object> | The unique name for your MCP server object. |
| Attribute of the <name\_of\_the\_MCP\_object> object | |
| type | The protocol used by the MCP client to communicate with the MCP server. |
| url | The endpoint used by the MCP client to connect to your MCP server. |
| headers (optional) | Custom HTTP headers that the MCP client must send when connecting to your MCP server.<br>Note: As a best practice, use OAuth 2.0. If you are not using OAuth, you must include an "Authorization": "<YOUR\_API\_KEY>" attribute in the configuration, replacing the placeholder with your Freshservice API key. |
Verify the configuration
After you save the configuration file, follow these steps to verify that Cursor can access the server and its tools:
1. In Cursor, go to View > Command Palette
2. Enter View: Open MCP Settings and select it from the list.
3. On the Tools page, locate the Installed MCP Servers section and verify your server name appears.
4. Click Connect to initiate the OAuth flow.
5. Once authenticated, expand the server card to view available tools.
Once the connection is established, Cursor automatically retrieves the tools. You can invoke them through natural language prompts or allow Cursor to suggest them based on your current task.
If the server is offline or the configuration is incorrect, Cursor displays an error message provided by the MCP server in the settings view.
*Set up MCP integration with Microsoft Copilot Studio*
Connect and verify the MCP server within the Microsoft Copilot Studio editor. After the setup is complete, Microsoft Copilot Studio can use tools exposed by the MCP server directly within the editor.
Prerequisites
Before you begin, ensure you have the following:
Create an MCP connection
To link Copilot Studio to your MCP server, follow these steps:
01. In the Copilot Studio dashboard, select Agents from the left navigation pane.
02. Select your agent from the list.
03. Open the Tools page for the agent.
04. Click \+ Add a tool at the top left of the page.
The Add tool window appears.

05. Select \+ New tool > Model Context Protocol.
The Add a Model Context Protocol server window appears.

06. Enter the following details:
- Server name: Enter a name for the server.
- Server description: Provide a short description of why the server is required.
- Server URL: Enter the endpoint where the MCP client can reach your MCP server. For example, https://<your-freshservice-domain>/mcp.
- Authentication: Select the authentication mode. As a best practice, choose OAuth 2.0 > Dynamic discovery. 07. Click Create.
After successful creation, the Add tool window appears to configure the connection.
08. In the Connection dropdown, you will see No connections available.
Click the dropdown and select Create new connection > Create.
09. In the authorization window, select your account name and click Continue.
10. After authorization succeeds, click Add and configure on the Add tool window.
You are redirected to the page for the newly created tool. Under the Tools section, you can view the list of available tools.
Verify the MCP connection
To confirm that your agent is actively connected to the Freshworks MCP server, follow these steps:
1. Go to your agent in Copilot Studio by selecting Agents and choosing the agent you want to verify.
The agent overview page opens.
2. Select Settings to open the agent settings page.
3. In the left navigation pane, select Connection Settings.
A table displays all connections associated with your agent.
4. For the newly configured connection, if the status is Not connected, click Connect.
The Create or pick a connection window appears.
5. Select the newly created connection and click Submit.
The status updates to Connected once the link is successfully established.
*Set up MCP integration with Visual Studio Code*
Connect and verify the MCP server within the Visual Studio Code editor. After the setup is complete, Visual Studio Code can use tools exposed by the MCP server directly within the editor.
Prerequisites
Before you begin, ensure you have the following:
Method 1: Connect using OAuth
To integrate the MCP server into your VS Code environment using OAuth, follow these steps:
1. Open the Command Palette by pressing Ctrl+Shift+P (Windows) or Cmd+Shift+P (macOS).
2. Enter and select MCP: Add Server....

3. In the Select Type prompt, choose HTTP (HTTP or Server-Sent Events).

4. In the Enter URL field, enter your MCP server URL (for example, https://<your-freshservice-domain>/mcp).
5. In the Server ID prompt, press Enter to accept the auto-generated ID or enter a custom name for the server.
6. Select a Configuration Target:
Authenticate the connection
Once the server details are defined, follow these steps to authorize VS Code to access the server.
1. When the HTTP authentication popup appears, select Allow.
2. Your default browser opens. Enter your credentials and authorize access for VS Code.
3. After you are redirected back to VS Code, the server is ready to use.
*Method 2: Connect using an API key (OAuth alternative)*
To integrate the MCP server into your VS Code environment using an API key, follow these steps:
1. Open the Command Palette and select MCP: Open User Configuration.

2. In the mcp.json file, add your server details to the servers object:
{
"servers": {
"my-remote-server": {
"type": "http",
"url": "https://<your-freshservice-domain>/mcp",
"headers": {
"Authorization": "<api-key>"
}
}
}
}
3. Save the file.
4. Select the Start button that appears above the my-remote-server entry to initialize the connection.

The following output appears to confirm the server is active:
Verify the configuration
After setting up your connection, you can confirm the server is running using either of the following methods:
You can now run MCP-specific commands directly within your VS Code terminal or command palette to interact with Freshservice data.
*Troubleshoot issues*
Issue: Connection failures
If the connection verification fails, check the following:
Issue: Authentication errors in Claude
If you encounter OAuth errors during setup, try the following:
*List of available tools*
The following table lists the tools provided by Freshworks MCP server for Freshservice.
| Resource | Tool | Description |
|---|---|---|
| Ticket | fetchTickets | Get all the existing tickets. |
| Ticket | fetchTicket | Get a single ticket using its ID. |
| Ticket | createTicket | Create a new ticket. |
| Ticket | updateTicket | Update an existing ticket. |
| Ticket | createTicketNote | Add a note to a ticket. |
| Asset | fetchAssets | Get all the existing assets. |
| Asset | fetchAsset | Get a single asset by its ID. |
| Asset | createAsset | Create a new asset. |
| Asset | updateAsset | Update an existing asset. |
| Users & Agents | fetchAgents | Get agents associated with the account. |
| Users & Agents | fetchAgent | Get a particular agent. |
| Users & Agents | fetchRequesters | Get requesters associated with the account. |
| Users & Agents | fetchRequester | Get a particular requester. |
| Onboarding & Offboarding | fetchOnboardingRequest | Get an onboarding request. |
| Onboarding & Offboarding | fetchOnboardingRequestForm | Get details on the onboarding form fields. |
| Onboarding & Offboarding | createOnboardingRequest | Create an onboarding request |
| Onboarding & Offboarding | fetchOffboardingRequests | Get details of all offboarding requests. |
| Onboarding & Offboarding | createOffboardingRequest | Create an offboarding request |
| Onboarding & Offboarding | fetchOffboardingRequestTickets | Get details of all the offboarding tickets. |
| Service Catalog | placeRequestServiceCatalogItem | Create a request for a service catalog item |
| Service Catalog | fetchServiceCatalogItemSearch | Search for service items from the service catalog for a given search term. |
| Service Catalog | fetchServiceCatalogItem | Get details of a particular service catalog item. |
| Service Catalog | fetchServiceCatalogItems | Get details of all service catalog items. |
| Solution Category | fetchSolutionCategories | Get a list of all categories. |
| Solution Category | fetchSolutionCategory | Get details of a particular category. |
| Solution Folder | fetchSolutionFolders | Get details of all folders in category. |
| Solution Folder | fetchSolutionFolder | Get details of a particular folder. |
| Solution Folder | createSolutionFolder | Create a folder. |
| Solution Article | fetchSolutionArticles | Get details of all articles available in a folder. |
| Solution Article | fetchSolutionArticle | Get details of a particular article. |
| Solution Article | createSolutionArticle | Create an article. |
| Solution Article | updateSolutionArticle | Update an existing article. |
| Solution Article | fetchSolutionArticleSearch | Search for articles based on the given search term. |
| Workspace | fetchWorkspaces | Get details of all workspaces. |
*Pagination in MCP*
When an MCP tool returns many results, such as a list of solution articles, sending the entire payload at once can exceed token limits or cause the LLM to truncate the data. Large payloads can also slow down response times and reduce the accuracy of the AI.
To prevent this, the MCP server uses pagination to deliver results in smaller, manageable batches. This ensures the LLM processes information efficiently while staying within its operational limits.
The pagination process provides the following benefits:
Example prompts
You can use the following prompts to interact with the Freshservice MCP server through your AI tool. These are samples only; you can modify them to suit your specific requirements.
- "Get all open tickets assigned to me."
- "Show details for ticket 10234."
- "Add an internal note to ticket 1023: 'The issue is caused by a sudden router reboot.'"
- "Search the service catalog for 'laptop'."
- "Request a software installation for Zoom for john@acme.com."
- "Find solution articles for 'VPN issue'."
- "Get all articles in the 'Laptop Issues' folder."
Frequently Asked Questions (FAQs)
What are the prerequisites for OAuth-based MCP integration?
Before you begin, ensure you have a Freshworks Developer account.
If you do not have an account, contact your organization's administrator to request account creation before proceeding with the integration.
How do I view my registered AI clients?
To see a list of your registered AI clients,
1. Go to your Freshservice account.
2. Click the Marketplace Apps icon in the top-right corner and select Developer Portal.
3. Select your developer account.
4. On the Freshworks Developer page, click the Settings (gear) icon next to your profile icon.
5. Go to the OAuth Credentials section and select View existing OAuth credentials.
Note: Client registration is managed at the account level, not the individual user level.

How do I revoke OAuth access for an MCP client?
If you need to revoke access for a specific client, follow these steps:
1. Go to your Freshservice account, click your profile icon in the upper-right corner, and select Profile settings.
2. On the Edit Profile page, click Modify Personal Information.
3. Go to the Manage Third-party Apps tab.
4. In the relevant OAuth card, click Revoke.

Are OAuth credentials managed individually?
No. OAuth client registration is managed at the account level. This ensures that permissions and integrations remain consistent across the entire organization.