Company and plan tools
Read the company profile and live plan, get a brief for the next task, check credits, run cited research, and add or update plan work.
Updated 2026-10-13
Read before you answer. These tools give your agent the live company, not a guess from memory.
list_workspaces
Confirm which company you are in. Lists every workspace the signed-in founder can access, with the company each covers and which one this app is currently using.
Reads
No inputs.
Returns. activeWorkspaceId and a list of workspaces. Each has id, name, emoji, company (the product name), hasOperatingPlan and active.
- Every read reports its workspace, so a client can confirm which company it is in.
set_active_workspace
Switch company. Switches which workspace this app reads and writes. Call list_workspaces first, then pass the chosen id. Confirm the switch to the founder.
Reads
| Input | Type | Required | What it is |
|---|---|---|---|
workspaceId | string | Yes | The workspace id to use from now on. |
Returns. The workspace id and name, and a one-line change: “Now working in the … workspace.”
- Works only for a workspace the signed-in account can access. Do it only when the founder asks.
get_founder_context
Read the company profile. Reads the company profile, current stage, positioning and plan summary. Call it before answering anything about the company.
Reads
No inputs.
Returns. The workspace, the roadmap (id and product name), company (the stored company data), stage (key and label), activeMilestoneCount and graduationCriteria.
get_operating_plan
Read the plan and its tasks. Reads the full live plan: milestones, steps, statuses, graduation criteria and the edit history.
Reads
No inputs.
Returns. The workspace, roadmap id, product name and the whole operatingPlan.
- Use the exact milestone ids from here when you call
get_task_prompt,save_note,save_chatorupdate_operating_plan.
get_plan_build
Follow a plan build step by step. Shows whether Pythe is building (or failed to build) the workspace’s plan, and which step it is on. Starting a build is done by the founder in Pythe.
Reads
No inputs.
Returns. build with id, status, step, progress, error, each step’s label, status and detail, and startedAt and finishedAt. poll_after_seconds is 15 while it runs.
- When it completes, a
nexthint points toget_operating_plan.
get_task_prompt
Get a live brief for the next task. Builds an actionable research, build or writing brief from the live plan. Pass a milestone to choose a task, or omit it to find the next unblocked one. It only reads context; your client does the work with its own tools.
Reads
| Input | Type | Required | What it is |
|---|---|---|---|
goal | `research` · `build` · `write` | Yes | The type of work the founder wants. |
mission | string | No | An exact milestone id or unique full title from get_operating_plan. |
Returns. A paste-ready prompt with the company context, the task’s steps and instructions for saving and verifying, plus missionId, goal, workspaceId and roadmapId.
- It selects an unfinished, unblocked milestone and checks dependencies. A blocked or completed task you name returns a blocker rather than silently choosing another.
- The MCP SDK Pythe uses supports tools, not a prompts registry, so this is an ordinary read-only tool and no slash command is needed.
get_credit_balance
Check credits before spending them. Reads the workspace’s plan, credit limit, credits used and credits remaining. Check it before credit-consuming work.
Reads
No inputs.
Returns. plan (key, label, status), credits (limit, used, remaining, resetsAt) and roadmapGenerations (limit, remaining).
run_research
Run cited research and save it. Runs live, cited web research through Pythe and optionally saves the briefing to the Library.
Does work, uses credits
| Input | Type | Required | What it is |
|---|---|---|---|
query | string | Yes | The market, competitor, pricing or factual question to research. |
save | boolean | No | Save the briefing to the Library. Default true. |
title | string | No | A title for the saved briefing. Default “Research: <query>”. |
Returns. The briefing text, the title it was savedAs (or null) and any saveError. A save failure is reported separately from the findings.
- Consumes credits. Check
get_credit_balancefirst when a founder asks about limits.
add_milestone
Add a milestone to the plan. Adds a new milestone, a piece of work, to the plan with optional steps. Only do this when the founder asks for new work to be tracked.
Changes the plan
| Input | Type | Required | What it is |
|---|---|---|---|
title | string | Yes | What the work is. |
why | string | No | Why this matters right now. |
priority | `low` · `medium` · `high` | No | Default medium. |
track | string | No | The track, such as Growth, Product or Fundraising. Default Growth. |
steps | array of strings | No | Concrete steps to complete the work. |
Returns. The new milestone (with source: "mcp") and a one-line change.
- The change is recorded in the plan’s log.
update_operating_plan
Edit the plan, rejecting stale writes. Updates a milestone, a milestone step, or a graduation criterion. Explain the exact change after it is applied.
Changes the plan
| Input | Type | Required | What it is |
|---|---|---|---|
action | `set_milestone_status` · `update_milestone` · `set_step_status` · `set_criterion_status` | Yes | Which kind of change. |
milestoneId | string | No | The milestone to change. |
status | `not_started` · `in_progress` · `blocked` · `complete` | No | For set_milestone_status. |
blockedReason | string | No | For a blocked status: what is in the way. |
title | string | No | For update_milestone: a new title. |
why | string | No | For update_milestone: a new reason. |
priority | `low` · `medium` · `high` | No | For update_milestone. |
stepIndex | integer | No | For set_step_status: the step number, from 0. |
criterionIndex | integer | No | For set_criterion_status: the criterion number, from 0. |
done | boolean | No | For step and criterion changes. |
Returns. The change in words, the roadmap id and the updated operatingPlan.
- Writes are checked against the version you read. If someone saved a newer plan, nothing is updated and you must read
get_operating_planagain before retrying. - Marked destructive and idempotent in the tool’s annotations.