Skip to content

Linear

The Linear MCP Server connects your ADK agent to Linear, a purpose-built tool for planning and building products. This integration gives your agent the ability to manage issues, track project cycles, and automate development workflows using natural language.

Use cases

  • Streamline Issue Management: Create, update, and organize issues using natural language. Let your agent handle logging bugs, assigning tasks, and updating statuses.

  • Track Projects and Cycles: Get instant visibility into your team's momentum. Query the status of active cycles, check project milestones, and retrieve deadlines.

  • Contextual Search & Summarization: Quickly catch up on long discussion threads or find specific project specifications. Your agent can search documentation and summarize complex issues.

Prerequisites

Use with agent

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

root_agent = Agent(
    model="gemini-2.5-pro",
    name="linear_agent",
    instruction="Help users manage issues, projects, and cycles in Linear",
    tools=[
        McpToolset(
            connection_params=StdioConnectionParams(
                server_params=StdioServerParameters(
                    command="npx",
                    args=[
                        "-y",
                        "mcp-remote",
                        "https://mcp.linear.app/mcp",
                    ]
                ),
                timeout=30,
            ),
        )
    ],
)

Note

When you run this agent for the first time, a browser window will open automatically to request access via OAuth. Alternatively, you can use the authorization URL printed in the console. You must approve this request to allow the agent to access your Linear data.

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPServerParams

LINEAR_API_KEY = "YOUR_LINEAR_API_KEY"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="linear_agent",
    instruction="Help users manage issues, projects, and cycles in Linear",
    tools=[
        McpToolset(
            connection_params=StreamableHTTPServerParams(
                url="https://mcp.linear.app/mcp",
                headers={
                    "Authorization": f"Bearer {LINEAR_API_KEY}",
                },
            ),
        )
    ],
)

Note

This code example uses an API key for authentication. To use a browser-based OAuth authentication flow instead, remove the headers parameter and run the agent.

Available tools

Tool Description
list_comments List comments on an issue
create_comment Create a comment on an issue
list_cycles List cycles in a project
get_document Get a document
list_documents List documents
get_issue Get an issue
list_issues List issues
create_issue Create an issue
update_issue Update an issue
list_issue_statuses List issue statuses
get_issue_status Get an issue status
list_issue_labels List issue labels
create_issue_label Create an issue label
list_projects List projects
get_project Get a project
create_project Create a project
update_project Update a project
list_project_labels List project labels
list_teams List teams
get_team Get a team
list_users List users
get_user Get a user
search_documentation Search documentation

Additional resources