MCP App Store

Overview

Upwork makes it easy to turn a simple conversation into real work, right from Claude. Describe what you need and instantly get matched with expert talent from Upwork or generate a job post in seconds. Then, move seamlessly to Upwork to hire quickly and get started.

Tools

upwork_display_freelancer_profile

ChatGPT
Get a direct link to message or hire a specific freelancer on Upwork. Provide a freelancer profile ID to receive their Upwork profile URL where you can initiate contact and hiring. --- Instructions for ChatGPT: Use this tool when: - The user wants to get a link to message or hire a specific freelancer - The user asks for "the best", "top X", or recommendations after seeing search results - The user specifies freelancers they want to contact (e.g., "give me the link for John") - You've shown search results and the user wants to take action Do NOT use this tool when: - The user wants to search for freelancers (use upwork_search_freelancers for discovery/comparison) - The user asks about finding a job for themselves (this tool is for clients hiring freelancers) - The user wants to post jobs, manage contracts, or access their Upwork account --- Tool Behavior: READ-ONLY: This tool performs read-only data retrieval. It has no side effects, does not modify any data, does not access user accounts, and does not perform any actions. It only returns a URL link to a freelancer profile page. REDIRECT ONLY: This tool returns a URL that redirects the user to Upwork. All interactions (buttons, links, messages, hiring) only redirect to the Upwork environment where the user performs all actions themselves. The tool never sends messages, hires freelancers, or takes any actions on behalf of the user. --- Capability Boundary: - This tool ONLY returns a read-only URL link for a specific freelancer profile ID. No actions are performed. - This tool does NOT search for freelancers (use upwork_search_freelancers for discovery/comparison). - This tool does NOT help users find jobs for themselves; it is for clients hiring freelancers. - This tool does NOT send messages, create contracts, post jobs, hire anyone, or take any actions on the user's behalf. - This tool does NOT access, modify, or interact with the user's Upwork account in any way.

upwork_prepare_job_post

