Skip to main content

MCP server for Malt.fr — manage your freelance profile, stats, missions, and availability through AI assistants.

Project description

Malt MCP Server

PyPI Python License

Give Claude and any MCP-compatible AI assistant access to your Malt.fr freelance account — profile, stats, and missions.

Tools

Tool Description Status
get_profile Get freelance profile info (bio, daily rate, skills, rating) working
get_statistics View profile stats (views, response rate, missions) working
get_missions List mission conversations from messaging working
get_mission_details Get full details of a specific mission (budget, skills, messages) working

📦 Installation

uvx (recommended)

Prerequisites: uv installed.

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "malt": {
      "command": "uvx",
      "args": ["malt-mcp@latest"],
      "env": { "UV_HTTP_TIMEOUT": "300" }
    }
  }
}

First-time login

uvx malt-mcp@latest --login

This opens a browser window where you log into Malt manually. Your session is saved locally in ~/.malt-mcp/profile/ and persists across restarts.

[!NOTE] Only email/password login is supported. Google OAuth is detected and blocked by Google when automated.

Docker (coming soon)

MCP Bundle for Claude Desktop (coming soon)

⚙️ CLI Options

Option Description
--login Open browser to log in and save session
--logout Clear stored browser profile
--no-headless Show browser window (debug)
--log-level Set log level (DEBUG, INFO, WARNING, ERROR)
--timeout Browser timeout in ms (default: 5000)

❗ Troubleshooting

Login issues:

  • Only email/password login works. Google OAuth will fail.
  • If your session expires, re-run uvx malt-mcp@latest --login.
  • Malt may show a Cloudflare challenge on first load — the browser handles it automatically, but it may take a few seconds.

Timeout issues:

  • If pages fail to load or elements aren't found, increase the timeout: --timeout 10000
  • Slow connections may need higher values (e.g., 15000)

Browser issues:

  • This server requires a headed (visible) browser. Headless mode is blocked by Cloudflare.
  • On first run, Patchright downloads a Chromium browser (~200 MB). This is automatic.

🔒 Privacy & Security

This server uses browser automation (Patchright) to interact with Malt.fr through a real browser session. No unofficial APIs are used.

  • Your credentials stay local. Login happens in your browser; cookies are stored in ~/.malt-mcp/profile/.
  • Read-only. All current tools only read data — nothing is modified on your Malt account.
  • No data leaves your machine. The MCP server runs locally and communicates only with Malt.fr.

[!IMPORTANT] Malt's Terms of Service may prohibit automated tools. With normal usage (not bulk scraping) you should be fine. Use responsibly.

🐍 Development

Contributions welcome! See CONTRIBUTING.md for architecture guidelines.

git clone https://github.com/LeoMbm/malt-mcp-server.git
cd malt-mcp-server
uv sync --group dev
pre-commit install

Run the MCP Inspector (local testing):

uv run mcp dev malt_mcp_server/server.py

Run tests:

uv run pytest --cov -v

Type check:

uv run ty check

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

malt_mcp-0.1.0.tar.gz (101.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

malt_mcp-0.1.0-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

Details for the file malt_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: malt_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 101.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for malt_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af4f3053b126f7d043e1f2cca17e5a452fa4c1f4bad5c3f7b092bf959f63141a
MD5 92dcaeaf45d111296708b55dd6e72101
BLAKE2b-256 9429e489f853e9c2132f2ebcacfa452c7c718c7653773429a6121562cd8d8534

See more details on using hashes here.

Provenance

The following attestation bundles were made for malt_mcp-0.1.0.tar.gz:

Publisher: release.yml on LeoMbm/malt-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file malt_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: malt_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for malt_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08bcd66a3019d7e0cf517b8c2f20836ddbfc66e74321e40108c5691d4584e03c
MD5 0a7cb7daaba37e8166acdc6b3d65760f
BLAKE2b-256 6ae377cf02614549941302ae2a9b5cbe3ae4fcbe5355db5bd7a9710aa353abcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for malt_mcp-0.1.0-py3-none-any.whl:

Publisher: release.yml on LeoMbm/malt-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page