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 サーバー

Claude(デスクトップ版、Code、または MCP 互換クライアント)を Freelancer.com に直接接続する MCP サーバーです。チャットから、プロジェクトの検索や入札、クライアントメッセージの閲覧や返信、実績の確認、スキルや専門プロフィールの管理ができます。

1 つのサーバーで複数の Freelancer アカウントをサポートします(たとえば、自分のアカウントに加えて、管理している 1 つ以上のクライアントのアカウント)。ツール呼び出しごとに切り替えられます。

このプロジェクトは 100%自己完結型です。提供されたアクセス トークンのみを使用して、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 に、納期 5 日で 200 ドルを入札して」
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 にそのまま自然な言葉で依頼できます:

「Freelancer のアクセストークンを FREELANCER_OAUTH_TOKEN として設定し、npx を使って freelancer-mcp-server MCP サーバーを追加して」

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 アカウント(自分のアカウントに加えて、たとえばクライアント 2 件分)を接続するには、FREELANCER_OAUTH_TOKEN の代わりに FREELANCER_ACCOUNTS を使います。これは、任意のラベルと各トークンを対応付ける 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 を一覧表示するエンドポイントがないため、あらかじめ把握しておく必要があります。また、一部のアカウント種別(特定の法人アカウントなど)では新規作成できません。

公開 API では不可能(Web UI のみ):

  • ❌ 公開ページに表示されるメインアカウントの自己紹介、タグライン、時給
  • ❌ プロフィール写真/アバター
  • ❌ 職歴、学歴、出版物、推薦文、認定資格
  • ❌ ポートフォリオ(API では読み取り専用)

セキュリティに関する注意事項

  • トークンはローカルの MCP クライアント設定(または npm run dev 用の .env)にのみ保存されます。コミットされることはなく、Freelancer 独自の API 以外に送信されることもありません。
  • サーバーはすべてお使いのマシン上で実行されます。テレメトリーやサードパーティへの呼び出しはありません。
  • place_bid、send_message、スキル/プロフィールの編集といった、取り消しが難しい操作や実際の変更を伴う操作は、実行前に必ず確認できます。Claude は実行前にツール呼び出しを表示するためです。
  • このリポジトリには、他のプロジェクトのデータも依存関係も含まれていません。独立したクリーンな Freelancer.com 連携機能です。

トラブルシューティング

「no Freelancer accounts configured」 → MCP クライアントの設定で FREELANCER_OAUTH_TOKEN または FREELANCER_ACCOUNTS を設定してください。

401 Unauthorized → トークンの有効期限が切れているか、正しくありません。https://accounts.freelancer.com/settings/develop で新しいトークンを生成してください。

「Unknown account "x"」 → freelancer_list_accounts を実行して、設定されている正確なラベルを確認し、そのいずれかを使用してください。

Claude にツールが表示されない → npx を使用している場合は、Node.js 18 以降がインストールされており、ターミナルから npx -y freelancer-mcp-server をエラーなしで実行できることを確認してください。ソースから実行している場合は、設定のパスが dist/index.js への絶対パスであることと、npm run build が成功していることを確認してください。

コントリビューション

Issue と PR を歓迎します。変更は Freelancer.com API の範囲内に留めてください。このプロジェクトは、意図的に単一目的で依存関係を抑えた MCP サーバーとして維持されています。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。