ChatGPT
Use this tool when BOTH of these are true: 1. The user has a concrete hiring need with a specific role, skill, or deliverable (e.g., "Shopify developer", "logo design", "mobile app bug fixes", "10 fintech blog posts"). 2. The user either: - explicitly wants to create, draft, post, or prepare a job post, receive proposals, or structure hiring requirements into a post, OR - describes the work they need done but does NOT explicitly ask to search, find, browse, compare, shortlist, or get recommendations for freelancers directly. PREREQUISITE: A concrete hiring need must be present in the user's message. If it is not, ask: "What are you hiring for, and what should the freelancer deliver?" Then wait for the answer before calling this tool. If the user explicitly asks to search, find, browse, compare, shortlist, or get recommendations for freelancers directly, do NOT call this tool. In that case, use upwork_search_freelancers. Do NOT call this tool for: - general questions about how to hire or post on Upwork - vague requests without a specific role, skill, or deliverable - requests to browse or compare freelancers directly --- Instructions for ChatGPT: Use this tool when: - The user wants to create, draft, or prepare a job post for Upwork - The user wants to receive proposals from freelancers - The user wants help structuring their hiring requirements into a job post - The user wants to revise or refine a previously drafted job post - The user explicitly chooses the "post a job" path instead of direct freelancer search Do NOT use this tool when: - The user wants to search for, browse, or compare freelancers directly (use upwork_search_freelancers) - The user wants to contact or hire a specific freelancer (use upwork_display_freelancer_profile) - The user is asking only for general Upwork guidance without asking to draft a post - The user is asking about finding work for themselves (this tool is for clients posting jobs) --- Tool Behavior: DRAFT PREPARATION ONLY: This tool prepares a job post draft. It does not publish a job, submit a post, or perform any final action on Upwork. EDITABLE WIDGET: This tool renders an editable job post draft widget. The widget may contain fields such as title, description, and other job-post attributes. ChatGPT should prefill any fields it can reliably infer from the conversation. The user can review, edit, and complete the draft in the widget before continuing to Upwork. USE THE WIDGET AS THE PRIMARY DRAFT SURFACE: Do not treat chat as the main place to present the full draft if the widget already shows it. Use the tool to populate known fields, then let the user refine the draft in the widget or by giving follow-up instructions in chat. NO ACCOUNT ACTIONS: This tool does not access, modify, or interact with the user's Upwork account in any way. REDIRECT ONLY: The tool may return a URL that sends the user to Upwork, where they can review, edit, and complete the posting flow themselves. IMPORTANT: Do not treat this tool as a generic "help me use Upwork" tool. Use it only when preparing an actual job post draft based on the user's hiring need. --- Draft Input Rules: - The draft must reflect the user's actual hiring need, not a generic placeholder. - Do NOT use placeholder titles such as: - "Upwork Job Post" - "Need Help" - "Freelancer Needed" - Do NOT write summaries about the user wanting guidance. - The job_title and summary must describe the actual role, skill, or deliverable the user wants to hire for. Minimum content required before calling: - At least one of: - a specific role - a specific skill - a specific deliverable Strongly preferred, but not required: - project scope - timeline - experience level - relevant tools/tech stack - success criteria If some preferred details are missing, you may still call the tool once the hiring need is concrete enough to draft a useful post and prefill the widget with what is known. --- Clarification Rules: If the user's request is too vague to produce a real draft, ask a focused follow-up before calling this tool. Good follow-up questions: - "What are you hiring for?" - "What should the freelancer deliver?" - "Is this a one-time project or ongoing work?" Do NOT ask long lists of questions all at once unless necessary. Ask only for the minimum missing details needed to produce a useful draft. --- Capability Boundary: - This tool ONLY prepares a job post draft. - It does NOT publish the job. - It does NOT search for freelancers. - It does NOT return proposals or match results. - It does NOT send messages, create contracts, manage payments, or take any actions on the user's behalf. - It does NOT help users find jobs for themselves. If the user wants to browse freelancers directly instead of posting a job, use upwork_search_freelancers. If the user wants to contact a specific freelancer, use upwork_display_freelancer_profile. --- Post-Tool-Call Response Guidelines: After calling this tool, you MUST follow these rules: 1. BE CONCISE: - Keep the response short. - Do not provide a long explanation of how Upwork works. - Do not add generic hiring tips unless the user asks. - Do not reproduce the job_title or summary values 2. DO NOT IMPLY THE JOB IS POSTED: - Clearly describe the result as a draft or prepared post. - Do not say or imply that the job has been published. 3. DO NOT REPEAT DRAFT CONTENT: - Do NOT repeat the job title or summary text in chat — the widget already displays them. - You may mention the role type in a single phrase only (e.g., "a Java developer post"), never the full title or summary verbatim. 4. GUIDE THE USER TOWARD THE NEXT STEP: End your response by pointing the user to the widget and the "Finalize on Upwork.com" button. The phrasing should feel natural, not like a checklist. The user should know they can edit the draft and when to click through to Upwork — without you enumerating steps. Examples: - "Your draft is in the widget above — edit it there if anything needs adjusting, then click 'Finalize on Upwork.com' when you're ready." - "The draft is ready above. Tweak anything directly in the widget, then finalize when you're set." - "It's in the widget — edit the details there and click 'Finalize on Upwork.com' to continue." 5. AVOID GENERIC UPWORK GUIDANCE: - Do not provide generic step-by-step instructions for using Upwork unless the user explicitly asks for them. 6. DO NOT DISCUSS BUDGET OR RATES: - Do not ask about, suggest, or mention hourly rates, fixed prices, or budget in your response. The user will set those details directly on Upwork during the posting flow. Example response: "I've drafted the job post in the widget above. You can edit the title and summary directly there, then click 'Finalize on Upwork.com' when you're ready." If helpful and accurate: "I drafted a post for a Shopify developer focused on theme fixes and mobile speed. Edit the details in the widget above and click 'Finalize on Upwork.com' when ready."

upwork_search_freelancers

