src.integrations.providers.linear_kanban module
Linear implementation of KanbanInterface.
Uses Linear MCP Server to manage tasks and projects
-
class src.integrations.providers.linear_kanban.LinearKanban[source]
Bases: KanbanInterface
Linear kanban board implementation using MCP Server.
-
__init__(config)[source]
Initialize Linear MCP connection.
- Parameters:
config (Dict[str, Any]) –
- Dictionary containing:
-
-
async connect()[source]
Connect to Linear MCP Server.
- Return type:
bool
-
async disconnect()[source]
Disconnect from Linear MCP.
- Return type:
None
-
async get_available_tasks()[source]
Get unassigned tasks from backlog.
- Return type:
List[Task]
-
async get_all_tasks()[source]
Get all tasks from the board regardless of status or assignment.
- Return type:
List[Task]
-
async get_task_by_id(task_id)[source]
Get specific task by ID.
- Return type:
Optional[Task]
- Parameters:
task_id (str)
-
async create_task(task_data)[source]
Create new task in Linear.
- Return type:
Task
- Parameters:
task_data (Dict[str, Any])
-
async update_task(task_id, updates)[source]
Update existing task.
- Return type:
Optional[Task]
- Parameters:
-
-
async assign_task(task_id, assignee_id)[source]
Assign task to user.
- Return type:
bool
- Parameters:
task_id (str)
assignee_id (str)
-
async move_task_to_column(task_id, column_name)[source]
Move task to specific state.
- Return type:
bool
- Parameters:
task_id (str)
column_name (str)
Add comment to task.
- Return type:
bool
- Parameters:
-
-
async get_project_metrics()[source]
Get project metrics.
- Return type:
Dict[str, Any]
-
async report_blocker(task_id, blocker_description, severity='medium')[source]
Report blocker on task.
- Return type:
bool
- Parameters:
-
-
async update_task_progress(task_id, progress_data)[source]
Update task progress.
- Return type:
bool
- Parameters:
-
-
async upload_attachment(task_id, filename, content, content_type=None)[source]
Upload an attachment to a task.
Linear MCP doesn’t currently support direct file uploads,
so we’ll add the attachment content as a comment with metadata.
- Return type:
Dict[str, Any]
- Parameters:
-
-
async get_attachments(task_id)[source]
Get all attachments for a task.
Since Linear MCP doesn’t have direct attachment support,
this returns an empty list but maintains the interface.
- Return type:
Dict[str, Any]
- Parameters:
task_id (str)
-
async download_attachment(attachment_id, filename, task_id=None)[source]
Download an attachment.
Linear MCP doesn’t support direct file attachments,
so this returns an error message.
- Return type:
Dict[str, Any]
- Parameters:
attachment_id (str)
filename (str)
task_id (str | None)