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¶
- Sign up for a Linear account
- Generate an API key in Linear Settings > Security & access (if using API authentication)
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 |