- Reads changes nothing.
- Changes runs when the app calls it, like a click in the dashboard.
- Asks first returns a preview and changes nothing until you agree. Asks first when needed does so only in the cases listed in Changes and limits.
Account and teams
| Tool | Access | What it does |
|---|---|---|
get_account | Reads | Your account, the team the call acts in, the plan and its features |
get_usage | Reads | Every meter of the plan: used, limit, what is left and when it resets |
list_teams | Reads | Your teams, your role in each and whether MCP works there |
select_team | Changes | Makes a team the default for this connection |
Filters
| Tool | Access | What it does |
|---|---|---|
list_filters | Reads | Your filters with status, visibility, AI qualifier settings and the plan’s filter quota |
get_filter | Reads | One filter’s criteria and its AI qualifier |
get_filter_reference_data | Reads | The values filter criteria accept: sites, categories, countries, regions and languages |
get_filter_jobs | Reads | Jobs that match a filter now, newest first, with the AI verdict on each |
explain_job_in_filter | Reads | Why a job is or is not in a filter |
list_hidden_jobs | Reads | Jobs you hid from a filter |
preview_filter_changes | Reads | What a criteria change would match over 30 days, before you save it |
create_filter | Changes | Creates a filter |
update_filter | Changes | Changes a filter’s criteria and name |
duplicate_filter | Changes | Copies a filter with its criteria and AI qualifier |
set_filter_status | Changes | Activates, pauses or deactivates a filter |
set_filter_list_settings | Changes | Renames a filter and sets its position, tags and who on the team sees it |
delete_filter | Asks first | Deletes a filter |
hide_job | Changes | Hides a job in one filter or in every filter |
unhide_job | Changes | Shows a hidden job again |
suggest_filter_keywords | Reads | Keywords and negative keywords from your Upwork profile, written by AI |
AI qualifier
| Tool | Access | What it does |
|---|---|---|
get_filter_qualifier | Reads | A filter’s AI qualifier: prompt, model, mode and what else shares it |
configure_filter_qualifier | Changes | Turns the qualifier on or off, sets manual or automatic mode, hides disqualified jobs |
save_filter_qualifier_prompt | Asks first when needed | Saves the qualifier prompt, model and name |
qualify_jobs | Changes | Runs the qualifier on up to 10 jobs and saves the verdicts |
replay_qualifier_prompt | Changes | Tries a new prompt on past jobs without saving it and shows which verdicts flip |
list_qualifier_verdicts | Reads | The qualifier’s verdicts on a filter’s jobs, with totals |
get_ai_qualifier_credits | Reads | AI qualifier credits left and what one job costs |
Proposals and results
| Tool | Access | What it does |
|---|---|---|
list_upwork_profiles | Reads | Your Upwork freelancer and agency profiles and profile groups |
search_proposals | Reads | Proposals sent from a profile, with outcome, connects, boost and template |
get_proposal | Reads | One proposal: the cover letter, answers, outcome and job |
get_proposal_funnel | Reads | The proposals dashboard funnel of one profile |
get_proposal_job_activity | Reads | Applicants, interviews and hires on the job behind a proposal |
diagnose_reply_rate | Reads | Why your proposals get few replies, with the causes ranked by replies lost |
get_job_competition | Reads | Competition on a job you bid on, next to its niche |
Market Insights
| Tool | Access | What it does |
|---|---|---|
get_market_insights | Reads | Upwork market analytics for a period, with how your team compares |
list_market_insights_scopes | Reads | The filters, categories and ranges Market Insights can use |
get_niche_difficulty | Reads | How hard a niche is to win, from 0 to 100 |
get_keyword_opportunities | Reads | Keywords freelancers in your niche track, with demand and rates |
list_market_insights_searches | Reads | Your saved Market Insights searches |
save_market_insights_search | Changes | Saves a search |
rename_market_insights_search | Changes | Renames a saved search |
delete_market_insights_search | Changes | Deletes a saved search |
Proposal templates
| Tool | Access | What it does |
|---|---|---|
list_proposal_templates | Reads | Your team’s proposal templates and what uses them |
get_proposal_template | Reads | One template: instructions, cover letters, answers, pricing and sender |
get_template_history | Reads | A template’s edit history and the letters it wrote |
get_template_stats | Reads | Sent, views, replies and cost per reply for each template and A/B variant |
get_template_report | Reads | How one template performs, with sample letters per outcome |
list_proposal_senders | Reads | The freelancer profiles and agencies a template can send as |
create_proposal_template | Changes | Creates a template |
update_proposal_template | Asks first when needed | Changes a template |
duplicate_proposal_template | Changes | Copies a template |
rename_proposal_template | Changes | Renames a template |
set_template_visibility | Changes | Sets who on the team sees a template |
assign_template_to_filter | Changes | Makes a template the one your job cards in a filter use |
unassign_template_from_filter | Changes | Removes your template from a filter’s job cards |
delete_proposal_template | Asks first | Deletes a template |
preview_proposal | Changes | Writes a cover letter for a real job with a template, without sending it |
generate_template_instructions | Reads | Drafts AI instructions from your Upwork profile |
Auto-bidding
| Tool | Access | What it does |
|---|---|---|
autobidding_status | Reads | Whether your team can auto-bid, and proposals used and left this period |
autobidding_list_setups | Reads | Your setups in priority order, with what stops each from bidding |
autobidding_get_setup | Reads | One setup in full |
autobidding_options | Reads | The filters, templates, qualifiers and value ranges a setup can use |
autobidding_list_jobs | Reads | Jobs the auto-bidder picked up, with status, bid and connects spent |
autobidding_get_job | Reads | One job with its cover letter and answers |
autobidding_analytics | Reads | Auto-bidding results over a date range |
autobidding_get_settings | Reads | Team-wide settings: room invites and auto top-up of connects |
autobidding_schedule_job | Asks first | Queues a job for a setup to bid on |
autobidding_approve_job | Asks first | Approves a job waiting for review |
autobidding_skip_job | Changes | Skips a job so no proposal goes out |
autobidding_override_disqualification | Asks first | Bids a job the AI qualifier disqualified |
autobidding_update_job_proposal | Changes | Changes the bid, boost, cover letter or answers of a job not sent yet |
autobidding_release_job | Asks first | Sends a skipped or waiting job to the bidder now |
autobidding_create_setup | Changes | Creates a setup. It starts paused |
autobidding_update_setup | Asks first when needed | Changes a setup |
autobidding_activate_setup | Asks first | Switches a setup on |
autobidding_pause_setup | Asks first | Pauses a setup and skips its queued jobs |
autobidding_archive_setup | Changes | Archives a setup. Its results stay in analytics |
autobidding_delete_setup | Asks first | Deletes a setup |
autobidding_reorder_setups | Changes | Sets which setup bids first when two match the same job |
autobidding_stop_ab_test | Asks first | Ends a setup’s A/B test and keeps one template |
autobidding_update_settings | Asks first when needed | Changes room invites and auto top-up |
autobidding_run_topup | Asks first | Buys connects for the agency now |
autobidding_set_over_limit | Asks first when needed | Lets auto-bidding go past the plan’s monthly limit, billed per proposal |