Guides
Upwork's MCP server and AI agents: what they can and cannot do for an agency
Upwork's MCP server lets an AI assistant search jobs, draft proposals and answer messages, with a confirmation on every write. It does not watch the feed or keep score. Here is where it fits.
Writes get the tightest daily caps: 150 for proposals and invitations, 40 for other changes.
Upwork MCP requests allowed per day, by category · requests per day
Hover or tab through the chart for exact values.
Source: Upwork, "Rate limits for Upwork MCP" (support article 56577997707923), read 2026-11-03.Upwork says it can change the limits at any time; the article shows the current values.
Show the data
| Per day | |
|---|---|
| Search and discovery | 750 |
| Other read operations | 750 |
| Profile viewing | 250 |
| Job posts, proposals, offers and invitations | 150 |
| Other changes | 40 |
Upwork's MCP server connects a supported AI agent to your Upwork account so it can search jobs, read proposals and contracts, send messages and draft proposals. Every write is shown as a preview that you must explicitly confirm, and proposals, job posts, offers and invitations share a limit of 20 a minute, 60 an hour and 150 a day. It acts only when you ask: it does not watch the job feed, track search rank or measure outcomes over time.
150
proposals, posts, offers and invites a day
per account, all plans
20
of those a minute
60 an hour
10
jobs per search page
no date filter
00:00
UTC daily reset
fixed windows
Upwork's MCP server is an official door for AI assistants
The Upwork MCP server is Upwork's own endpoint for the Model Context Protocol, the open standard AI assistants use to call outside services. Upwork's help article puts it simply: it "lets you securely connect supported AI agents to your Upwork account" (How to use Upwork with AI agents through MCP).
The help center does not name the supported agents or walk through setup; it sends you to Upwork's MCP page for both. What it does say is useful for an agency owner:
- an agent can help draft a proposal, and you review the details and explicitly confirm before it is submitted;
- MCP cannot create or edit Project Catalog projects;
- you should never give an agent your password, OAuth token, cookies or other login credentials;
- use must follow the Upwork API and MCP Terms of Use and Upwork's other policies.
For an agency, the important word is "assistant". The server gives one person's AI a set of tools on that person's account. It is not a service that runs on its own.
What an assistant can do through it
The live tool list is wide. Reading Upwork's MCP tool definitions on 3 November 2026, an assistant can search and open job posts, list your proposals and invitations, submit, edit or withdraw a proposal (with an optional Connects boost bid), accept or decline invitations, read contracts, offers and milestones, send messages and schedule meetings, and edit parts of a profile. Client-side tools cover posting jobs, reviewing proposals and sending offers.
| Task | AI assistant over Upwork MCP | Always-on bidding pipeline |
|---|---|---|
| Find a job you describe right now | Yes: search by keywords and filters, 10 jobs a page | Yes, as part of every sweep |
| Notice a new job minutes after it is posted | No: it acts only when prompted, and search has no date filter | Yes: the feed is read on a schedule |
| Draft a proposal for one job | Yes, then you confirm the preview | Yes, from the agency's knowledge base |
| Submit dozens a day across members | Each one confirmed by hand; 150 a day cap | Within daily caps per account and workspace |
| Answer a client message | Yes, after confirmation | Drafts and inbox, depending on the tool |
| Track search rank by keyword, daily | No history between sessions | Yes, if the tool records it |
| Measure view, reply and hire rates over months | Only what it can read in one session | Yes, from stored proposal outcomes |
| Reconcile Connects to each proposal | No | Yes, if the tool keeps a ledger |
Capabilities from Upwork's MCP help articles and live tool definitions, read 2026-11-03. The pipeline column describes the category of tool, not a particular product.