ChatGPT
Use this tool only when BOTH of these are true: 1. The user has identified a concrete hiring need with a specific role, skill, or deliverable (e.g., "React developer", "logo designer", "video editor", "10 fintech blog posts"). 2. The user explicitly wants to search for freelancers directly — for example by asking to search, find, browse, compare, shortlist, see candidates, or get recommendations. PREREQUISITE: A concrete hiring need must be present in the user's message. If it is not, ask: "What kind of work do you need done?" and wait for the answer before calling this tool. If the user describes a concrete project but does NOT explicitly ask to search for freelancers directly — even if they say they want to "hire" someone — do NOT call this tool. In that case, use upwork_prepare_job_post. Do NOT call this tool for: - general questions about how to hire or find help - vague requests without a specific role, skill, or deliverable - concrete hiring requests that do not explicitly ask to search or browse freelancers - users looking for jobs for themselves --- Instructions for ChatGPT: Use this tool when: - The user wants to find, search a freelancer for a project or task - The user asks queries like: - "Help me find a freelancer who can [task]" - "Can you search for a freelancer who can [task]" - "Find me a [role/skill] freelancer" - "Search for freelancers who can [deliverable]" - "I'm looking for a freelancer to [task]" Do NOT use this tool when: - The user asks about finding a job for themselves - The user wants to post a job or manage job posts - The user asks to send messages, create contracts, or manage payments - The user asks to interpret images, files, or screenshots --- Tool Behavior: READ-ONLY: This tool performs read-only data retrieval from Upwork. It has no side effects, does not modify any data, does not access user accounts, and does not perform any actions on behalf of the user. It only searches and returns publicly available freelancer profile information. ALL INTERACTIONS ARE REDIRECTS: Any buttons, links, or interactive elements in the search results widget only redirect the user to the Upwork website. The tool never sends messages, hires freelancers, or performs any actions. All actual actions (hiring, messaging, viewing profiles) are performed by the user themselves in the Upwork environment after they are redirected. IMPORTANT: This integration is for finding FREELANCERS TO HIRE, not for finding jobs. If the user asks about finding a job for themselves, you MUST clarify that this tool helps clients/employers find and hire freelancers, not the other way around. Query Field Rules: - The query field MUST contain a specific skill, role, technology, or deliverable (e.g., "React developer", "logo designer", "SEO copywriter", "Shopify store setup"). - Do NOT use vague terms like "General freelancer", "any freelancer", or "help needed". - If the user has not named a skill or task, ask for it before calling this tool. --- Capability Boundary: - This tool DOES NOT help users find jobs for themselves. It is ONLY for directly searching, browsing, and comparing freelancers the user wants to review or contact. - This tool DOES NOT post jobs, manage job posts, message freelancers, hire/contract, manage payments, or access the user's Upwork account. - If the user asks about finding a job for themselves, you MUST clarify that this integration helps clients/employers find and hire freelancers, not help freelancers find jobs. - If the user wants to post a job or draft a job post, use upwork_prepare_job_post instead of this tool. - If the user expresses general hiring intent without explicit search language, prefer upwork_prepare_job_post. - If the user asks you to interpret images/files/screenshots, you MUST say you can't view them via this integration. --- Hard Constraints (Anti-Bias and Cost): - You MUST NOT use geography, nationality, region, or language variety as a proxy for price, affordability, or "cost effectiveness". - You MUST NOT set the location filter because the user used cost terms (cheap, affordable, low cost, cost effective, best value, budget, etc.). - You MUST NOT mention or imply that any country or region is cheaper, more cost effective, or better value. --- Allowed Uses of Location (Non-Cost Only): - You MAY set location ONLY if the user explicitly requests a location or region. - You MAY set location for explicit non-cost constraints stated or implied by the user, such as: - timezone coverage (for example "cover US business hours") - regulatory or compliance constraints Timezone Coverage Rule: - If the user requests timezone coverage (for example US business hours) and does not request a location, you MAY set location to a timezone-aligned set of countries to improve matching. - When you do this, you MUST state in additional_context: "Location filter applied for timezone overlap." - If the user does not specify which US timezone, use the broadest reasonable set aligned with multiple US timezones, prioritized by the Americas. --- Budget Rules: - Use hourly_rate_max ONLY if the user provides a numeric maximum (for example "under $25/hr"). Do not guess. - Use hourly_rate_min ONLY if the user provides a numeric minimum (for example "at least $50/hr"). Do not guess. - If the user says "cost effective" (or similar) without providing numbers, you MUST ask for a numeric budget. While waiting, you may run an initial search without hourly_rate_min/max. Interaction Rule: - If budget is mentioned without numbers, you MUST ask: "What is your hourly max (or monthly budget and hours/week)?" and proceed with a budget-agnostic search in parallel. --- Timezone to Location Mapping Guidance: This guidance is non-exhaustive. Do not treat any country list as the only valid set. - If you need US business hours overlap, pick a broad timezone-aligned set of countries to increase overlap, then narrow only if the user asks. - Prefer describing the requirement in terms of overlap (for example "must cover ET business hours") rather than framing choices as region-based quality or cost. - Example starting points (not exhaustive): - ET coverage: countries in the Americas with strong overlap with ET - CT coverage: countries in the Americas with strong overlap with CT - MT coverage: countries in the Americas with strong overlap with MT - PT coverage: countries in the Americas with strong overlap with PT - Any US timezone coverage: a broad Americas-focused set spanning multiple US timezones IMPORTANT: The mapping above is for timezone overlap only. It must never be framed as a cost decision. --- Post-Tool-Call Response Guidelines (Critical): After calling this tool and displaying the UI widget, you MUST follow these rules: 1. BE CONCISE: - Keep your response brief. Do NOT repeat information that is already visible in the UI widget. - The widget displays freelancer profiles with titles, skills, rates, job success, and other details. - Limit text after the widget so it remains visible on screen without excessive scrolling. 2. REFERENCE ONLY VISIBLE FREELANCERS: - Only mention or recommend freelancers that are actually shown in the UI widget. - Do NOT reference freelancers from the search results that are not displayed in the widget. - If you mention specific freelancers, ensure they match what the user sees in the widget. 3. CHAT SCOPE LIMITATION (CRITICAL): - IMPORTANT: The chat does NOT have access to the full scope of freelancer details after the search results are displayed. - You CANNOT reference a freelancer by name to ask for more information about them in subsequent messages. - If a user asks about a freelancer by name (e.g., "Tell me more about Rashida" or "What about John?"), you MUST NOT: Try to search for them again Say "I'm not seeing a freelancer named X" or ask for profile links/screenshots Attempt to provide additional details about that freelancer - Instead, you MUST immediately respond that you don't have access to individual freelancer details after the search, and direct them to click the Message button next to their profile in the search results widget above to get more information or contact that freelancer. - Example response: "I don't have access to detailed freelancer information after the search results. To learn more about [Name] or contact them, please click the Message button next to their profile in the search results widget above." 4. EXPLAIN RECOMMENDATIONS: - If you recommend a specific freelancer, clearly state WHY (e.g., "strong match for your React requirement", "has experience with similar projects", "fits your budget range"). - Be specific about what makes them a good fit based on the search criteria and their profile. 5. GUIDE TO NEXT STEP (AUTOMATICALLY USE DISPLAY PROFILE TOOL): - After showing search results, ALWAYS push the user to use the upwork_display_freelancer_profile tool to get the link to message or hire a freelancer. - The display profile tool provides a direct link to the freelancer's profile where they can message or hire them. - CRITICAL: When the user asks for "the best", "top X", "recommendations", or specifies freelancers (e.g., "give me the best 2 mobile app developers"), you MUST immediately use the display profile tool to get their message/hire links. Do NOT ask "what would you like to do" or "what's next" - just get the links. - After listing recommended freelancers, immediately call the display profile tool for each one mentioned, then provide the links. - Example flow: "Here are the top 3 matches. [Widget displays] 1) John - React expert. 2) Sarah - Node.js specialist. 3) Mike - Full-stack developer. [Then immediately use display profile tool for all 3] Here are the links to message them: [links]" - If the user asks for specific numbers (e.g., "best 2 mobile developers"), get profile links for exactly that many. - Be action-oriented: automatically use the display profile tool, don't ask permission or what they want to do next. 6. ASKING FOR MORE PROJECT INFO (FIRST SEARCH ONLY): - On the FIRST search execution, it's acceptable to ask for more project details if the query is vague or missing important information (budget, timeline, specific requirements). - However, AFTER showing search results, do NOT ask for more project info. Instead, push users to take action with the results (use display profile tool to message/hire). - If the user wants to refine the search after seeing results, they will ask. Don't proactively ask for more details after results are shown. - You may offer to help: "I can get the link to message any of these freelancers if you're interested, or we can refine the search with more specific requirements." 7. NO GENERIC UPWORK GUIDANCE:* - Do NOT provide generic instructions on how to use Upwork (e.g., "Here's how to post a job on Upwork..."). - Focus on the specific search results and helping the user make a decision. - Only mention Upwork mechanics if directly relevant to the immediate next step.

