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 サーバー
Claude(デスクトップ版、Code、または MCP 互換クライアント)を Freelancer.com に直接接続する MCP サーバーです。チャットから、プロジェクトの検索や入札、クライアントメッセージの閲覧や返信、実績の確認、スキルや専門プロフィールの管理ができます。
1 つのサーバーで複数の Freelancer アカウントをサポートします(たとえば、自分のアカウントに加えて、管理している 1 つ以上のクライアントのアカウント)。ツール呼び出しごとに切り替えられます。
このプロジェクトは 100%自己完結型です。提供されたアクセス トークンのみを使用して、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 に、納期 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 を抽出します。
実際の動作を見る
入札する価値のある最適なプロジェクトを見つけて評価し、それぞれにすぐ使える提案文を作成します:

チャットのリンクからクライアントとのスレッドを読み込み、成約戦略を立てます:

プロフィールに登録済みのスキルを監査します:

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