upwork-mcp
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.comAudit-Log — Jeder Tool-Aufruf wird an
~/.upwork-mcp/audit.logangehä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 chromiumMit pip
git clone https://github.com/kubegrind/upwork-mcp
cd upwork-mcp
pip install -e .
playwright install chromiumKonfiguration
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-mcpUmgebungsvariablen
Variable | Standardwert | Beschreibung |
|
| Datenverzeichnis für Profil, Logs, Vorlagen |
|
| 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-headlessEin 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 |
| Suche nach Stichworten mit Filtern; gibt bewertete, sortierte Ergebnisse zurück |
| Vollständige Jobdetails inklusive Kundenhistorie und Interviewrate |
| Bewertung eines bestimmten Jobs von 1–10 |
| Überprüfung eines Kunden anhand von 7 Warnsignal-Bedingungen |
| Ausführen einer gespeicherten Suche aus |
Vorschläge
Tool | Beschreibung |
| Liste der eingereichten Vorschläge mit Status |
| Details zu einem bestimmten Vorschlag |
| Entwurf eines Vorschlags aus einer Vorlage |
| Vorschau eines Entwurfs vor der Einreichung |
| SCHREIBEN — Vorschlag einreichen (erfordert |
| SCHREIBEN — Eingereichten Vorschlag zurückziehen (erfordert |
Nachrichten
Tool | Beschreibung |
| Liste der ungelesenen Konversationen |
| Die letzten 10 Nachrichten in einem Thread lesen |
| Antwort zur Überprüfung entwerfen |
| SCHREIBEN — Nachricht senden (erfordert |
Verträge
Tool | Beschreibung |
| Liste aktiver und vergangener Verträge |
| Vertragsdetails und Meilensteine |
| Stunden und Memo-Einträge für einen Vertrag |
Profil
Tool | Beschreibung |
| Name und Titel aus Ihrem Profil |
| Aktueller Connects-Kontostand mit Warnung bei niedrigem Stand |
| JSS, Top-Rated-Status und Gesamtverdienst |
Sitzung & Audit
Tool | Beschreibung |
| Überprüfen, ob die Sitzung authentifiziert ist |
| SCHREIBEN — Browsersitzung schließen |
| SCHREIBEN — Browser-Kontext neu starten |
| 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) erfordernconfirmed: true— das Modell kann nicht ohne explizite Benutzerbestätigung handelnTägliches Vorschlagslimit — harte Sperre bei 10 Einreichungen pro Tag
Domain-Beschränkung — Browser-Navigation ist auf
upwork.combeschränktKeine 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()validiertAudit-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 srcLizenz
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