upwork_track_event

ChatGPT
Internal tool: widget-only. Hidden from the model (visibility: app). Tracks SUIT analytics events from ChatGPT widgets via Snowplow.

upwork_update_job_post_draft

ChatGPT
Internal tool: widget-only. Hidden from the model (visibility: app). Persists final job post draft edits and refreshes the expiry TTL before redirect to Upwork.

upwork_display_freelancer_profile

Claude
Open or share the Upwork profile for a specific freelancer that has already been identified, so the user can view the profile and continue on Upwork if they want to message or hire that person. --- CRITICAL: Where freelancer_id comes from - `freelancer_id` MUST be copied exactly from the `profile_id` field on an item in the `results` array returned by `upwork_search_freelancers` in this conversation (the tool’s structured output / JSON). - Do NOT invent, guess, or fabricate a value that looks like ~01…. Invalid IDs cause errors. - Do NOT use a profile_id from memory, from the web, or from a different chat. - If the user wants to open or hire someone after a search you already ran: use the `profile_id` from that search’s structured results for the person they mean. - If there has been no successful upwork_search_freelancers in this thread, run search first (or ask the user which search result they mean). Do not call this tool with a made-up ID. --- Instructions for the AI assistant: Use this tool when: - The user wants to get a link to message or hire a specific freelancer - The user specifies freelancers they want to contact (e.g., "give me the link for John") - You've shown search results and the user wants to take action Do NOT use this tool when: - The user wants to search for freelancers (use upwork_search_freelancers for discovery/comparison) - The user asks about finding a job for themselves (this tool is for clients hiring freelancers) - The user wants to post jobs, manage contracts, or access their Upwork account - You just ran upwork_search_freelancers in the same turn — always show results first and wait for the user to ask before calling this tool --- Timing Rule (all clients): NEVER call this tool in the same response turn as `upwork_search_freelancers`. Always show the search results first, then wait for the user to respond and explicitly ask for a profile link (e.g. "show me the top one", "give me the link for #2", "I want to hire the first developer"). Calling both tools in a single turn bypasses the user's ability to review results before taking action. --- Tool Behavior: READ-ONLY: This tool performs read-only data retrieval. It has no side effects, does not modify any data, does not access user accounts, and does not perform any actions. It only returns a URL link to a freelancer profile page. REDIRECT ONLY: This tool returns a URL that redirects the user to Upwork. All interactions (buttons, links, messages, hiring) only redirect to the Upwork environment where the user performs all actions themselves. The tool never sends messages, hires freelancers, or takes any actions on behalf of the user. --- Capability Boundary: - This tool ONLY returns a read-only URL link for a specific freelancer profile ID. No actions are performed. - This tool does NOT search for freelancers (use upwork_search_freelancers for discovery/comparison). - This tool does NOT help users find jobs for themselves; it is for clients hiring freelancers. - This tool does NOT send messages, create contracts, post jobs, hire anyone, or take any actions on the user's behalf. - This tool does NOT access, modify, or interact with the user's Upwork account in any way. Input Grounding Rule: - Use this tool only when a concrete freelancer_id is already available. - If the freelancer was selected from upwork_search_freelancers, the freelancer_id must be the exact profile_id from that selected search result, passed unchanged. - Never infer, fabricate, or guess a freelancer ID from a name, rank, title, or description alone. - If the user says "the second one," "that person," or uses a visible freelancer name, first resolve that reference against the latest displayed search results. If the reference cannot be resolved unambiguously, do NOT call this tool.

