Skip to main content
Glama

task_get

Retrieve detailed implementation information for a specific project task, including metadata, files to modify, and technical notes, to support development work.

Instructions

PROJECT MANAGEMENT: Get full details of ONE specific task.

Use this to drill into a single task's implementation details (metadata, files_to_modify, technical_notes). Prefer ticket_get for overview, use this only when you need deep task details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID (e.g., SUBTASK-007-1 or TASK-abc123-1)

Implementation Reference

  • The core handler logic for the 'task_get' tool. It retrieves the task by ID from the database and returns its model dump as JSON, or an error message if not found.
    if name == "task_get": task = db.get_task(args["task_id"]) if not task: return f"Task {args['task_id']} not found" return _json(task.model_dump())
  • Registration of the 'task_get' tool in the MCP server's list_tools handler, defining its name, description, and input schema.
    Tool( name="task_get", description="""PROJECT MANAGEMENT: Get full details of ONE specific task. Use this to drill into a single task's implementation details (metadata, files_to_modify, technical_notes). Prefer ticket_get for overview, use this only when you need deep task details.""", inputSchema={ "type": "object", "properties": { "task_id": { "type": "string", "description": "Task ID (e.g., SUBTASK-007-1 or TASK-abc123-1)", } }, "required": ["task_id"], }, ),
  • Database TrackerDB.get_task method, which queries the 'tasks' table for the task by ID and converts the row to a Task model using _row_to_task.
    def get_task(self, task_id: str) -> Task | None: row = self.conn.execute("SELECT * FROM tasks WHERE id = ?", (task_id,)).fetchone() if row: return self._row_to_task(row) return None
  • Private helper method in TrackerDB to construct a Task Pydantic model from a database row, handling status normalization and JSON fields.
    def _row_to_task(self, row) -> Task: status = _normalize_task_status(row["status"]) return Task( id=row["id"], ticket_id=row["ticket_id"], title=row["title"], details=row["details"], status=TaskStatus(status), priority=Priority(row["priority"] or "medium"), complexity=Complexity(row["complexity"] or "medium"), created_at=datetime.fromisoformat(row["created_at"]), completed_at=datetime.fromisoformat(row["completed_at"]) if row["completed_at"] else None, acceptance_criteria=_from_json(row["acceptance_criteria"]), metadata=_from_json(row["metadata"]), )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/urjitbhatia/tpm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server