--- name: distrochef description: Use DistroChef through MCP to analyze products, prioritize distribution opportunities, and execute approved distribution work. --- # DistroChef MCP Use DistroChef when the user wants to understand a product's distribution opportunities or carry out an approved opportunity. It manages projects, analysis, ranked opportunities, execution runs, and human handoffs. ## Connect Connect to the Streamable HTTP MCP endpoint: ```text https://distrochef.com/mcp ``` The server uses OAuth and requires `projects_read` for reads and `projects_write` for changes. Setup instructions are at https://distrochef.com/docs. For Codex: ```bash codex mcp add distrochef --url https://distrochef.com/mcp codex mcp login distrochef --scopes projects_read,projects_write ``` Complete the browser sign-in on the same computer that runs `codex mcp login`, and keep the command running until it reports success. The temporary `127.0.0.1` callback belongs to that computer. For Claude Code: ```bash claude mcp add --transport http --scope user distrochef https://distrochef.com/mcp claude mcp login distrochef ``` ## Workflow 1. Use `list_projects` to find the relevant project. Use `create_project` only when the user has asked to add one. 2. Use `analyze_project` to refresh the project's facts and opportunities. 3. Use `list_opportunities` and `get_opportunity` to identify and inspect the best actionable opportunity. 4. Start work with `start_run`, then inspect `execution_requirements` before calling `get_next_steps`. 5. Pass only the capabilities actually available in the current runtime to `get_next_steps`. 6. Complete one step at a time and call `report_step_result` with concrete evidence. Use `get_run` to review progress. 7. Use `resolve_handoff`, `retry_step`, or `cancel_run` when the run requires it. ## Browser capability Only advertise `browser: true` to `get_next_steps` when the current agent can control a browser and the user can take over that same session for sign-in or approval. - **ChatGPT desktop app:** use the built-in browser when it is available to the chat. It has its own browser state, so the user may need to sign in there even if they are signed in elsewhere. Keep the relevant tab open for handoffs. - **Claude Desktop:** do not assume browser control is available just because DistroChef is connected. If the session has no browser tool, add a browser-control MCP server before advertising `browser: true`. - **CLI agents or other LLMs:** connect a browser-control MCP server such as Playwright MCP. Playwright MCP is headed by default, so the user can see the browser and complete authentication or approval in it. Example Playwright MCP configuration: ```json { "mcpServers": { "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] } } } ``` For an agent that needs HTTP MCP transport, start Playwright MCP separately and connect to its local endpoint: ```bash npx @playwright/mcp@latest --port 8931 ``` ```json { "mcpServers": { "playwright": { "url": "http://localhost:8931/mcp" } } } ``` If the agent has no browser-control tool or MCP client at all, it can still analyze projects and prepare work, but it must request a handoff for browser-dependent steps. ## Safety boundaries - Never ask for or expose passwords, session cookies, recovery codes, or other secrets. - Keep the user's browser session available for sign-in. Do not bypass CAPTCHA or MFA. - Pause and request a handoff before account creation, payment, or any external submission or publication. - Do not claim success from a click alone; record the required receipt or public verification. - Use an idempotency key for retryable write operations. ## Prompt guide Use these prompts after DistroChef is connected. Replace example URLs and IDs with the user's values. Choose the narrowest prompt that fits the request: discovery prompts only read, while run prompts may begin work but still stop at every human-control boundary. ### Find opportunities **Use when:** the user wants a distribution assessment and has not yet asked to make changes or start execution. **What it does:** analyzes the supplied product, then returns DistroChef's ranked opportunities. It does not create a project or start a Run unless the user separately authorizes that. ```text Use DistroChef to analyze https://example.com and show me the ranked distribution opportunities. ``` ### Add and assess a new product **Use when:** the user explicitly wants a product added to their DistroChef account and assessed. **What it does:** creates the project, refreshes its facts, and returns the highest-priority opportunities. The explicit “do not start a run” keeps this to setup and discovery. ```text Use DistroChef to add https://example.com as a project, analyze it, and show the three highest-priority opportunities. Do not start a run. ``` ### Explain an opportunity before acting **Use when:** the user is deciding whether an opportunity is worth pursuing, or needs to know the tools, information, and approvals it will require. **What it does:** reads the opportunity and describes its requirements and blockers. It does not start execution. ```text Use DistroChef to inspect opportunity #123 for project #45. Explain the execution requirements and blockers, then wait for my approval before starting a run. ``` ### Start an approved opportunity **Use when:** the user has selected an opportunity and explicitly wants the agent to begin preparation or execution. **What it does:** starts a Run and performs only the steps DistroChef makes actionable. It must still pause for logins, CAPTCHA or MFA, account creation, payment, submission, or publication. ```text Use DistroChef to start opportunity #123 for project #45. Work one step at a time, report evidence after each step, and pause before any login, CAPTCHA, MFA, account creation, payment, submission, or publication. ``` ### Resume a run **Use when:** a prior run already exists, especially after a handoff, a pause, or a failed step. **What it does:** retrieves the Run state, takes the next eligible step, and preserves the same approval limits. It does not assume an earlier approval applies to a new external action. ```text Use DistroChef to continue run #789. Work one step at a time, report concrete evidence after each step, and pause for any login, CAPTCHA, payment, account creation, submission, or publication. ``` ### Use a browser-backed runtime **Use when:** the selected opportunity requires a browser and the user can access the same browser session. **What it does:** asks the agent to verify that it has a real browser capability before reporting it to DistroChef. Use this with the ChatGPT desktop browser, a configured Claude Desktop browser MCP server, or Playwright MCP. ```text Use DistroChef with the browser capability currently available in this session. Before claiming a browser step, confirm that I can access the same browser for authentication and approval. ``` ### Report a result without continuing **Use when:** the user wants a status update or the agent needs to record evidence after manually completing a step. **What it does:** inspects the Run and records only the evidence the user provides. It does not move on to another step. ```text Use DistroChef to inspect run #789 and tell me exactly what evidence is needed for the current step. Do not continue the run. ```