upwork-mcp
upwork-mcp
Upwork自動化のためのMCPサーバーです。Claude DesktopやMCP互換クライアントから、求人検索、提案書のドラフト作成・提出、メッセージや契約の管理をすべて行えます。
機能
求人検索 — フィルター(予算、時給、経験レベル、クライアント評価、新着順)を使用したキーワード検索、自動スコアリング、レッドフラグ検出
提案書ワークフロー — テンプレートからのドラフト作成、プレビュー、明示的な確認を伴う提出。1日の提出制限あり
クライアント審査 — 7つの条件によるレッドフラグチェック(支払い確認済みか、評価、採用履歴、アカウント経過期間、再投稿数、提案数、最低時給)
メッセージ — 未読会話のリスト表示、スレッドの閲覧、返信のドラフト作成と送信
契約 — アクティブ/過去の契約のリスト表示、詳細および作業日誌の閲覧
セッションの安全性 — 永続的なChromiumプロファイル、Cloudflare検出対策、7日間のアイドルタイムアウト、
upwork.comへのドメイン制限監査ログ — すべてのツール呼び出しを
~/.upwork-mcp/audit.logに記録(メタデータのみ、コンテンツは含まず)
要件
Python 3.11以上
uv (推奨) または pip
有効なUpworkアカウント
インストール
uvを使用する場合 (推奨)
git clone https://github.com/kubegrind/upwork-mcp
cd upwork-mcp
uv sync
uv run playwright install chromiumpipを使用する場合
git clone https://github.com/kubegrind/upwork-mcp
cd upwork-mcp
pip install -e .
playwright install chromium設定
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) に追加してください:
{
"mcpServers": {
"upwork": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/upwork-mcp",
"run",
"upwork-mcp"
]
}
}
}Claude Code
claude mcp add upwork -- uv --directory /absolute/path/to/upwork-mcp run upwork-mcp環境変数
変数 | デフォルト | 説明 |
|
| プロファイル、ログ、テンプレート用のデータディレクトリ |
|
| レッドフラグ検出のための最低許容時給 |
認証
このサーバーは永続的なChromiumブラウザプロファイルを使用します。初回実行時に手動で認証を行ってください:
uv run upwork-mcp --no-headlessブラウザウィンドウが開きます。通常通りUpworkにログインしてください。セッションは ~/.upwork-mcp/profile/ に保存され、次回以降の実行で再利用されます。セッションは7日間操作がないと期限切れになります。
ツール
求人 (Jobs)
ツール | 説明 |
| フィルター付きキーワード検索。スコア付け・ランク付けされた結果を返します |
| クライアント履歴や面接率を含む求人の詳細 |
| 特定の求人を1〜10でスコアリング |
| 7つのレッドフラグ条件に基づいてクライアントをチェック |
|
|
提案書 (Proposals)
ツール | 説明 |
| 提出済み提案書のリストとステータス |
| 特定の提案書の詳細 |
| テンプレートから提案書をドラフト作成 |
| 提出前にドラフトをプレビュー |
| 書き込み — 提案書を提出( |
| 書き込み — 提出済み提案書を取り下げ( |
メッセージ (Messages)
ツール | 説明 |
| 未読会話のリスト |
| スレッド内の最新10件のメッセージを読み込み |
| 確認用に返信をドラフト作成 |
| 書き込み — メッセージを送信( |
契約 (Contracts)
ツール | 説明 |
| アクティブおよび過去の契約のリスト |
| 契約の詳細とマイルストーン |
| 契約の労働時間とメモの記録 |
プロファイル (Profile)
ツール | 説明 |
| プロファイルの名前とタイトル |
| 現在のConnects残高(残高不足警告付き) |
| JSS、Top Ratedステータス、総収益 |
セッションと監査 (Session & Audit)
ツール | 説明 |
| セッションが認証されているか確認 |
| 書き込み — ブラウザセッションを終了 |
| 書き込み — ブラウザコンテキストを再起動 |
| 直近N件の監査ログを表示 |
提案書テンプレート
テンプレートは ~/.upwork-mcp/templates/ に保存されます。デフォルトのテンプレートは default.txt が存在する場合に読み込まれます。カスタムテンプレートを使用するには template_name でファイル名を指定してください。
サポートされている変数:
{job_title} {client_name} {key_skill}
{estimated_timeline} {rate} {years_experience}
{industries} {custom_paragraph} {start_date}
{your_name}テンプレートの例 (~/.upwork-mcp/templates/default.txt):
Hi {client_name},
I noticed you're looking for {key_skill} help on {job_title}.
I have {years_experience} years of relevant experience and can deliver {estimated_timeline}.
My rate is {rate}.
{your_name}保存された検索
~/.upwork-mcp/searches/ にJSONファイルを作成して検索設定を保存できます:
{
"query": "devops kubernetes",
"experience_level": "expert",
"budget_min": 500,
"client_rating_min": 4.5
}実行するには upwork_run_saved_search(search_name="devops") を使用します。
求人のスコアリング
求人は加重モデルを使用して1〜10でスコアリングされます:
要素 | 重み |
予算の一致 | 30% |
スキルの一致 | 25% |
クライアントの質 | 20% |
提案の競争率 | 15% |
新着度 | 10% |
スコアが4.0未満の求人は結果から除外されます。スコアが7.0以上の求人は [HIGH PRIORITY] とマークされます。
安全性
書き込みツール (
submit_proposal,withdraw_proposal,send_message,close_session,rotate_session) はconfirmed: trueを必要とします。ユーザーの明示的な確認なしにモデルが操作を行うことはできません。1日の提案制限 — 1日10件の提出でハードブロックされます。
ドメイン制限 — ブラウザのナビゲーションは
upwork.comに制限されています。認証情報の非公開 — クッキーやトークンが返されたり、ログに記録されたり、表示されたりすることはありません。
パストラバーサル保護 — テンプレートおよび保存された検索のファイル名は
Path.is_relative_to()で検証されます。監査ログ — すべてのツール呼び出しがタイムスタンプ、アクションタイプ、ターゲット、ステータスと共に記録されます。
開発
uv sync --extra dev
uv run pytest
uv run ruff check src
uv run mypy srcライセンス
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kubegrind/upwork-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server