콘텐츠로 이동

ADK용 Linear MCP 도구

Supported in ADKPythonTypeScript

Linear MCP Server는 ADK 에이전트를 제품 기획/개발을 위해 설계된 도구인 Linear와 연결합니다. 이 통합을 통해 에이전트는 자연어로 이슈를 관리하고, 프로젝트 사이클을 추적하며, 개발 워크플로를 자동화할 수 있습니다.

사용 사례

  • 이슈 관리 간소화: 자연어로 이슈를 생성, 업데이트, 정리합니다. 에이전트가 버그 기록, 작업 할당, 상태 업데이트를 처리할 수 있습니다.

  • 프로젝트/사이클 추적: 팀 진행 상황을 즉시 파악합니다. 활성 사이클 상태를 질의하고, 프로젝트 마일스톤 및 마감일을 조회합니다.

  • 컨텍스트 검색 및 요약: 긴 토론 스레드를 빠르게 파악하거나 특정 프로젝트 명세를 찾습니다. 에이전트가 문서를 검색하고 복잡한 이슈를 요약할 수 있습니다.

사전 준비 사항

에이전트와 함께 사용

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

이 에이전트를 처음 실행하면 OAuth 접근 요청을 위해 브라우저 창이 자동으로 열립니다. 또는 콘솔에 출력된 인증 URL을 사용할 수 있습니다. 에이전트가 Linear 데이터에 접근하려면 해당 요청을 승인해야 합니다.

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

이 코드 예시는 API 키 인증을 사용합니다. 브라우저 기반 OAuth 인증 흐름을 사용하려면 headers 파라미터를 제거하고 에이전트를 실행하세요.

import { LlmAgent, MCPToolset } from "@google/adk";

const rootAgent = new LlmAgent({
    model: "gemini-2.5-pro",
    name: "linear_agent",
    instruction: "Help users manage issues, projects, and cycles in Linear",
    tools: [
        new MCPToolset({
            type: "StdioConnectionParams",
            serverParams: {
                command: "npx",
                args: ["-y", "mcp-remote", "https://mcp.linear.app/mcp"],
            },
        }),
    ],
});

export { rootAgent };

Note

이 에이전트를 처음 실행하면 OAuth 접근 요청을 위해 브라우저 창이 자동으로 열립니다. 또는 콘솔에 출력된 인증 URL을 사용할 수 있습니다. 에이전트가 Linear 데이터에 접근하려면 해당 요청을 승인해야 합니다.

import { LlmAgent, MCPToolset } from "@google/adk";

const LINEAR_API_KEY = "YOUR_LINEAR_API_KEY";

const rootAgent = new LlmAgent({
    model: "gemini-2.5-pro",
    name: "linear_agent",
    instruction: "Help users manage issues, projects, and cycles in Linear",
    tools: [
        new MCPToolset({
            type: "StreamableHTTPConnectionParams",
            url: "https://mcp.linear.app/mcp",
            transportOptions: {
                requestInit: {
                    headers: {
                        Authorization: `Bearer ${LINEAR_API_KEY}`,
                    },
                },
            },
        }),
    ],
});

export { rootAgent };

Note

이 코드 예시는 API 키 인증을 사용합니다. 브라우저 기반 OAuth 인증 흐름을 사용하려면 transportOptions 속성을 제거하고 에이전트를 실행하세요.

사용 가능한 도구

Tool Description
list_comments 이슈 코멘트 목록 조회
create_comment 이슈에 코멘트 생성
list_cycles 프로젝트 사이클 목록 조회
get_document 문서 조회
list_documents 문서 목록 조회
get_issue 이슈 조회
list_issues 이슈 목록 조회
create_issue 이슈 생성
update_issue 이슈 업데이트
list_issue_statuses 이슈 상태 목록 조회
get_issue_status 이슈 상태 조회
list_issue_labels 이슈 라벨 목록 조회
create_issue_label 이슈 라벨 생성
list_projects 프로젝트 목록 조회
get_project 프로젝트 조회
create_project 프로젝트 생성
update_project 프로젝트 업데이트
list_project_labels 프로젝트 라벨 목록 조회
list_teams 팀 목록 조회
get_team 팀 조회
list_users 사용자 목록 조회
get_user 사용자 조회
search_documentation 문서 검색

추가 리소스