# Can an AI agent submit Upwork proposals? Yes, with your OK

Upwork's official MCP lets Claude, Codex or Cursor send a proposal for you. What it shows before sending, what stays on upwork.com, and what I got wrong.

Published 2026-10-02 by dave8172. Page: https://quirkyagents.com/wizard/blog/can-ai-agent-submit-upwork-proposals/

**Short answer: yes.** Upwork's official MCP, launched in August 2026, lets an AI agent submit a proposal on your behalf. It sends nothing until you approve a preview of that exact proposal.

I tested it today from Claude Code, on a real job, with my own account.

---

## What happens when you say "send"

1. **The agent checks for an invite or an earlier proposal** on that job. If the client already invited you, it accepts the invite instead of applying again.
2. **It builds a preview.** You see the cover letter, your rate, the Connects it will cost, what you will have left, and the portfolio items attached.
3. **It asks about extras:** files to attach, and whether to boost. A boost is a Connects bid for a top slot, and the preview shows the real competing bids, so you know the smallest amount that gets in.
4. **You approve, or change something.** The preview expires after 15 minutes, so a forgotten one never goes out later.
5. **It submits.** The proposal shows as Pending on Upwork, like any other.

One approval covers one proposal. There is no "apply to all ten".

## What stays on upwork.com

Per [Upwork's own help page](https://support.upwork.com/hc/en-us/articles/55446516654611-How-to-use-Upwork-with-AI-agents-through-MCP), offers, milestone payments and accepting a contract complete on upwork.com, outside the agent. The agent can bring you an offer; you take it on the site.

## The rules I follow

- **Approve every proposal yourself,** after reading the preview. Upwork's [API & MCP Terms](https://www.upwork.com/legal#apimcpterms) forbid scripting around its confirmation step.
- **Activity on your login is yours.** If your agent sends something wrong, it went from your account.
- **Sweep on demand.** Searching on a schedule counts as monitoring, which the Terms rule out.

## What I got wrong

I shipped **upsweep**, my open-source skill for finding Upwork jobs with an agent, with a rule that said *drafts only, never submit*. I had read the Terms as forbidding agent submission. They don't, and Upwork's own tooling is built around a submit-with-confirmation flow. The rule now reads: submit only after the user approves the preview, one proposal at a time. The fix is a [public commit](https://github.com/dave8172/upsweep/commit/ee6785f).

## Try it

```
npx skills add dave8172/upsweep
```

Say "upsweep" for jobs that pass your filters, "draft 2" for a proposal draft, and "send" when you want the preview. Details on the [project page](https://quirkyagents.com/wizard/projects/upsweep/).

upsweep is unofficial and not affiliated with Upwork.
