Skip to main content

Linear MCP Gateway Demo

In this tutorial, you put Permit MCP Gateway in front of the Linear MCP server and give two users different trust levels. A Developer with High trust can create Linear issues. A Project Manager with Medium trust can list issues, and the gateway denies issue creation. The tutorial is for admins who want to see trust levels enforced on a real MCP server before rolling out the gateway.

Why put a gateway in front of Linear

When several users or AI agents connect to Linear's MCP server, each one's agent can call every tool the user's Linear account allows. An intern's agent and a team lead's agent can both create issues, delete comments, and change projects. The Linear MCP server has no setting that limits which tools an agent can call.

Permit MCP Gateway sits between the MCP clients and the Linear MCP server and checks each tool call against the user's trust level.

UserMCP clientMax trust levelExpected result
DeveloperClaude DesktopHighCan list and create issues
Project ManagerClaude CodeMediumCan list issues; creating issues is denied

Before you begin

  • A Permit account.
  • Access to the Permit MCP Gateway admin dashboard at app.agent.security, with your Permit organization connected. See Set up hosts for your organization.
  • A Linear account you can sign in with.
  • Claude Desktop for the Developer and Claude Code for the Project Manager. Any MCP client works; the tutorial uses these two.

1. Set up your host and the Linear MCP server

For details on each field, see Create a host and Import MCP servers.

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

    Dashboard with the Create Host button

  2. Fill in the fields:

    • Subdomain: a prefix, such as my-tenant. The dashboard adds a unique suffix.
    • Project: the Permit project that contains the environment you want to use.
    • Environment: the Permit environment for this host. You can't change the environment after the host is created.

    Host creation form with subdomain, project, and environment fields

  3. Click Create Host.

  4. The host has no tools until you import an MCP server. Click MCP Servers to add one.

    MCP Servers tab in the host configuration

  5. Enter the Linear MCP URL, https://mcp.linear.app/mcp, and click Connect. Linear asks you to sign in.

    Import form with the Linear MCP URL entered

  6. The import lists every Linear MCP tool. This tutorial uses two tools, list_issues and save_issue. Set save_issue to High trust and list_issues to Medium trust, then import. You can change tool trust levels later.

    Tool list with list_issues set to Medium and save_issue set to High

The host now proxies the Linear MCP server's tools.

2. Connect users and grant access

Each user connects an MCP client to the gateway MCP URL shown on the Dashboard tab.

Dashboard showing the gateway MCP URL

For client configuration snippets, see Share the host URL with your team.

Connect the Developer with Claude Desktop

  1. The Developer adds the gateway MCP configuration from the Dashboard to the Claude Desktop config file, or adds the gateway MCP URL in the Claude Desktop UI, and connects.

  2. Claude Desktop opens the Consent Service, where the Developer signs in or registers.

    Consent Service sign-in page

    Consent Service registration page

  3. After signing in, the Developer sees no MCP servers, because no admin has granted access yet.

    Consent Service with an empty MCP server list

  4. As the admin, open Humans in the dashboard. The Developer appears in the list. Grant the Developer access to the Linear MCP server with a Max Trust Level of High.

    Granting the Developer access with High max trust level

  5. The Developer refreshes the consent page, selects the Linear MCP server, and authorizes with Linear.

    Linear MCP server available for selection in the Consent Service

    Linear OAuth authorization prompt

    Consent Service confirming the connection

During consent, the Developer can also limit the agent's trust level on the Linear MCP server. See Consent Service.

Consent screen with trust level restrictions for the agent

Connect the Project Manager with Claude Code

The Project Manager follows the same steps with Claude Code. When you grant access on the Humans page, set the Max Trust Level to Medium instead of High.

After consent, Claude Code shows the Project Manager connected with Medium trust:

Claude Code connected to the gateway with Medium trust

3. Test tool calls for each user

Project Manager tries to create an issue

Ask Claude Code to create a Linear issue. The Project Manager's Medium trust is below the High trust save_issue requires, so the gateway returns Permission Denied.

Claude Code showing Permission Denied for save_issue

Developer creates an issue

Ask Claude Desktop to create a Linear issue. The Developer has High trust, so the issue is created.

Claude Desktop creating a Linear issue

Both users list issues

Ask each client to list Linear issues. Both users meet the Medium trust list_issues requires, so both calls succeed.

Claude Code listing Linear issues for the Project Manager

Claude Desktop listing Linear issues for the Developer

Results

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

Permit MCP Gateway enforced a different set of Linear tools for each user, with no change to the Linear MCP server.

Next steps