Skip to main content
Glama
godesigntech

Freelancer MCP Server

by godesigntech

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FREELANCER_ACCOUNTSNoJSON object mapping account labels to access tokens for multiple accounts.
FREELANCER_OAUTH_TOKENNoYour Freelancer access token for a single account.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
freelancer_list_accountsA

List the Freelancer.com account labels configured on this MCP server (never the tokens themselves).

Use this to discover which account value to pass to other tools when multiple Freelancer profiles are connected (e.g. your own account plus one or more clients' accounts).

Returns: account labels, and which one is the default (used when a tool call omits account).

Use when: "Which Freelancer accounts are connected?", "Switch to the client2 account", "List my connected profiles"

freelancer_get_selfA

Retrieve your own Freelancer.com profile, including reputation, earnings, skills, location and stats.

Args:

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns:

  • username, display name, tagline, location

  • reputation score and total reviews

  • registered skills/job categories

  • hourly rate and earnings

  • registration date

Use when: "What's my profile?", "Show my reputation", "What are my stats on Freelancer?"

freelancer_get_userA

Retrieve a Freelancer.com user profile by username or user ID.

Args:

  • username (string, optional): Freelancer username (e.g. "usman_godesign")

  • user_id (number, optional): Numeric Freelancer user ID Provide at least one of username or user_id.

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: profile, reputation, skills, location, hourly rate

Use when: "Look up this freelancer", "What's their rating?", "Check the profile of user 12345"

freelancer_search_projectsA

Search for projects/jobs on Freelancer.com by keyword, budget or project type.

Args:

  • query (string, optional): Search keywords (e.g. "wordpress website", "n8n automation")

  • project_type (string, optional): "fixed" or "hourly"

  • min_budget (number, optional): Minimum budget in USD

  • max_budget (number, optional): Maximum budget in USD

  • limit (number, 1-50, default 10): Number of results

  • offset (number, default 0): Pagination offset

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: list of matching projects with title, budget, bid count, skills required. Results are ordered newest-first, so this also answers "what are the latest projects?".

Use when: "Find projects for Zoho CRM", "Show me hourly WordPress jobs", "Any SEO projects available?", "What are the latest projects posted?"

freelancer_get_projectA

Get full details of a specific Freelancer.com project by ID.

Args:

  • project_id (number): The numeric project ID

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: full description, budget, status, skills, bid stats, timeline

Use when: "Tell me more about project 12345678", "Get the details for this project"

freelancer_my_projectsA

List projects you own or are working on as a freelancer.

Args:

  • role (string): "owner" (projects you posted) or "freelancer" (projects you're hired on)

  • status (string, optional): "active", "complete", "closed"

  • limit (number, 1-50, default 10): Number of results

  • offset (number, default 0): Pagination offset

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: list of your projects with status, budget and progress. To analyze past performance ("what are my winning strategies?"), call this with status "complete" and pair it with freelancer_my_bids (status "awarded") — reason over the combined results yourself (skills used, budget ranges, proposal style).

Use when: "Show my active projects", "List projects I'm working on", "What projects have I posted?", "Analyze my past completed projects"

freelancer_get_project_bidsA

List all bids on a specific Freelancer.com project.

Args:

  • project_id (number): The project ID to fetch bids for

  • limit (number, 1-50, default 10): Number of bids to return

  • offset (number, default 0): Pagination offset

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: list of bids with amount, period, bidder reputation and description

Use when: "Who has bid on project 12345?", "How much are people bidding?", "Show me the bids on my project"

freelancer_my_bidsA

List bids you have placed on Freelancer.com projects.

Args:

  • status (string, optional): Filter by bid status — "active", "awarded", "revoked", "rejected"

  • limit (number, 1-50, default 10): Number of bids to return

  • offset (number, default 0): Pagination offset

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: your bids with project info, amounts and status. To analyze your winning strategy, call this twice — once with status "awarded" and once with status "rejected" — and compare amount, period and proposal style across the two sets yourself.

Use when: "Show my bids", "Which of my bids are active?", "Have any of my bids been awarded?", "What's my win rate?", "Analyze my winning bids vs rejected ones"

freelancer_place_bidA

Submit a bid / proposal on a Freelancer.com project.

Args:

  • project_id (number): Project ID to bid on

  • amount (number): Your bid amount in the project's currency

  • period (number): Delivery time in days

  • description (string): Your proposal text (cover letter)

  • milestone_percentage (number, 0-100, default 100): Percentage to request as initial milestone

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account. This is the account the bid is placed FROM.

Returns: confirmation with bid ID and status

⚠️ This creates a real bid on your account. Review before confirming — including which account, when multiple are configured.

Use when: "Bid $150 on project 12345 with 7 days delivery", "Submit a proposal"

freelancer_get_milestonesA

List milestones for a specific Freelancer.com project.

Args:

  • project_id (number): The project ID

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: list of milestones with amount, description, status and dates

Milestone statuses include: created, requested, pending, released, cancelled

Use when: "What are the milestones on project 12345?", "Has the milestone been released?", "Check payment status"

freelancer_list_threadsA

List your Freelancer.com inbox message threads.

Args:

  • context_type (string, optional): Filter by "project" or "freelancer_dashboard"

  • limit (number, 1-50, default 10): Number of threads

  • offset (number, default 0): Pagination offset

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: list of threads with members, last activity and message count

Use when: "Show my inbox", "List my message threads", "Who has messaged me?"

freelancer_get_messagesA

Retrieve messages from a specific Freelancer.com thread.

Args:

  • thread_id (string | number): Thread ID, or a Freelancer.com chat/message link containing one (get the ID from freelancer_list_threads if unknown)

  • limit (number, 1-50, default 20): Number of messages

  • offset (number, default 0): Pagination offset

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: messages with text, sender, timestamp and attachment info

Use when: "Show messages in thread 12345", "What did the client say?", "Read the conversation", "Read this chat: https://www.freelancer.com/messages/thread/12345"

freelancer_send_messageA

Send a message in an existing Freelancer.com thread.

Args:

  • thread_id (string | number): The thread ID to reply to, or a Freelancer.com chat link containing one

  • message (string): Your message text

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account. This is the account the message is sent FROM.

Returns: confirmation with message ID

⚠️ This sends a real message from your account.

Use when: "Reply to thread 12345 saying...", "Message the client", "Send a follow-up"

freelancer_search_skillsA

Search the Freelancer.com skill (job) catalogue by name. Use this to find the numeric skill IDs needed by the skill-management tools.

Args:

  • query (string): Substring to match against skill names (case-insensitive), e.g. "python", "n8n", "automation"

  • limit (number, default 25): Max results

Returns: matching skills with their numeric ID, name and category.

Use when: "Find the skill ID for n8n", "What automation skills exist?", "Search skills for react"

freelancer_list_skillsA

List the skills (jobs) currently on your own Freelancer.com profile.

Returns: your skills with numeric ID, name and category.

Args:

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Use when: "What skills are on my profile?", "List my skills", "Do I have n8n listed?"

freelancer_add_skillsA

Add one or more skills (jobs) to your Freelancer.com profile, keeping your existing skills.

Args:

  • skills (string[]): Skill names (e.g. "n8n", "Python") or numeric skill IDs. Names are resolved via the catalogue.

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: confirmation.

⚠️ This modifies your real profile. Note: Freelancer enforces a maximum number of skills per account; adding past the limit will be rejected by the API.

Use when: "Add n8n and Zapier to my skills", "Add skill 3112 to my profile"

freelancer_remove_skillsA

Remove one or more skills (jobs) from your Freelancer.com profile.

Args:

  • skills (string[]): Skill names or numeric IDs to remove.

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: confirmation.

⚠️ This modifies your real profile.

Use when: "Remove PHP from my skills", "Drop skill 3 from my profile"

freelancer_set_skillsA

Replace your ENTIRE skill list with the provided skills. Any current skill not in the list is removed.

Args:

  • skills (string[]): The complete set of skill names or numeric IDs your profile should have.

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: confirmation.

⚠️ Destructive: this overwrites all existing skills. Consider freelancer_list_skills first, and freelancer_add_skills if you only want to append.

Use when: "Set my skills to exactly Python, n8n and React", "Replace all my skills with this list"

freelancer_list_profilesA

Fetch one or more of your Freelancer.com "specialty profiles" by their numeric profile IDs.

Note: Freelancer's API has no endpoint that lists your profile IDs for you — you must already know the ID(s) (e.g. from the profile URL). This is a limitation of the public API, not this tool.

Args:

  • profile_ids (number[]): Numeric specialty-profile IDs to fetch.

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: profile details (name, tagline, hourly rate, description).

Use when: "Show specialty profile 12345"

freelancer_create_profileA

Create a new Freelancer.com "specialty profile" (a focused sub-profile, separate from your main account profile).

All fields are required by the API. Args:

  • profile_name (string): Internal name for the specialty profile

  • tagline (string): Short headline

  • hourly_rate (number): Hourly rate in USD

  • description (string): Profile description / bio

  • skills (string[], optional): Skill names or IDs for this profile

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: created profile (including its profile_id).

⚠️ Creates real data on your account. Freelancer caps the number of specialty profiles; some account types (e.g. certain corporate accounts) cannot create any and the API will reject with "reached the limit for creating new profiles".

Use when: "Create a specialty profile for AI automation"

freelancer_update_profileA

Update fields on one of your Freelancer.com "specialty profiles". Only the fields you supply are changed.

Important: this edits a SPECIALTY profile identified by profile_id — it does NOT edit your main account profile (description/tagline/hourly rate shown on your public freelancer page). Freelancer's public API exposes no endpoint to edit the main profile; that is web-UI-only.

Args:

  • profile_id (number): The specialty profile's numeric ID (you must already know it)

  • tagline (string, optional)

  • hourly_rate (number, optional): USD

  • description (string, optional)

  • skills (string[], optional): Skill names or IDs (replaces this profile's skills)

  • account (string, optional): Which configured Freelancer account to use (see freelancer_list_accounts for labels). Omit to use your default/only account.

Returns: confirmation.

⚠️ Modifies real data. The API enforces ownership: editing a profile_id you don't own is rejected.

Use when: "Update specialty profile 12345's hourly rate to 40"

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/godesigntech/freelancer-mcp-server'

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