
Freelancer Mcp Server
io.github.godesigntechPublished by GitHub account godesigntechv2.0.0Updated Oct 27, 2026
Search, bid, and message clients on Freelancer.com from Claude. Multi-account support.
Overview
Connects Claude to Freelancer.com so it can search projects, place bids, read and reply to client messages, and manage skills and specialty profiles.
- What you can do
- List connected accounts and look up your own or other users' profiles and reputation
- Search projects, fetch project details, list your active or completed projects, and see bids on a project
- Review your own awarded or rejected bids and place a new bid with amount and delivery time
- Read inbox threads and messages, including from pasted chat links, and send replies
- Search, add, remove or replace skills, and create or update specialty profiles
- When to use it
- Useful for freelancers who bid on Freelancer.com work and want to find projects, compare their bids against competitors, and handle client conversations from a chat instead of the website.
- Requirements
- Runs locally via npx, so Node.js 18 or newer is needed. Requires a Freelancer.com Personal Access Token generated in the account's developer settings, supplied as FREELANCER_OAUTH_TOKEN, or as a JSON label-to-token map in FREELANCER_ACCOUNTS for several accounts. Network access to Freelancer.com's API.
Installation
In SourceWeft
- Open Freelancer Mcp Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Freelancer MCP Server
An MCP server that connects Claude (Desktop, Code, or any MCP-compatible client) directly to Freelancer.com. Search and bid on projects, read and reply to client messages, review your track record, and manage skills/specialty profiles — all from a chat.
Supports multiple Freelancer accounts in one server (e.g. your own account plus one or more clients' accounts you manage), switchable per tool call.
This project is 100% self-contained: it talks only to freelancer.com's public API using whatever access token(s) you provide. No other data source, project, or third-party service is involved.
Get your access token (do this first)
- Log in to Freelancer.com
- Go to accounts.freelancer.com/settings/develop
- Under Application Dashboard, click Generate Token
- Copy the token shown under Access Token
[Where to generate your Freelancer access token]
That token is all this server needs — no password, no app review, no OAuth redirect flow. Repeat this for each additional Freelancer account you want connected (see Multiple accounts).
What you can ask Claude
Every tool accepts an optional account argument to pick which connected Freelancer account it should act on/as (see Multiple accounts).
Analyzing past projects & winning strategy
There's no single "analyze my strategy" button — instead, Claude does the analysis itself over the raw data this server exposes. This keeps the server a thin, honest API wrapper instead of a black box. Ask things like:
"Pull my awarded bids and my rejected bids, then compare amount, delivery time, and proposal length/style to figure out what's working."
"Look at my completed projects and tell me which skills show up most often."
"Compare my bid on project X to the other bids on it — am I priced competitively?"
Claude will chain freelancer_my_bids (status awarded vs rejected), freelancer_my_projects (status complete), and freelancer_get_project_bids to gather the data, then reason over it directly in the conversation.
Chat links and thread IDs
freelancer_get_messages and freelancer_send_message accept either a plain numeric thread ID or a pasted Freelancer chat/message link — the server extracts the ID either way.
See it in action
Finding and scoring the best projects to bid on, with a ready pitch script for each: [Claude finding CRM projects worth bidding on, with per-project pitch scripts]
Reading a client thread by chat link and building a conversion strategy: [Claude reading a client message thread and giving a strategy to convert them]
Auditing skills already on a profile: [Claude listing all skills on a Freelancer profile, grouped by category]
Setup
The package is published on npm as freelancer-mcp-server — no clone, no build, npx fetches and runs it on demand.
Claude Code (CLI)
Or just ask Claude Code directly, in plain English, once you have your token:
"Add the freelancer-mcp-server MCP server using npx, with my Freelancer access token set as FREELANCER_OAUTH_TOKEN"
Claude Code can run the claude mcp add command itself — you don't have to type it.
Claude Desktop
Open your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add this block inside "mcpServers" (create the file if it doesn't exist):
Restart Claude Desktop — you should see a 🔌 indicating the server connected.
Multiple accounts
To connect more than one Freelancer account (your own plus, say, two clients'), use FREELANCER_ACCOUNTS instead of FREELANCER_OAUTH_TOKEN — a JSON object mapping a label you choose to each token:
Or via claude mcp add:
The first account listed becomes the default (used when a tool call omits account). Ask Claude "which Freelancer accounts are connected?" to confirm, then say e.g. "using the client_acme account, show me the latest projects" to target a specific one. Tokens are never logged, echoed back, or written anywhere by this server — they only ever go into the outgoing freelancer-oauth-v1 header.
Running from source (contributing)
Testing
Ask Claude:
"Show my Freelancer profile"
If it responds with your username and stats, you're set.
Profile editing — what the Freelancer API actually allows
The Freelancer.com public REST API is read-mostly for profiles. After probing the live API, here's the real boundary:
Editable:
- ✅ Skills/jobs — add, remove, or replace the skills on an account (
/users/0.1/self/jobs). Freelancer caps the total number of skills per account. - ✅ Specialty profiles — create/update focused sub-profiles (
/users/0.1/profiles): tagline, hourly_rate, description, skills. Caveats: the API has no endpoint to list your own profile IDs (you must already know them), and some account types (e.g. certain corporate accounts) cannot create new ones.
NOT possible via the public API (web-UI only):
- ❌ Main account bio/tagline/hourly rate shown on your public page
- ❌ Profile photo / avatar
- ❌ Experience, education, publications, references, certifications
- ❌ Portfolio (read-only via API)
Security notes
- Tokens live only in your local MCP client config (or
.envfornpm run dev) — never committed, never sent anywhere but Freelancer's own API. - The server runs entirely on your machine; no telemetry, no third-party calls.
- Destructive/real-world actions (
place_bid,send_message, skill/profile edits) always surface for your review before they execute, since Claude shows tool calls before running them. - This repo contains no data from, and no dependency on, any other project — it's a clean, standalone Freelancer.com integration.
Troubleshooting
"no Freelancer accounts configured"
→ Set FREELANCER_OAUTH_TOKEN or FREELANCER_ACCOUNTS in your MCP client config.
401 Unauthorized → Token expired or wrong. Generate a fresh one at https://accounts.freelancer.com/settings/develop
"Unknown account "x""
→ Run freelancer_list_accounts to see the exact labels configured, then use one of those.
Tool not appearing in Claude
→ If using npx, confirm Node.js 18+ is installed and npx -y freelancer-mcp-server runs without error from a terminal. If running from source, confirm the path in your config is the absolute path to dist/index.js, and that npm run build succeeded.
Contributing
Issues and PRs welcome. Keep changes scoped to the Freelancer.com API surface — this project intentionally stays a single-purpose, dependency-light MCP server.
License
MIT
Source: README.md at commit 0cb2418
Tools
0Version history
1- v2.0.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts