关于 freelancer-mcp-server
freelancer-mcp-server 将 MCP 客户端连接到 Freelancer.com,用于查找项目和执行账户操作。它支持多个账户,并通过 Freelancer 公共 API 提供投标、消息、技能、个人资料和项目历史工具。
主要功能
- 01搜索项目并查看投标
- 02提交投标并管理项目
- 03读取并回复客户消息
- 04查看技能和专业资料
- 05在多个账户间切换
适用场景
- 01按预算或技能寻找项目
- 02比较已中标和未中标的投标
- 03查看客户会话并发送回复
- 04管理不同账户的技能
MCP 相关
向兼容 MCP 的客户端提供 Freelancer.com 账户、项目、投标、消息和资料操作工具。每个工具调用都可指定已配置的账户。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y freelancer-mcp-serverFREELANCER_OAUTH_TOKEN密钥Personal Access Token for a single Freelancer.com account. Get one at https://accounts.freelancer.com/settings/developFREELANCER_ACCOUNTS密钥JSON object mapping account labels to Personal Access Tokens, for connecting multiple Freelancer.com accounts in one server, e.g. {"main":"token1","client_acme":"token2"}本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Freelancer MCP 服务
一个 MCP 服务,可将 Claude(Desktop、Code 或任何兼容 MCP 的客户端)直接连接到 Freelancer.com。搜索项目并投标、阅读并回复客户消息、查看你的业绩记录,以及管理技能和专长档案——所有操作都可通过聊天完成。
一个服务支持多个 Freelancer 账号(例如你自己的账号,以及你代为管理的一个或多个客户账号),并可在每次工具调用时切换。
本项目完全独立:仅使用你提供的访问令牌与 freelancer.com 的公开 API 通信。不涉及任何其他数据源、项目或第三方服务。
获取访问令牌(请先完成此步骤)
- 登录 Freelancer.com
- 前往 accounts.freelancer.com/settings/develop
- 在 Application Dashboard 下,点击 Generate Token
- 复制 Access Token 下方显示的令牌

此令牌就是该服务所需的一切——无需密码、应用审核或 OAuth 重定向流程。对你想连接的每个额外 Freelancer 账号重复此操作(请参阅多个账号)。
可以向 Claude 提出哪些请求
| 工具 | 提示词示例 |
|---|---|
freelancer_list_accounts | “当前连接了哪些 Freelancer 账号?” |
freelancer_get_self | “显示我的个人资料和声誉” |
freelancer_get_user | “在 Freelancer 上查找 @some_freelancer” |
freelancer_search_projects | “查找最新的、预算低于 $500 的 n8n 自动化项目” |
freelancer_get_project | “获取项目 12345678 的详情” |
freelancer_my_projects | “列出我的进行中项目” / “显示我已完成的项目” |
freelancer_get_project_bids | “谁投标了项目 12345?报价是多少?” |
freelancer_my_bids | “显示我中标的投标” / “显示我被拒绝的投标” |
freelancer_place_bid | “对项目 12345 报价 $200,交付时间为 5 天” |
freelancer_get_milestones | “项目 12345 有哪些里程碑?” |
freelancer_list_threads | “显示我的收件箱” |
freelancer_get_messages | “阅读此聊天:freelancer.com/messages/thread/98765” |
freelancer_send_message | “回复会话 98765,说……” |
freelancer_search_skills / list_skills / add_skills / remove_skills / set_skills | “将 n8n 和 Zapier 添加到我的技能中” |
freelancer_list_profiles / create_profile / update_profile | “创建一个 AI 自动化专长档案” |
每个工具都接受可选的 account 参数,用于选择要执行操作的已连接 Freelancer 账号(请参阅多个账号)。
分析过往项目并制定获胜策略
没有单独的“分析我的策略”按钮——Claude 会根据该服务提供的原始数据自行分析。这样可以让该服务保持为精简、透明的 API 封装,而不是黑盒。你可以这样提问:
“获取我中标和被拒绝的投标,然后比较报价、交付时间和提案的长度及风格,找出哪些做法有效。”
“查看我已完成的项目,并告诉我最常出现的是哪些技能。”
“把我对项目 X 的报价与该项目上的其他报价进行比较——我的价格有竞争力吗?”
Claude 会串联调用 freelancer_my_bids(状态为 awarded 与 rejected)、freelancer_my_projects(状态为 complete)和 freelancer_get_project_bids 来收集数据,然后直接在对话中进行分析。
聊天链接和会话 ID
freelancer_get_messages 和 freelancer_send_message 接受纯数字会话 ID,也接受粘贴的 Freelancer 聊天或消息链接——无论哪种方式,服务都会提取 ID。
查看实际效果
查找并评估最值得投标的项目,并为每个项目准备好推介话术:

通过聊天链接阅读客户对话,并制定转化策略:

审核个人资料中已有的技能:

