Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BID_RATE_MAXNoThe maximum hourly rate or bid amount allowed.
BID_RATE_MINNoThe minimum hourly rate or bid amount allowed.
UPWORK_EMAILYesYour Upwork account email address.
UPWORK_PASSWORDYesYour Upwork account password.
BID_RATE_DEFAULTNoThe default hourly rate or bid amount to use for proposals.
BROWSER_HEADLESSNoWhether to run the browser in headless mode. Set to 'false' for initial login or 2FA handling.true
FREELANCER_NICHENoYour freelancer niche keywords, separated by commas (e.g., n8n,workflow automation,make.com).
FREELANCER_TITLENoYour freelancer title (e.g., n8n Workflow Automation Expert).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
manual_loginA

Step 1: Open a visible browser window at Upwork login page. Returns immediately — you then login manually in the browser (solve CAPTCHA, enter credentials, handle 2FA). After login is complete, call save_session to persist the session.

save_sessionA

Step 2: After manually logging in via manual_login, call this to save the browser session. Checks if login was successful and saves cookies/storage for future headless use. Must be called AFTER you have fully logged in to Upwork in the browser window.

update_profileA

Update your Upwork freelancer profile fields. Can update: title, description/bio, hourly_rate, skills. Each field is optional — only provide what you want to change. Uses the edit buttons on your profile page (requires browser via connect-chrome.bat).

search_jobsB

Search for jobs on Upwork. Optimized for n8n workflow automation niche. Returns a list of jobs with title, budget, description snippet, required skills, client info, and proposal count. Use this to find potential clients and opportunities.

get_job_detailsA

Get full details of a specific Upwork job posting. Returns complete description, all screening questions, client history (jobs posted, hire rate, spend), required skills, budget, and proposal stats. ALWAYS call this before submitting a proposal to get screening questions and understand client context.

submit_proposalA

Submit a proposal/bid for an Upwork job. Before calling this:

  1. Call get_job_details to get screening questions

  2. Craft a personalized cover letter that:

    • Opens with the client's specific problem (not "I am an expert in...")

    • Shows concrete n8n examples relevant to their use case

    • Mentions specific workflow patterns (HTTP Request, Webhook, Code node, etc.)

    • Ends with a clear CTA

  3. Answer ALL screening questions thoughtfully

The agent will automatically type and submit the proposal.

get_proposalsA

Get list of your submitted proposals on Upwork. Shows status, bid rate, submission date, and whether the client is interviewing you. Use this to track which proposals need follow-up.

get_messagesA

Read Upwork messages.

  • Without room_id: lists all conversations with unread status and last message preview

  • With room_id: reads the full message history of that conversation

Use this to check for client responses, new invitations, and ongoing contract discussions.

send_messageA

Send a message in an Upwork conversation. Use this to:

  • Reply to client questions about your proposal

  • Follow up on submitted proposals (after 3-5 days)

  • Clarify project requirements

  • Communicate during an active contract

Keep messages professional, specific to the project, and value-adding.

get_profileA

Get your Upwork freelancer profile, stats, and connects balance. Returns: name, title, skills, hourly rate, JSS score, Top Rated status, total earnings, connects balance. Use this to understand your current standing and available connects before bidding.

analyze_jobA

Analyze a job opportunity and score it across 5 dimensions to decide whether to apply.

Scoring breakdown (100 pts max):

  • Niche Fit (30pts): How well the job matches n8n/automation keywords

  • Client Quality (25pts): Rating, total spent, hire rate, location

  • Budget Fit (20pts): Budget vs your target rate, estimated total project value

  • Competition (10pts): Number of existing proposals (fewer = better)

  • Project Clarity (10pts): How well-defined the scope is

  • Red Flag Penalty (-5pts each): Vague scope, low budget signals, no client history

Returns: grade (A+/A/B/C/D/F), recommendation (APPLY NOW/APPLY/CONSIDER/SKIP/AVOID), suggested bid, estimated project value, key selling points, and proposal tips.

RECOMMENDED WORKFLOW:

  1. search_jobs → find candidates

  2. get_job_details → get full info

  3. analyze_job → score and decide

  4. submit_proposal → if grade A or B

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zcrossoverz/upwork-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server