MCP server for managing Kwork freelance marketplace
Project description
MCP server that exposes 25 tools for the Kwork freelance marketplace — browse projects, submit offers, manage orders, send messages, and more.
Built with FastMCP (via MCP Python SDK) and pykwork.
🚀 Setup
Requirements
- uv
- Kwork account (login/password or API token)
Install
When using uv no specific installation is needed. We will use uvx to directly run kwork-mcp.
Alternatively, install via pip:
pip install kwork-mcp
Or from source:
git clone https://github.com/simonether/kwork-mcp.git
cd kwork-mcp
uv sync
Configure
| Variable | Required | Default | Description |
|---|---|---|---|
KWORK_LOGIN |
yes* | — | Kwork login |
KWORK_PASSWORD |
yes* | — | Kwork password |
KWORK_TOKEN |
yes* | — | Auth token (skips login) |
KWORK_PHONE_LAST |
no | — | Last 4 digits of phone (2FA) |
KWORK_PROXY_URL |
no | — | SOCKS5 proxy |
KWORK_RPS_LIMIT |
no | 2 |
Requests per second |
KWORK_BURST_LIMIT |
no | 5 |
Burst limit |
KWORK_TOKEN_FILE |
no | ~/.kwork_token |
Token persistence path |
*Either KWORK_TOKEN or both KWORK_LOGIN + KWORK_PASSWORD.
Auth priority: KWORK_TOKEN env → saved token file → fresh login.
💡 Usage
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"kwork": {
"command": "uvx",
"args": ["kwork-mcp"],
"env": {
"KWORK_LOGIN": "your_login",
"KWORK_PASSWORD": "your_password"
}
}
}
}
Claude Code
claude mcp add kwork -e KWORK_LOGIN=your_login -e KWORK_PASSWORD=your_password -- uvx kwork-mcp
VS Code
Add to .vscode/mcp.json:
{
"mcp": {
"servers": {
"kwork": {
"command": "uvx",
"args": ["kwork-mcp"],
"env": {
"KWORK_LOGIN": "your_login",
"KWORK_PASSWORD": "your_password"
}
}
}
}
}
stdio
uvx kwork-mcp
🛠 Tools
Profile (3 tools)
| Tool | Description |
|---|---|
get_me |
Current user profile, rating, balance |
get_connects |
Connect count for exchange offers |
get_user_info |
Public user info by ID |
Projects (4 tools)
| Tool | Description |
|---|---|
list_projects |
Browse exchange projects with filters |
get_project |
Project details by ID |
search_projects |
Search by text query |
get_exchange_info |
Exchange marketplace stats |
Offers (4 tools)
| Tool | Description |
|---|---|
list_my_offers |
Your exchange offers |
get_offer |
Offer details by ID |
submit_offer |
Submit offer to a project (costs 1 connect) |
delete_offer |
Delete an offer |
Orders (3 tools)
| Tool | Description |
|---|---|
list_worker_orders |
Seller orders (all statuses) |
get_order_details |
Order details by ID |
send_order_for_approval |
Submit work for buyer review |
Dialogs (4 tools)
| Tool | Description |
|---|---|
list_dialogs |
Conversations with latest messages |
get_dialog |
Messages by username |
send_message |
Send direct message |
mark_dialog_read |
Mark as read |
Kworks (4 tools)
| Tool | Description |
|---|---|
list_my_kworks |
Your services grouped by status |
get_kwork_details |
Kwork details by ID |
start_kwork |
Activate a paused kwork |
pause_kwork |
Pause an active kwork |
Categories (2 tools)
| Tool | Description |
|---|---|
list_categories |
Full category tree |
get_favorite_categories |
User's favorite categories |
Notifications (1 tool)
| Tool | Description |
|---|---|
list_notifications |
User notifications |
🧑💻 Development
uv sync --dev
uv run python -m pytest tests/ -x -v
uv run ruff check .
uv run ruff format --check .
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kwork_mcp-0.1.6.tar.gz.
File metadata
- Download URL: kwork_mcp-0.1.6.tar.gz
- Upload date:
- Size: 105.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a425243bfaf9ef77d459afd645a43dfabefb3550ed2100d40cfaffc81083393d
|
|
| MD5 |
6133986224fddb70eea74e562c2836da
|
|
| BLAKE2b-256 |
a7945a3b483a58d06717f0d427337e984eb631fdcdcd2142e3bc286cdf7e0dfe
|
File details
Details for the file kwork_mcp-0.1.6-py3-none-any.whl.
File metadata
- Download URL: kwork_mcp-0.1.6-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e40c973d7f38af369ddcc83851e4fcf6b01021587eb1854c6d13cc1b5bfbfb10
|
|
| MD5 |
e053e455203aef7eef380c98534bdb54
|
|
| BLAKE2b-256 |
2167cbc6aa2a96b7caa3a8e81cde001a97138e16b5882a226e8d213973d62d79
|