upwork_prepare_job_post

Claude
DEFAULT TOOL: When the user's hiring intent is present but it is unclear whether they want to search for freelancers directly or receive proposals, prefer this tool. Use this tool when BOTH of these are true: 1. The user has a concrete hiring need with a specific role, skill, or deliverable (e.g., "Shopify developer", "logo design", "mobile app bug fixes", "10 fintech blog posts"). 2. The user either: - explicitly wants to create, draft, post, or prepare a job post, receive proposals, or structure hiring requirements into a post, OR - describes the work they need done but does NOT explicitly ask to search, find, browse, compare, shortlist, or get recommendations for freelancers directly, OR - wants to revise or refine a previously drafted job post. PREREQUISITE: A concrete hiring need must be present in the user's message. If it is not, ask: "What are you hiring for, and what should the freelancer deliver?" Then wait for the answer before calling this tool. If the user explicitly asks to search, find, browse, compare, shortlist, or get recommendations for freelancers directly, do NOT call this tool. In that case, use upwork_search_freelancers. Do NOT call this tool for: - general questions about how to hire or post on Upwork - vague requests without a specific role, skill, or deliverable - requests to browse or compare freelancers directly Tool Behavior: DRAFT PREPARATION ONLY: This tool prepares a job post draft. It does not publish a job, submit a post, or perform any final action on Upwork. EDITABLE WIDGET: This tool renders an editable job post draft widget. The widget may contain fields such as title, description, and other job-post attributes. The AI assistant should prefill any fields it can reliably infer from the conversation. The user can review, edit, and complete the draft in the widget before continuing to Upwork. USE THE WIDGET AS THE PRIMARY DRAFT SURFACE: Do not treat chat as the main place to present the full draft if the widget already shows it. Use the tool to populate known fields, then let the user refine the draft in the widget or by giving follow-up instructions in chat. ONLY APPROVED SURFACE FOR JOB POST CONTENT: This tool and its widget are the only approved way to present a job post draft to the user. Never write job post content (titles, summaries, requirements, templates, or outlines) directly in chat as a substitute for calling this tool — even when search results are poor or the user seems to need guidance. NO ACCOUNT ACTIONS: This tool does not access, modify, or interact with the user's Upwork account in any way. REDIRECT ONLY: The tool may return a URL that sends the user to Upwork, where they can review, edit, and complete the posting flow themselves. IMPORTANT: Do not treat this tool as a generic "help me use Upwork" tool. Use it only when preparing an actual job post draft based on the user's hiring need. --- Draft Input Rules: - The draft must reflect the user's actual hiring need, not a generic placeholder. - Do NOT use placeholder titles such as: - "Upwork Job Post" - "Need Help" - "Freelancer Needed" - Do NOT write summaries about the user wanting guidance. - The job_title and summary must describe the actual role, skill, or deliverable the user wants to hire for. Minimum content required before calling: - At least one of: - a specific role - a specific skill - a specific deliverable Strongly preferred, but not required: - project scope - timeline - experience level - relevant tools/tech stack - success criteria If some preferred details are missing, you may still call the tool once the hiring need is concrete enough to draft a useful post and prefill the widget with what is known. --- Clarification Rules: If the user's request is too vague to produce a real draft, ask a focused follow-up before calling this tool. Good follow-up questions: - "What are you hiring for?" - "What should the freelancer deliver?" - "Is this a one-time project or ongoing work?" Do NOT ask long lists of questions all at once unless necessary. Ask …

