retrieve_state
Retrieve a state's details using its ID and the project's UUID to manage project workflows.
Instructions
Retrieve a state by ID.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | UUID of the project | |
| state_id | Yes | UUID of the state |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| created_at | No | ||
| updated_at | No | ||
| deleted_at | No | ||
| name | Yes | ||
| description | No | ||
| color | Yes | ||
| sequence | No | ||
| group | No | ||
| is_triage | No | ||
| default | No | ||
| external_source | No | ||
| external_id | No | ||
| created_by | No | ||
| updated_by | No | ||
| project | No | ||
| workspace | No |
Implementation Reference
- plane_mcp/tools/states.py:93-106 (handler)The `retrieve_state` function is the tool handler. It's decorated with @mcp.tool(), takes project_id and state_id as string params, calls client.states.retrieve(), and returns a State object.
@mcp.tool() def retrieve_state(project_id: str, state_id: str) -> State: """ Retrieve a state by ID. Args: project_id: UUID of the project state_id: UUID of the state Returns: State object """ client, workspace_slug = get_plane_client_context() return client.states.retrieve(workspace_slug=workspace_slug, project_id=project_id, state_id=state_id) - plane_mcp/tools/__init__.py:14-17 (registration)Import of register_state_tools from plane_mcp.tools.states, which is called to register all state tools including retrieve_state.
from plane_mcp.tools.states import register_state_tools from plane_mcp.tools.users import register_user_tools from plane_mcp.tools.work_item_activities import register_work_item_activity_tools from plane_mcp.tools.work_item_comments import register_work_item_comment_tools - plane_mcp/tools/__init__.py:45-49 (registration)register_state_tools(mcp) is called to register state tools with the MCP server, which includes retrieve_state.
register_state_tools(mcp) register_workspace_tools(mcp) register_epic_tools(mcp) register_milestone_tools(mcp) - plane_mcp/tools/states.py:17-17 (registration)register_state_tools function that wraps all @mcp.tool() decorated functions including retrieve_state.
def register_state_tools(mcp: FastMCP) -> None: - tests/test_integration.py:275-275 (helper)Test registration reference listing 'retrieve_state' as one of the state tools under test.
"retrieve_state",