Skip to main content

Linear MCP Gateway Demo

A walkthrough demonstrating how to set up Permit.io's Agent Security MCP Gateway so that users with different trust levels are limited in what they can do with their Linear MCP tools.

Problem Statement

When exposing Linear's MCP server to multiple users or AI agents, everyone gets the same level of access by default. An intern and a team lead can both create issues, delete comments, and modify projects — there's no way to enforce least-privilege access out of the box.

This demo shows how to solve that by placing Permit.io's MCP Gateway in front of the Linear MCP server.

Task: Use Permit.io's MCP Gateway to allow a Developer (High trust) to create Linear issues and a Project Manager (Medium trust) to only list Linear issues.

Before You Begin

  1. Create a Permit.io Account
  2. Create an Agent Security Account

Step 1 — Set Up Your Host and MCP

  1. Go to the Dashboard and select Hosts, then click Create Host.

    Create Host button in the Dashboard

  2. Fill in:

    • Subdomain — choose a prefix (e.g., my-tenant). A unique suffix is auto-generated.
    • Project — select the Permit project that contains the environment you want to use.
    • Environment — select the Permit environment this host will use. The environment cannot be changed after the host is created.

    Host creation form with subdomain, project, and environment fields

  3. Click Create Host.

  4. The Host you created exists but has no abilities because it is not linked to an external MCP. Click MCP Servers to create an MCP server.

    MCP Servers tab in host configuration

  5. Enter the Linear MCP URL: https://mcp.linear.app/mcp. Upon pressing Connect, you will be prompted by Linear to sign in.

    Entering the Linear MCP URL

  6. All of the tools available to the Linear MCP are shown as imported. For this demo we only need two tools: list_issues and save_issue. Set save_issue to High trust and list_issues to Medium trust. You can adjust tool trust levels afterwards as well.

    Tool trust level configuration showing list_issues and save_issue

Your MCP Gateway now has Linear MCP abilities.

Step 2 — Add Users

To add users in your organization, they will need the Gateway MCP URL found in the Dashboard tab.

Dashboard showing the Gateway MCP URL

Developer Signs Up with Claude Desktop

The Developer can add the MCP configuration object found in the Dashboard into the Claude Desktop config file, or add the MCP URL via the Claude Desktop UI.

Upon adding the MCP connector and connecting, the Developer will be brought to the MCP Gateway Consent Service to sign in or register an account.

Consent Service sign-in page

Consent Service registration page

Upon signing in, the new user will not have any MCPs available because the admin has not yet granted access.

Empty MCP list for new user

Navigate to Humans in the Dashboard — you will see the new user has registered. Grant the user MCP Server Access to the Linear MCP created previously. Because this user is a Developer, set the Max Trust Level to High.

Granting High trust level access to the Developer

After refreshing, the user will see the MCP available for selection. Upon selecting it, they must authorize via Linear.

MCP available for selection in the Consent Service

Linear OAuth authorization prompt

Successfully connected confirmation

The user can also set restrictions on their agent's use of the MCP. See the Consent Service documentation to learn more.

User consent restrictions interface

Project Manager Signs Up with Claude Code

The signup and consent service procedure is the same as described above. The only difference is that when the admin assigns access, the Max Trust Level is set to Medium instead of High.

This is what the Project Manager will see when connecting Claude Code to the MCP:

Project Manager connected with Medium trust level

Step 3 — Test Actions by User

PM (Claude Code) Tries to Create Issue

PM receives Permission Denied when trying to save_issue

As expected, the PM does not have a high enough trust level and is returned Permission Denied for save_issue.

Developer (Claude Desktop) Tries to Create Issue

Developer successfully creates an issue

As expected, the Developer successfully creates an issue.

Both Users List Issues

PM successfully lists issues

Developer successfully lists issues

As expected, both the Project Manager and Developer succeed in listing issues — their trust levels meet the Medium trust requirement of the list_issues tool.

Summary

UserTrust Levellist_issues (Medium)save_issue (High)
DeveloperHighAllowedAllowed
Project ManagerMediumAllowedDenied

This demo shows how Permit MCP Gateway enforces least-privilege access on MCP tools based on trust levels — without any changes to the underlying Linear MCP server.