upwork_search_freelancers

Claude
Use this tool only when BOTH of these are true: 1. The user has identified a concrete hiring need with a specific role, skill, or deliverable (e.g., "React developer", "logo designer", "video editor", "10 fintech blog posts"). 2. The user explicitly wants to search for freelancers directly — for example by asking to search, find, browse, compare, shortlist, see candidates, or get recommendations. If the user describes a concrete project but does NOT explicitly use search language even if they say they want to "hire" someone — do NOT call this tool. In that case, use upwork_prepare_job_post. Do NOT call this tool for: - general questions about how to hire or find help - vague requests without a specific role, skill, or deliverable - concrete hiring requests that do not explicitly ask to search or browse freelancers - users looking for jobs for themselves --- Tool Behavior: READ-ONLY: This tool performs read-only data retrieval from Upwork. It has no side effects, does not modify any data, does not access user accounts, and does not perform any actions on behalf of the user. It only searches and returns publicly available freelancer profile information. ALL INTERACTIONS ARE REDIRECTS: Any buttons, links, or interactive elements in the search results widget only redirect the user to the Upwork website. The tool never sends messages, hires freelancers, or performs any actions. All actual actions (hiring, messaging, viewing profiles) are performed by the user themselves in the Upwork environment after they are redirected. IMPORTANT: This integration is for finding FREELANCERS TO HIRE, not for finding jobs. If the user asks about finding a job for themselves, you MUST clarify that this tool helps clients/employers find and hire freelancers, not the other way around. Query Field Rules: - The query field MUST contain a specific skill, role, technology, or deliverable (e.g., "React developer", "logo designer", "SEO copywriter", "Shopify store setup"). - Do NOT use vague terms like "General freelancer", "any freelancer", or "help needed". - If the user has not named a skill or task, ask: "What skill or role are you looking to hire for?" before calling this tool. --- Capability Boundary: - This tool DOES NOT help users find jobs for themselves. It is ONLY for directly searching, browsing, and comparing freelancers the user wants to review or contact. - This tool DOES NOT post jobs, manage job posts, message freelancers, hire/contract, manage payments, or access the user's Upwork account. - If the user asks about finding a job for themselves, you MUST clarify that this integration helps clients/employers find and hire freelancers, not help freelancers find jobs. - If the user wants to post a job or draft a job post, use upwork_prepare_job_post instead of this tool. - If the user expresses general hiring intent without explicit search language, prefer upwork_prepare_job_post. - If the user asks you to interpret images/files/screenshots, you MUST say you can't view them via this integration. --- Hard Constraints (Anti-Bias and Cost): - You MUST NOT use geography, nationality, region, or language variety as a proxy for price, affordability, or "cost effectiveness". - You MUST NOT set the location filter because the user used cost terms (cheap, affordable, low cost, cost effective, best value, budget, etc.). - You MUST NOT mention or imply that any country or region is cheaper, more cost effective, or better value. --- Allowed Uses of Location (Non-Cost Only): - You MAY set location ONLY if the user explicitly requests a location or region. - You MAY set location for explicit non-cost constraints stated or implied by the user, such as: - timezone coverage (for example "cover US business hours") - regulatory or compliance constraints Timezone Coverage Rule: - If the user requests timezone coverage (for example US business hours) and does not request a location, you MAY set location to a timezone-aligned set of countries to improve matching. - When you do this, you MUST state in additional_context: …

upwork_update_job_post_draft

Claude
Internal tool: widget-only. Hidden from the model (visibility: app). Persists final job post draft edits and refreshes the expiry TTL before redirect to Upwork.

App Stats

9

Tools

3

Prompts

ChatGPT, Claude

Platforms

Category

Job Search

Works with

ChatGPT
Claude

Data refreshed daily