src.orchestration.hybrid_tools module#

MCP Tools for Marcus Hybrid Approach.

Provides MCP tools for mode switching, project creation, and intelligent coordination.

class src.orchestration.hybrid_tools.HybridMarcusTools[source]#

Bases: object

MCP tools for the hybrid Marcus approach.

__init__(kanban_client)[source]#
Parameters:

kanban_client (Any)

Return type:

None

async switch_mode(mode, reason=None, user_id=None)[source]#

Switch Marcus to a different operating mode.

Parameters:
  • mode (str) – Target mode (“creator”, “enricher”, or “adaptive”)

  • reason (Optional[str]) – Optional reason for the switch

  • user_id (Optional[str]) – Optional user who triggered the switch

Returns:

Result of the mode switch

Return type:

Dict[str, Any]

async get_current_mode()[source]#

Get information about the current Marcus mode.

Returns:

Current mode information and capabilities

Return type:

Dict[str, Any]

async analyze_board_context(board_id=None, user_id=None)[source]#

Analyze board context and recommend optimal mode.

Parameters:
  • board_id (Optional[str]) – Board to analyze (uses default if not provided)

  • user_id (Optional[str]) – User requesting analysis

Returns:

Board analysis and mode recommendation

Return type:

Dict[str, Any]

async create_project_from_template(template_name, project_name, size='medium', excluded_phases=None, additional_labels=None)[source]#

Create a new project from a template (Creator Mode).

Parameters:
  • template_name (str) – Template to use (“web”, “api”, “mobile”)

  • project_name (str) – Name for the new project

  • size (str) – Project size (“mvp”, “small”, “medium”, “large”, “enterprise”)

  • excluded_phases (Optional[List[str]]) – Phases to exclude

  • additional_labels (Optional[List[str]]) – Additional labels to add to all tasks

Returns:

Generated project information

Return type:

Dict[str, Any]

async create_project_from_description(description, project_name)[source]#

Create a project from natural language description (Creator Mode).

Parameters:
  • description (str) – Natural language description of the project

  • project_name (str) – Name for the new project

Returns:

Generated project information

Return type:

Dict[str, Any]

async get_available_templates()[source]#

Get list of available project templates.

Returns:

Available templates with their information

Return type:

Dict[str, Any]

async preview_template(template_name, size='medium')[source]#

Preview what a template would generate.

Parameters:
  • template_name (str) – Template to preview

  • size (str) – Project size to preview

Returns:

Preview of tasks that would be generated

Return type:

Dict[str, Any]

async get_next_task_intelligent(agent_id, agent_skills=None)[source]#

Get next task using intelligent assignment (Adaptive Mode).

Parameters:
  • agent_id (str) – ID of the agent requesting work

  • agent_skills (Optional[List[str]]) – Skills/capabilities of the agent

Returns:

Recommended task or explanation of why no task is available

Return type:

Dict[str, Any]

async get_blocking_analysis()[source]#

Get analysis of what tasks are blocking others.

Returns:

Analysis of blocking relationships

Return type:

Dict[str, Any]

get_tool_definitions()[source]#

Get MCP tool definitions for the hybrid approach.

Return type:

List[Dict[str, Any]]