How to integrate Linear MCP with Hermes

Trusted by
AWS
Glean
Zoom
Airtable

30 min · no commitment · see it on your stack

Linear logo
Hermes logo
divider

Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.

This guide explains the easiest and most robust way to connect your Linear account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

Also integrate Linear with

What is Composio Connect?

Composio Connect is a consumer offering that lets anyone plug 1,000+ applications directly into their agent harness — including Hermes. It can:

  • Search and load tools from relevant toolkits on-demand, reducing context usage.
  • Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
  • Manage app authentication end-to-end with zero manual overhead.

Integrating Linear with Hermes

Using Composio Connect CLI

1. Install the Composio CLI

Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

bash
curl -fsSL https://composio.dev/install | bash
Hermes authenticating with Composio

2. Authenticate

Once the CLI is installed, ask Hermes to authenticate with Composio.

3. Connect to Linear

Ask your agent to connect to Linear, or simply request any Linear-related task. Hermes will prompt you to authenticate and authorize access.

4. Done. You're all set with a new Linear connection.


Using Composio Connect MCP

1. Get your MCP URL and API Key

Go to dashboard.composio.dev and copy your Connect MCP URL and API key.

Copy MCP URL and API key from Composio dashboard

2. Open the Hermes config file

bash
nano ~/.hermes/config.yaml

3. Add the Composio Connect MCP server

bash
mcp_servers:
  composio:
    url: "https://connect.composio.dev/mcp"
    headers:
      x-consumer-api-key: "YOUR_COMPOSIO_API_KEY"
    connect_timeout: 60
    timeout: 180

Save with Ctrl + O, Enter, then exit with Ctrl + X.

4. Restart your Hermes agent

Once restarted, ask your agent to connect to Linear or request any Linear-related task. It will prompt you to authenticate and authorize access.

5. Done!

What is the Linear MCP server, and what's possible with it?

The Linear MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Linear account. It provides structured and secure access to your team's issues, projects, and workflows, so your agent can perform actions like creating issues, posting comments, managing attachments, organizing teams, and automating project tracking on your behalf.

  • Automated issue creation and management: Instantly create new Linear issues, update existing ones, or archive issues to keep your team’s backlog organized and up to date.
  • Commenting and collaboration: Post comments on issues, facilitate team discussions, and keep everyone in the loop without manual effort.
  • Attachment handling: Add or download attachments to and from issues, making it easy to share files or reference important documents right from Linear.
  • Team and cycle insights: Retrieve all teams, fetch cycles (sprints) by team ID, and get default issue parameters to help your agent contextualize and optimize planning activities.
  • Personalized workspace access: Identify the current user, fetch their profile information, and tailor actions or queries to individual team members for smarter automation.

Supported Tools & Triggers

Tools
Triggers
Create attachmentCreates a new attachment and associates it with a specific, existing Linear issue.
Add reaction to commentTool to add a reaction to an existing Linear comment.
Create a commentCreates a new comment on a specified Linear issue.
Create linear issueCreates a new issue in a specified Linear project and team, requiring team_id and title, and allowing optional properties like description, assignee, state, priority, cycle, and due date.
Create issue relationCreate a relationship between two Linear issues using the issueRelationCreate mutation.
Create a labelCreates a new label in Linear for a specified team, used to categorize and organize issues.
Create ProjectCreates a new Linear project with specified name and team associations.
Create Project MilestoneTool to create a project milestone in Linear with a name and optional target date and sort order.
Create Project UpdateTool to create a project status update post for a Linear project.
Delete issueArchives an existing Linear issue by its ID, which is Linear's standard way of deleting issues; the operation is idempotent.
Download issue attachmentsDownloads a specific attachment from a Linear issue; the `file_name` must include the correct file extension.
Get current userGets the currently authenticated user's ID, name, email, and other profile information — this is the account behind the API token, which may be a bot or service account rather than a human user.
Get cycles by team IDRetrieves all cycles for a specified Linear team ID; cycles are time-boxed work periods (like sprints).
Get create issue default paramsFetches a Linear team's default issue estimate and state, useful for pre-filling new issue forms.
Get Linear issueRetrieves an existing Linear issue's comprehensive details, including id, identifier, title, description, timestamps, state, team, creator, attachments, comments (with user info and timestamps, use issue.
Get Linear projectRetrieves a single Linear project by its unique identifier.
List issue draftsTool to list issue drafts.
List issues by team IDTool to list all issues for a specific Linear team, scoped by team ID.
Get all cyclesRetrieves all cycles (time-boxed sprint iterations) org-wide from the Linear account; no filters applied.
List Linear issuesLists non-archived Linear issues; if project_id is not specified, issues from all accessible projects are returned.
Get labelsRetrieves labels from Linear.
List linear projectsRetrieves all projects from the Linear account.
List Linear statesRetrieves all workflow states for a specified team in Linear, representing the stages an issue progresses through in that team's workflow.
Get teamsRetrieves all teams with their members and projects.
List Linear usersLists all workspace users (not team-scoped) with their IDs, names, emails, and active status.
Remove label from Linear issueRemoves a specified label from an existing Linear issue using their IDs; successful even if the label isn't on the issue.
Remove reaction from commentTool to remove a reaction on a comment.
Run Query or MutationExecute any GraphQL query or mutation against Linear's API.
Search Linear issuesSearch Linear issues using full-text search across identifier, title, and description.
Update issueUpdates an existing Linear issue using its `issue_id`; requires at least one other attribute for modification, and all provided entity IDs (for state, assignee, labels, etc.
Update a commentTool to update an existing Linear comment's body text.
Update ProjectTool to update an existing Linear project.

Way Forward

With Linear connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.

From here, you can extend Hermes further:

  • Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
  • Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
  • Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.

If you run into trouble or want to share what you've built, join the community or check out the Docs for deeper configuration options.

How to build Linear MCP Agent with another framework

FAQ

What are the differences in Tool Router MCP and Linear MCP?

With a standalone Linear MCP server, the agents and LLMs can only access a fixed set of Linear tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Linear and many other apps based on the task at hand, all through a single MCP endpoint.

Can I use Tool Router MCP with Hermes?

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Linear tools.

Can I manage the permissions and scopes for Linear while using Tool Router?

Yes, absolutely. You can configure which Linear scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Linear data and credentials are handled as safely as possible.

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.