mcpField
F
freelancer-mcp-server

freelancer-mcp-server

本地服务
github.com/godesigntech商业与营销316 周前更新

关于 freelancer-mcp-server

freelancer-mcp-server 将 MCP 客户端连接到 Freelancer.com,用于查找项目和执行账户操作。它支持多个账户,并通过 Freelancer 公共 API 提供投标、消息、技能、个人资料和项目历史工具。

主要功能

  1. 01搜索项目并查看投标
  2. 02提交投标并管理项目
  3. 03读取并回复客户消息
  4. 04查看技能和专业资料
  5. 05在多个账户间切换

适用场景

  1. 01按预算或技能寻找项目
  2. 02比较已中标和未中标的投标
  3. 03查看客户会话并发送回复
  4. 04管理不同账户的技能

MCP 相关

向兼容 MCP 的客户端提供 Freelancer.com 账户、项目、投标、消息和资料操作工具。每个工具调用都可指定已配置的账户。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"godesigntech-freelancer": {
"command": "npx",
"args": [
"-y",
"freelancer-mcp-server"
],
"env": {
"FREELANCER_OAUTH_TOKEN": "<FREELANCER_OAUTH_TOKEN>",
"FREELANCER_ACCOUNTS": "<FREELANCER_ACCOUNTS>"
}
}
}
}
启动命令npx -y freelancer-mcp-server
需要配置的环境变量
FREELANCER_OAUTH_TOKEN密钥Personal Access Token for a single Freelancer.com account. Get one at https://accounts.freelancer.com/settings/develop
FREELANCER_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfreelancer-mcp-server2.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Freelancer MCP 服务

一个 MCP 服务,可将 Claude(Desktop、Code 或任何兼容 MCP 的客户端)直接连接到 Freelancer.com。搜索项目并投标、阅读并回复客户消息、查看你的业绩记录,以及管理技能和专长档案——所有操作都可通过聊天完成。

一个服务支持多个 Freelancer 账号(例如你自己的账号,以及你代为管理的一个或多个客户账号),并可在每次工具调用时切换。

本项目完全独立:仅使用你提供的访问令牌与 freelancer.com 的公开 API 通信。不涉及任何其他数据源、项目或第三方服务。

获取访问令牌(请先完成此步骤)

  1. 登录 Freelancer.com
  2. 前往 accounts.freelancer.com/settings/develop
  3. 在 Application Dashboard 下,点击 Generate Token
  4. 复制 Access Token 下方显示的令牌

生成 Freelancer 访问令牌的位置

此令牌就是该服务所需的一切——无需密码、应用审核或 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。

查看实际效果

查找并评估最值得投标的项目,并为每个项目准备好推介话术: Claude 查找值得投标的 CRM 项目,并为每个项目准备推介话术

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

审核个人资料中已有的技能: Claude 列出 Freelancer 个人资料中的所有技能,并按类别分组

设置

该软件包已发布到 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。