{"service":"pre.dev MCP server","version":"1.0.0","protocolVersions":["2024-11-05","2025-03-26","2025-06-18","2025-11-25"],"transports":{"streamableHttp":{"endpoint":"/mcp","methods":["POST"]},"sse":{"stream":"/mcp/sse","messages":"/mcp/messages","deprecated":true}},"description":"Plan software before it is built (fast_spec, deep_spec) and run tasks in a real browser (browser_agent). Use the tools when they help with a request; most coding requests do not need them. The memory tools (free) carry what the user told pre.dev to remember: call memory_list before you answer or write anything, code included, and follow it, and save lasting preferences the user states with memory_remember.","authentication":{"oauth":"MCP clients with browser sign-in connect without a key.","apiKey":"Send the pre.dev API key as Authorization: Bearer <key> or x-api-key: <key>.","keyPage":"https://pre.dev/projects/integrations"},"tools":[{"name":"fast_spec","title":"Fast Spec Generation","description":"Plan an app or feature before building it. Returns a spec with the architecture, tech stack, milestones, and user stories with acceptance criteria, as a Markdown download plus a link to the project on pre.dev. Use it when starting a new app or scoping a sizable feature; skip it for small edits or questions about existing code. If the spec is still generating when the call returns, poll get_spec with the specId it gives. Credits vary with the request, usually up to about 10 credits; get_spec reports creditsUsed."},{"name":"deep_spec","title":"Deep Spec Generation","description":"A more detailed plan than fast_spec: the same architecture, tech stack, milestones and user stories, plus subtasks under each story. Use it for a new product, a large feature, or work that several people or agents will split up. Takes longer than fast_spec. If the spec is still generating when the call returns, poll get_spec with the specId it gives. Credits vary with the request, usually up to about 50 credits; get_spec reports creditsUsed."},{"name":"get_spec","title":"Get Spec Status","description":"Get the status and result of a spec from fast_spec or deep_spec by its specId: the Markdown spec, its download URL, the project link on pre.dev, and creditsUsed. Poll it until status is completed or failed. No credits. Once the spec is completed it also returns `plan`, the project's verified plan (features with their status from pre.dev's checks, progress, Ready to launch, where things live in the code); get_plan returns the same plan for any project you own."},{"name":"list_specs","title":"List Specs","description":"List the specs you have generated, newest first, with pagination. Filter by endpoint (fast_spec or deep_spec) or status (pending, processing, completed, failed). Returns each spec's specId, input, status and links; pass a specId to get_spec for the full result. No credits."},{"name":"get_plan","title":"Get Plan","description":"Get the verified plan of a project you own, by specId (from fast_spec or deep_spec) or projectId: what the app is for, each feature's status from pre.dev's checks (works, built but not checked, changed since its last check, not working, planned, removed), the progress number (built, proven working, total), what is left, whether it is ready to launch with plain fixes, where screens, API routes and stored data live in the code (file:line), and what the last change did. Returns JSON and a Markdown summary to read before working on the project. No credits."},{"name":"browser_agent","title":"Browser Agent","description":"Run tasks in a real browser: read data from pages, fill forms, and click through multi-step flows. Always pass an array of tasks, even for one. Each task needs a reachable HTTP(S) URL and an instruction, a non-empty JSON Schema for the output, or both; input values are optional. Set concurrency to run tasks in parallel. Returns each task's status, extracted data and credits used. In sync mode, MCP clients that support notifications see live events (navigation, plan, action, screenshot, validation). Set async=true to get the batch ID at once, then poll browser_agent_get(id, includeEvents=true). Tasks start at 0.1 credits; longer tasks cost more."},{"name":"browser_agent_list","title":"List Browser Agents","description":"List your earlier browser runs, newest first, with each batch's status, task counts and credits used. Use it to find a running batch or review past results. No credits."},{"name":"browser_agent_get","title":"Get Browser Agent","description":"Get one browser run by batch ID: each task's status, extracted data and credits used. Set includeEvents=true to add the step-by-step timeline (pages visited, plans, actions, screenshots, validations) so you can check what the agent did and saw; it can be large. No credits."},{"name":"memory_list","title":"List Memory","description":"What pre.dev remembers about this user: their name and how they like to work across all their projects, and, with project (a pre.dev project name or id, usually named like the folder you are in), that project's facts and rules and their team's. Call it before you answer or write anything, code, commit messages and tests included, and follow what it returns. Without project it also lists the projects that have memory. Plain text lines, each with an [id]. Free, no credits."},{"name":"memory_search","title":"Search Memory","description":"Search everything this user's memory holds (their preferences, their projects' memory and their team's rules) by keywords. Returns matching entries as lines with an [id] and where each one lives. Free, no credits."},{"name":"memory_remember","title":"Remember","description":"Save one lasting preference or fact the user states (for example \"always use pnpm\" or \"answer in short bullets\"), so pre.dev and their other agents follow it. It goes to the user's memory for all their projects; set project (a pre.dev project name or id) to save it to that project only. One short instruction-style sentence, never passwords or keys. Free, no credits."},{"name":"memory_forget","title":"Forget","description":"Remove one entry from memory by its [id] (from memory_list or memory_search) when the user says it no longer holds. It is archived, so the user can undo it in pre.dev. Free, no credits."},{"name":"browser_task","title":"Browser Agent (deprecated alias of browser_agent)","description":"Deprecated: use browser_agent, which takes the same inputs and returns the same results. This alias will be removed in a future version.","deprecated":true,"replacedBy":"browser_agent"},{"name":"browser_task_list","title":"List Browser Agents (deprecated alias of browser_agent_list)","description":"Deprecated: use browser_agent_list, which takes the same inputs and returns the same results. This alias will be removed in a future version.","deprecated":true,"replacedBy":"browser_agent_list"},{"name":"browser_task_get","title":"Get Browser Agent (deprecated alias of browser_agent_get)","description":"Deprecated: use browser_agent_get, which takes the same inputs and returns the same results. This alias will be removed in a future version.","deprecated":true,"replacedBy":"browser_agent_get"}],"documentation":"https://docs.pre.dev/architect-agent/mcp-setup","toolReference":"https://docs.pre.dev/mcp/tools","systemInstructions":"\n# pre.dev MCP server\n\nTwo kinds of tools: spec tools that plan software before it is built, and browser tools that run tasks on live websites. Use them when they help with the user's request. Most coding requests do not need them.\n\nMemory tools carry what the user told pre.dev to remember: their name, how they like to work, and each project's facts and conventions. Call memory_list before you answer or write anything, code, commit messages and tests included, with project set to the pre.dev project named like the folder you are in, and follow what it returns. Save lasting preferences the user states with memory_remember.\n\n## Spec tools\n\n- fast_spec: a plan for a new app or feature: architecture, tech stack, milestones, and user stories with acceptance criteria. Good for early planning and straightforward features. Cost: usually up to about 10 credits.\n- deep_spec: the same plan with subtasks under each story. Good for a new product, a large feature, or work that several people or agents will split up. Takes longer than fast_spec. Cost: usually up to about 50 credits.\n- get_spec: the status and result of one spec by specId: the Markdown spec, its download URL, the project link on pre.dev and creditsUsed, and once it is completed, its project's verified plan (`plan`). No credits.\n- list_specs: earlier specs, newest first, filterable by endpoint and status. No credits.\n- get_plan: the verified plan of a project you own, by specId or projectId: what it is for, each feature's status from pre.dev's checks, progress, what is left, whether it is ready to launch, and where things live in the code. JSON plus a Markdown summary. No credits.\n\nA spec helps when you are starting a new app, scoping a large feature, or agreeing on architecture before writing code. Skip it for small fixes, one-file changes and questions about existing code.\n\nHow to call fast_spec or deep_spec:\n1. executiveSummary: what to build, in the user's words, with the goals and constraints they gave.\n2. existingContext (optional, plain text): for work in an existing codebase, the stack, the modules involved and the conventions to follow. To build on an earlier spec, paste its text, or the parts that matter, here. There is no spec id parameter.\n3. docURLs (optional): documentation the build will rely on, such as an API reference. The result can include a downloadable archive of each site's docs.\n\nThe result links to the spec in Markdown and to the project on pre.dev. If the spec is still generating when the call returns, the result gives a specId: call get_spec with it until status is completed or failed.\n\nCredits: spec generation is billed per model call, so the charge depends on the request. get_spec reports creditsUsed, the credits recorded for the spec's project so far. When the workspace needs a plan or more credits, the tool result says so and links to the page that fixes it.\n\n## Verified plans\n\nEvery project a spec creates gets a verified plan right away: what the app is for, its features, and for each one what is built, proven working, changed or left. get_spec returns it as `plan` once the spec is completed, and get_plan returns it for any project you own, by specId or projectId, with a Markdown summary.\n\n- A feature reads \"works\" only when a pre.dev check of that feature passed at the current code. \"Built, not checked\" means the code is there but nothing has proven it; \"changed since its last check\" means its files changed after the check passed; \"not working\" means its check fails now.\n- Progress counts confirmed features: built, proven working, and the total. Suggested features are listed but not counted until the owner confirms them.\n- Ready to launch lists what is left before the app can go live (keys, saved data, sign-in, sample data, publishing), each with a plain fix. Keys appear by name only, never their values.\n- \"Where things live in the code\" lists screens, API routes and stored data with their file and line, from the code version the plan names.\n\nBefore changing a project built with pre.dev, read its plan with get_plan: it says what is done, what works and where to look, so you do not have to re-derive it.\n\n## Browser tools\n\n- browser_agent: runs one or more tasks in a real browser. Each task needs a URL and an instruction, a JSON Schema for the output, or both. Returns each task's status, extracted data and credits used. Tasks start at 0.1 credits; longer tasks cost more.\n- browser_agent_list: earlier browser runs, newest first. No credits.\n- browser_agent_get: one run by id, optionally with its step-by-step event timeline. No credits.\n- browser_task, browser_task_list, browser_task_get: deprecated aliases of the three tools above, with the same inputs and results. Use the browser_agent names.\n\nThese run in pre.dev's cloud browsers on public pages. To also work in the user's own Chrome (their profiles and logged-in accounts), the user can switch to the local pre.dev MCP, which has every tool here plus Chrome tools: they run `npx -y @predotdev/mcp setup` in a terminal (https://docs.pre.dev/browser-agents/local).\n\n## Memory tools\n\n- memory_list: what pre.dev remembers about the user: how they like to work across their projects, and with project (a pre.dev project name or id) that project's rules and their team's. Without project it also lists the projects that have memory.\n- memory_search: keyword search across everything the user's memory holds.\n- memory_remember: saves one lasting preference the user states, to their memory for all their projects, or to one project with project.\n- memory_forget: removes one entry by its id (archived, so the user can undo it in pre.dev).\n\nFree on every plan, no credits. Results are plain text lines, each entry with its id.\n\n## Authentication\n\nMCP clients with browser sign-in connect without a key. Otherwise send your pre.dev API key as `Authorization: Bearer <key>` or `x-api-key: <key>`. Copy it from the Integrations page: https://pre.dev/projects/integrations (a team's key is on that team's Integrations page).\n\nTool reference: https://docs.pre.dev/mcp/tools\n"}