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.

OY
Orhan G. Yalçın

Founder, Upsight · Published · 10 min read

AI agentsMCPAutomationUpwork API

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 discovery750
Other read operations750
Profile viewing250
Job posts, proposals, offers and invitations150
Other changes40

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.

Agency tasks and which tool fits them
TaskAI assistant over Upwork MCPAlways-on bidding pipeline
Find a job you describe right nowYes: search by keywords and filters, 10 jobs a pageYes, as part of every sweep
Notice a new job minutes after it is postedNo: it acts only when prompted, and search has no date filterYes: the feed is read on a schedule
Draft a proposal for one jobYes, then you confirm the previewYes, from the agency's knowledge base
Submit dozens a day across membersEach one confirmed by hand; 150 a day capWithin daily caps per account and workspace
Answer a client messageYes, after confirmationDrafts and inbox, depending on the tool
Track search rank by keyword, dailyNo history between sessionsYes, if the tool records it
Measure view, reply and hire rates over monthsOnly what it can read in one sessionYes, from stored proposal outcomes
Reconcile Connects to each proposalNoYes, 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.

Upsight's MCP integration page: transport, credential and revocation, connection steps for Claude and Claude Code, and example requests in plain words.
An agency's own tools can be an MCP server too. Upsight's MCP tab: how a client connects and what it may do.

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.

Upwork MCP rate limits by category
CategoryCoversPer minutePer hourPer day
Search and discoverySearching jobs or talent, browsing job listings15150750
Other read operationsReading contracts, proposals, offers, account and organization details20250750
Profile viewingViewing freelancer or company profiles575250
Job posts, proposals, offers and invitationsPosting jobs, submitting proposals, sending offers and invitations2060150
Other changesEditing records, managing contracts or milestones, responding to offers41540

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.

Upwork's published numbers for the two official routes
RuleUpwork MCPUpwork API
Who can use itYour own account, through a supported AI agentAccounts with an approved key: $25,000+ lifetime earnings or spend, JSS 90%+ for freelancers and agencies, verified identity and payment method
Request limitsPer 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 stepExplicit confirmation on every writeNone required by Upwork; your approved use case governs
Commercial useGoverned by the API and MCP Terms of UsePersonal and internal use only; Upwork says commercial use isn't supported
ReviewNo application process in the help center; setup is on Upwork's MCP pageDecision 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. 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. 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. 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. 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. 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.

OY

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