# get_planning_forecast

Forecast local plan or project completion from estimates, actuals, capacity, and due dates.

Agent View of the PolicyLayer registry record for `get_planning_forecast`. HTML page: https://policylayer.com/tools/todos/get-planning-forecast

## Facts

- Tool: `get_planning_forecast`
- Server: Todos (`@hasna/todos`) — https://policylayer.com/tools/todos.md
- Install: `npx -y @hasna/todos`
- Homepage: git+https://github.com/hasna/todos.git
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_planning_forecast",
    "arguments": {}
  }
}
```

## Why get_planning_forecast is rated Low

This tool retrieves and analyzes existing planning data to generate forecasts. It performs no side effects—it does not create, modify, delete, or execute external operations. It is a read-only analytical function that queries planning information and returns projections.

From the tool's own definition: "The tool 'get_planning_forecast' is described as a forecasting function that reads from 'estimates, actuals, capacity, and due dates' to compute a projection."

## Use case

AI agents call get_planning_forecast to retrieve information from Todos without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Todos:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "get_planning_forecast": {}
  }
}
```

## Other tools on Todos (527)

- `apply_retention_cleanup` — Destructive — https://policylayer.com/tools/todos/apply-retention-cleanup.md
- `bulk_delete_tasks` — Destructive — https://policylayer.com/tools/todos/bulk-delete-tasks.md
- `cancel_agent_run` — Destructive — https://policylayer.com/tools/todos/cancel-agent-run.md
- `cancel_agent_run_dispatch` — Destructive — https://policylayer.com/tools/todos/cancel-agent-run-dispatch.md
- `cancel_dispatch` — Destructive — https://policylayer.com/tools/todos/cancel-dispatch.md
- `cleanup_artifacts` — Destructive — https://policylayer.com/tools/todos/cleanup-artifacts.md
- `delete_agent` — Destructive — https://policylayer.com/tools/todos/delete-agent.md
- `delete_artifact` — Destructive — https://policylayer.com/tools/todos/delete-artifact.md
- `delete_comment` — Destructive — https://policylayer.com/tools/todos/delete-comment.md
- `delete_label` — Destructive — https://policylayer.com/tools/todos/delete-label.md
- `delete_milestone` — Destructive — https://policylayer.com/tools/todos/delete-milestone.md
- `delete_plan` — Destructive — https://policylayer.com/tools/todos/delete-plan.md
- `delete_project` — Destructive — https://policylayer.com/tools/todos/delete-project.md
- `delete_roadmap` — Destructive — https://policylayer.com/tools/todos/delete-roadmap.md
- `delete_search_view` — Destructive — https://policylayer.com/tools/todos/delete-search-view.md
- `delete_tag` — Destructive — https://policylayer.com/tools/todos/delete-tag.md
- `delete_task` — Destructive — https://policylayer.com/tools/todos/delete-task.md
- `delete_task_list` — Destructive — https://policylayer.com/tools/todos/delete-task-list.md
- `delete_template` — Destructive — https://policylayer.com/tools/todos/delete-template.md
- `delete_watch_rule` — Destructive — https://policylayer.com/tools/todos/delete-watch-rule.md
- `machines_archive` — Destructive — https://policylayer.com/tools/todos/machines-archive.md
- `machines_delete` — Destructive — https://policylayer.com/tools/todos/machines-delete.md
- `remove_agent_run_adapter` — Destructive — https://policylayer.com/tools/todos/remove-agent-run-adapter.md
- `remove_capacity_profile` — Destructive — https://policylayer.com/tools/todos/remove-capacity-profile.md
- `remove_encryption_profile` — Destructive — https://policylayer.com/tools/todos/remove-encryption-profile.md
- `remove_local_event_hook` — Destructive — https://policylayer.com/tools/todos/remove-local-event-hook.md
- `remove_local_extension` — Destructive — https://policylayer.com/tools/todos/remove-local-extension.md
- `remove_policy_pack` — Destructive — https://policylayer.com/tools/todos/remove-policy-pack.md
- `remove_review_routing_rule` — Destructive — https://policylayer.com/tools/todos/remove-review-routing-rule.md
- `remove_runner_sandbox_profile` — Destructive — https://policylayer.com/tools/todos/remove-runner-sandbox-profile.md
- …and 497 more: https://policylayer.com/tools/todos.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=todos · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/todos
