Skip to main content
Glama

upwork-mcp

Ein MCP-Server für die Upwork-Automatisierung. Suchen Sie nach Jobs, entwerfen und senden Sie Vorschläge, verwalten Sie Nachrichten und Verträge – alles direkt aus Claude Desktop oder einem beliebigen MCP-kompatiblen Client.

Funktionen

  • Jobsuche — Stichwortsuche mit Filtern (Budget, Stundensatz, Erfahrungsstufe, Kundenbewertung, Aktualität), automatische Bewertung und Erkennung von Warnsignalen (Red Flags)

  • Vorschlags-Workflow — Entwürfe aus Vorlagen erstellen, Vorschau anzeigen und dann mit expliziter Bestätigung einreichen; tägliches Limit wird durchgesetzt

  • Kundenüberprüfung — 7-Punkte-Check für Warnsignale (Zahlungsbestätigung, Bewertung, Einstellungshistorie, Kontoalter, Anzahl der Neuausschreibungen, Anzahl der Vorschläge, Mindeststundensatz)

  • Nachrichten — Ungelesene Konversationen auflisten, Threads lesen, Antworten entwerfen und senden

  • Verträge — Aktive/vergangene Verträge auflisten, Details und Arbeitstagebucheinträge anzeigen

  • Sitzungssicherheit — Persistentes Chromium-Profil, Cloudflare-Erkennung, Ablauf bei 7 Tagen Inaktivität, Domain-Beschränkung auf upwork.com

  • Audit-Log — Jeder Tool-Aufruf wird an ~/.upwork-mcp/audit.log angehängt (nur Metadaten, kein Inhalt)

Anforderungen

  • Python 3.11+

  • uv (empfohlen) oder pip

  • Ein gültiges Upwork-Konto

Installation

Mit uv (empfohlen)

git clone https://github.com/kubegrind/upwork-mcp
cd upwork-mcp
uv sync
uv run playwright install chromium

Mit pip

git clone https://github.com/kubegrind/upwork-mcp
cd upwork-mcp
pip install -e .
playwright install chromium

Konfiguration

Claude Desktop

Hinzufügen zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %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

Umgebungsvariablen

Variable

Standardwert

Beschreibung

UPWORK_MCP_HOME

~/.upwork-mcp

Datenverzeichnis für Profil, Logs, Vorlagen

UPWORK_MCP_MIN_HOURLY_RATE

25

Mindeststundensatz für die Erkennung von Warnsignalen

Authentifizierung

Der Server verwendet ein persistentes Chromium-Browserprofil. Authentifizieren Sie sich beim ersten Start manuell:

uv run upwork-mcp --no-headless

Ein Browserfenster öffnet sich. Melden Sie sich wie gewohnt bei Upwork an. Die Sitzung wird unter ~/.upwork-mcp/profile/ gespeichert und bei nachfolgenden Ausführungen wiederverwendet. Sitzungen laufen nach 7 Tagen Inaktivität ab.

Tools

Jobs

Tool

Beschreibung

upwork_search_jobs

Suche nach Stichworten mit Filtern; gibt bewertete, sortierte Ergebnisse zurück

upwork_get_job_details

Vollständige Jobdetails inklusive Kundenhistorie und Interviewrate

upwork_score_job

Bewertung eines bestimmten Jobs von 1–10

upwork_flag_client

Überprüfung eines Kunden anhand von 7 Warnsignal-Bedingungen

upwork_run_saved_search

Ausführen einer gespeicherten Suche aus ~/.upwork-mcp/searches/<name>.json

Vorschläge

Tool

Beschreibung

upwork_get_proposals

Liste der eingereichten Vorschläge mit Status

upwork_get_proposal_details

Details zu einem bestimmten Vorschlag

upwork_draft_proposal

Entwurf eines Vorschlags aus einer Vorlage

upwork_preview_proposal

Vorschau eines Entwurfs vor der Einreichung

upwork_submit_proposal

SCHREIBEN — Vorschlag einreichen (erfordert confirmed: true)