Every write waits for your confirmation
Upwork built the server so that nothing changes on your account without a person saying yes. A write, whether a proposal, an invitation, a milestone or a profile edit, returns a preview first, and the assistant may execute it only after you approve. Upwork's article says the same about proposals specifically: you review the proposal details and explicitly confirm the submission.
Connects work exactly as on the website. A proposal through MCP costs the same Connects, and a boost bid placed through it is the same auction. When a confirmation fails, Upwork's instruction is plain:
“Don't assume your proposal was submitted.”
Check your submitted proposals and your Connects balance before trying again, because a blind retry can file the same proposal twice. That is the right habit for any tool that submits for you.
The rate limits: 150 proposals a day, counted per account
Upwork sorts every MCP action into five categories, each with a per-minute, per-hour and per-day cap that apply together (Rate limits for Upwork MCP). Proposals share their bucket with job posts, offers and invitations.
| Category | Covers | Per minute | Per hour | Per day |
|---|---|---|---|---|
| Search and discovery | Searching jobs or talent, browsing job listings | 15 | 150 | 750 |
| Other read operations | Reading contracts, proposals, offers, account and organization details | 20 | 250 | 750 |
| Profile viewing | Viewing freelancer or company profiles | 5 | 75 | 250 |
| Job posts, proposals, offers and invitations | Posting jobs, submitting proposals, sending offers and invitations | 20 | 60 | 150 |
| Other changes | Editing records, managing contracts or milestones, responding to offers | 4 | 15 | 40 |
Minute and hour windows are fixed; the day starts at 00:00 UTC. Failed requests count; requests rejected for a limit do not. Same for every account regardless of plan, earnings, spend or Job Success Score.
Four details change how you read the table:
- One prompt can be many requests. Each action the assistant takes counts, and each page of search results is one request. At 10 jobs a page, the 750 daily search requests read at most 7,500 job listings, and talent searches draw on the same bucket.
- Failed requests count. An assistant that loops on an error burns the limit.
- Hitting a limit carries no penalty. Upwork rejects the request with an error and a retry time. Usage far above the limits, or attempts to get around them, can lead Upwork to throttle, suspend or terminate MCP access under Section 7 of the Upwork API and MCP Terms of Use.
- The binding constraint is you. 150 proposals a day is more than most single bidders send. With a confirmation on each one, the real limit is how many previews a person can read well.
What it cannot do: anything between prompts
An assistant does nothing until someone asks. Three jobs an agency needs done every day fall in that gap.
Watching the feed. Upwork's job search through MCP has no date filter, so "show me jobs posted in the last 15 minutes" is not a query it can run directly, and nobody is asking at 3 a.m. Timing matters: across 79,245 jobs Upsight measured in October 2026, the average job already had 20.8 proposals twelve hours after posting, and 42.2 in Web, Mobile & Software Dev (the full study). A proposal that arrives the next morning joins a long list.
Tracking rank. Where a member's profile sits in Upwork search for a keyword is only meaningful as a daily series, with who ranks above. An assistant can run a search, but it keeps no history, and profile viewing is capped at 5 a minute. See keyword rank and the rank checker.
Measuring outcomes. View, reply and hire rates need every proposal followed for days and stored, with the right denominator. An assistant can list your proposals in a session; it does not keep a proposal funnel across months, or tie each Connects charge and boost refund to the proposal that caused it.
The terms: MCP is not a licence to automate
MCP actions fall under the Upwork API and MCP Terms of Use, and Upwork's automation policy still applies: no bots, scrapers or extensions acting faster or more often than a person could, except through an approved API key within its approved scope. Spamming proposals stays off-limits whatever the route. A custom workflow that wants to run on its own belongs on the Upwork API, which has its own published rules.
| Rule | Upwork MCP | Upwork API |
|---|---|---|
| Who can use it | Your own account, through a supported AI agent | Accounts with an approved key: $25,000+ lifetime earnings or spend, JSS 90%+ for freelancers and agencies, verified identity and payment method |
| Request limits | Per category, per minute, hour and day (table above) | 10 requests a second per IP address; applicants confirm they stay within 40,000 a day |
| Human step | Explicit confirmation on every write | None required by Upwork; your approved use case governs |
| Commercial use | Governed by the API and MCP Terms of Use | Personal and internal use only; Upwork says commercial use isn't supported |
| Review | No application process in the help center; setup is on Upwork's MCP page | Decision by email in approximately one week; no sandbox |
Sources: 56577997707923, 55446516654611, "How to request an API key from Upwork" (115015857647), "What are the API requests limits?" (115015933428), all read 2026-11-03.
How an agency should combine the two
Use the assistant for judgement and the pipeline for vigilance. An agency that bids every day needs something watching the feed, scoring jobs against what it wins, drafting from its own material and keeping the books. A person with an assistant is better at the work around that: invitations, client messages, odd jobs, and reading drafts critically.
- 1
Let a pipeline own the feed
Sweep on a schedule, score every job against written criteria, skip most, and draft the rest from the agency's case studies. Keep a person approving drafts while a campaign is new.
- 2
Use the assistant for invitations and one-offs
An invited job or a referral deserves a proposal written in conversation. Draft it with the assistant, read the preview, confirm.
- 3
Keep messaging human-paced
Let the assistant summarise a thread and draft a reply; confirm each send. Upwork's tool notes that freelancers cannot send the first message on a proposal.
- 4
Keep one ledger
Whatever sends, reconcile Connects and outcomes per proposal and per member in one place, so MCP-sent and pipeline-sent proposals are compared on the same terms.
- 5
Watch the shared caps
If two people run assistants on one login, they share that login's limits. Give each person their own login and role; never share credentials.
Upsight is built for the pipeline half. Campaigns sweep the job feed every 15 minutes, score each job against criteria the agency writes, draft from its knowledge profile and best-matched case studies, pick the member whose profile fits, and send through Upwork's official API with the workspace's own key; any campaign can require a person to approve every proposal first. Upsight also runs its own MCP server and REST API with workspace keys, so the same assistant can read the ledger and steer campaigns. The comparison is on Upsight vs Upwork MCP.
Questions
Can an AI agent submit Upwork proposals for me?
Yes, through Upwork's MCP server, but not on its own. The agent prepares the proposal, Upwork returns a preview, and you must explicitly confirm before it is submitted. Proposals, job posts, offers and invitations share a cap of 20 a minute, 60 an hour and 150 a day.
What are the Upwork MCP rate limits?
Five categories, each capped per minute, hour and day: search 15, 150 and 750; other reads 20, 250 and 750; profile viewing 5, 75 and 250; proposals, posts, offers and invitations 20, 60 and 150; other changes 4, 15 and 40. The day resets at 00:00 UTC.
Is using Upwork's MCP server against the Terms of Service?
No. It is Upwork's official route, governed by the Upwork API and MCP Terms of Use. Upwork may throttle, suspend or terminate MCP access for usage far above the published limits or attempts to bypass them, and spamming proposals remains forbidden.
Can Upwork MCP watch for new jobs and alert me?
Not by itself. An assistant acts only when prompted, and MCP job search returns up to 10 jobs a page with no date filter. Catching jobs minutes after posting needs a scheduled feed reader or Upwork's own job alerts.
Orhan G. Yalçın
Founder of Upsight and of Vizio AI, an Upwork agency that bids with Upsight every day. Every number on this blog comes with its sample, window and method. More about how we measure.
Terms in this post: Upwork MCP server · Upwork API · Upwork API key · Upwork automation policy · AI-generated proposals · Proposal funnel
Read next
Agency playbooks
How to set up an Upwork agency for bidding at scale
An Upwork agency is one account, one paid plan, one shared Connects balance and a handful of roles. Get the roles, the member types and the hourly rule right before the first proposal goes out.
Agency playbooks
How to write an Upwork proposal that gets read: an agency playbook
A client decides whether to open your proposal from two lines and a profile card, often with 20 or 40 others waiting. Write those lines for the job, prove them once, and arrive early.
Data studies
How fast do Upwork jobs fill? We followed 99,667 jobs hour by hour
An Upwork job has more than half of its twelve-hour proposals within the first hour, and most clients who interview start early. Hires come slower than the crowd.