设置
该软件包已发布到 npm,名称为 freelancer-mcp-server——无需克隆或构建,npx 会按需获取并运行它。
Claude Code(CLI)
claude mcp add freelancer --env FREELANCER_OAUTH_TOKEN=your_token_here -- npx -y freelancer-mcp-server
或者,只要你有令牌,就可以直接用通俗的英语向 Claude Code 发出请求:
“使用 npx 添加 freelancer-mcp-server MCP 服务,并将我的 Freelancer 访问令牌设为 FREELANCER_OAUTH_TOKEN”
Claude Code 可以自行运行 claude mcp add 命令——你无需手动输入。
Claude Desktop
打开 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
在 "mcpServers" 中添加以下代码块(如果文件不存在,则创建该文件):
{
"mcpServers": {
"freelancer": {
"command": "npx",
"args": ["-y", "freelancer-mcp-server"],
"env": {
"FREELANCER_OAUTH_TOKEN": "your_token_here"
}
}
}
}
重启 Claude Desktop——看到 🔌 图标即表示服务已连接。
多个账户
若要连接多个 Freelancer 账户(例如你自己的账户和两个客户的账户),请使用 FREELANCER_ACCOUNTS,而不是 FREELANCER_OAUTH_TOKEN——它是一个 JSON 对象,用于将你选择的标签映射到各个令牌:
{
"mcpServers": {
"freelancer": {
"command": "npx",
"args": ["-y", "freelancer-mcp-server"],
"env": {
"FREELANCER_ACCOUNTS": "{\"main\":\"token1\",\"client_acme\":\"token2\"}"
}
}
}
}
或者通过 claude mcp add 添加:
claude mcp add freelancer --env FREELANCER_ACCOUNTS='{"main":"token1","client_acme":"token2"}' -- npx -y freelancer-mcp-server
列表中的第一个账户会成为默认账户(工具调用未指定 account 时使用)。询问 Claude“连接了哪些 Freelancer 账户?”以确认,然后可以说例如“使用 client_acme 账户,显示最新项目”,以指定要操作的账户。此服务绝不会记录、回显或将令牌写入任何位置——令牌只会放入发出的 freelancer-oauth-v1 标头中。
从源代码运行(贡献代码)
git clone https://github.com/godesigntech/freelancer-mcp-server.git
cd freelancer-mcp-server
npm install
npm run build
claude mcp add freelancer --env FREELANCER_OAUTH_TOKEN=your_token_here -- node /FULL/PATH/TO/freelancer-mcp-server/dist/index.js
测试
向 Claude 询问:
“显示我的 Freelancer 个人资料”
如果它回复了你的用户名和统计信息,就表示一切已就绪。
个人资料编辑——Freelancer API 实际允许的操作
Freelancer.com 的公开 REST API 对个人资料的支持主要限于读取。探测实际运行的 API 后,得到的实际范围如下:
可编辑:
- ✅ 技能/职位——为账户添加、移除或替换技能(
/users/0.1/self/jobs)。Freelancer 限制了每个账户的技能总数。 - ✅ 专业档案——创建或更新侧重特定领域的子档案(
/users/0.1/profiles):标语、时薪、描述、技能。注意: API 没有列出你自己的档案 ID 的端点(必须事先知道这些 ID),而且某些账户类型(例如部分企业账户)无法创建新档案。
无法通过公开 API 实现(仅限网页界面):
- ❌ 公开页面上显示的主账户简介/标语/时薪
- ❌ 个人资料照片/头像
- ❌ 工作经历、教育经历、出版物、推荐信、认证
- ❌ 作品集(API 仅支持读取)
安全说明
- 令牌仅保存在本地 MCP 客户端配置中(或
npm run dev使用的.env文件中)——绝不会提交,也不会发送到 Freelancer 自有 API 以外的任何地方。 - 服务完全在你的机器上运行;没有遥测,也不会调用第三方服务。
- 在执行破坏性/现实世界操作(
place_bid、send_message、技能/档案编辑)前,都会显示出来供你审核,因为 Claude 会在运行前展示工具调用。 - 此代码库不包含任何其他项目的数据,也不依赖任何其他项目——它是一个干净、独立的 Freelancer.com 集成。
故障排查
“未配置 Freelancer 账户”
→ 在 MCP 客户端配置中设置 FREELANCER_OAUTH_TOKEN 或 FREELANCER_ACCOUNTS。
401 未授权 → 令牌已过期或不正确。请前往 https://accounts.freelancer.com/settings/develop 生成新令牌。
“未知账户 “x””
→ 运行 freelancer_list_accounts 查看已配置的准确标签,然后使用其中一个。
Claude 中未显示工具
→ 如果使用 npx,请确认已安装 Node.js 18+,并且在终端中运行 npx -y freelancer-mcp-server 不会报错。如果从源代码运行,请确认配置中的路径是指向 dist/index.js 的绝对路径,并且 npm run build 已成功。
贡献
欢迎提交问题和 PR。请将改动限定在 Freelancer.com API 范围内——本项目有意保持为单一用途、依赖精简的 MCP 服务。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。