upwork_withdraw_proposal

SCHREIBEN — Eingereichten Vorschlag zurückziehen (erfordert confirmed: true)

Nachrichten

Tool

Beschreibung

upwork_get_messages

Liste der ungelesenen Konversationen

upwork_get_conversation

Die letzten 10 Nachrichten in einem Thread lesen

upwork_draft_message

Antwort zur Überprüfung entwerfen

upwork_send_message

SCHREIBEN — Nachricht senden (erfordert confirmed: true)

Verträge

Tool

Beschreibung

upwork_get_contracts

Liste aktiver und vergangener Verträge

upwork_get_contract_details

Vertragsdetails und Meilensteine

upwork_get_work_diary

Stunden und Memo-Einträge für einen Vertrag

Profil

Tool

Beschreibung

upwork_get_my_profile

Name und Titel aus Ihrem Profil

upwork_get_connects_balance

Aktueller Connects-Kontostand mit Warnung bei niedrigem Stand

upwork_get_profile_stats

JSS, Top-Rated-Status und Gesamtverdienst

Sitzung & Audit

Tool

Beschreibung

upwork_check_session

Überprüfen, ob die Sitzung authentifiziert ist

upwork_close_session

SCHREIBEN — Browsersitzung schließen

upwork_rotate_session

SCHREIBEN — Browser-Kontext neu starten

upwork_view_audit_log

Die letzten N Audit-Log-Einträge anzeigen

Vorschlagsvorlagen

Vorlagen befinden sich in ~/.upwork-mcp/templates/. Die Standardvorlage wird aus default.txt geladen, falls vorhanden. Übergeben Sie einen Dateinamen über template_name, um eine benutzerdefinierte Vorlage zu verwenden.

Unterstützte Variablen:

{job_title}         {client_name}       {key_skill}
{estimated_timeline} {rate}             {years_experience}
{industries}        {custom_paragraph}  {start_date}
{your_name}

Beispielvorlage (~/.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}

Gespeicherte Suchen

Erstellen Sie JSON-Dateien in ~/.upwork-mcp/searches/, um Suchkonfigurationen zu speichern:

{
  "query": "devops kubernetes",
  "experience_level": "expert",
  "budget_min": 500,
  "client_rating_min": 4.5
}

Ausführen mit upwork_run_saved_search(search_name="devops").

Job-Bewertung

Jobs werden auf einer Skala von 1–10 anhand eines gewichteten Modells bewertet:

Faktor

Gewichtung

Budget-Übereinstimmung

30%

Fähigkeiten-Übereinstimmung

25%

Kundenqualität

20%

Wettbewerb bei Vorschlägen

15%

Aktualität

10%

Jobs mit einer Bewertung unter 4.0 werden aus den Ergebnissen gefiltert. Jobs mit einer Bewertung von 7.0 oder höher werden als [HIGH PRIORITY] markiert.

Sicherheit

  • SCHREIBEN-Tools (submit_proposal, withdraw_proposal, send_message, close_session, rotate_session) erfordern confirmed: true — das Modell kann nicht ohne explizite Benutzerbestätigung handeln

  • Tägliches Vorschlagslimit — harte Sperre bei 10 Einreichungen pro Tag

  • Domain-Beschränkung — Browser-Navigation ist auf upwork.com beschränkt

  • Keine Offenlegung von Anmeldedaten — Cookies und Token werden niemals zurückgegeben, protokolliert oder gedruckt

  • Schutz vor Pfad-Traversal — Dateinamen für Vorlagen und gespeicherte Suchen werden mit Path.is_relative_to() validiert

  • Audit-Log — alle Tool-Aufrufe werden mit Zeitstempel, Aktionstyp, Ziel und Status aufgezeichnet

Entwicklung

uv sync --extra dev
uv run pytest
uv run ruff check src
uv run mypy src

Lizenz

MIT

A
license - permissive license
-
quality - not tested
-
maintenance - not tested

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.

View all MCP Connectors

Latest Blog Posts

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