Skip to main content

Malt MCP Server

PyPI Python License

MCP server for Malt.fr. Lets Claude (or any MCP client) read your freelance profile, stats, and missions.

Install MCP Bundle uvx Docker

Malt MCP Server demo

Tools

Tool Description Status
authenticate Log in to Malt interactively from Claude Desktop working
get_profile Get freelance profile info (bio, daily rate, skills, rating). Omit username to fetch your own profile. 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
close_session Close the browser and free resources working

📦 Claude Desktop MCP Bundle

Prerequisites: Claude Desktop.

One-click installation:

  1. Download the latest .mcpb from releases
  2. Double-click the .mcpb file to install it into Claude Desktop
  3. Ask Claude "connecte-moi a Malt" - a browser opens, you log in, done
  4. Call any Malt tool

No terminal needed. Session is saved in ~/.malt-mcp/ and reused across restarts.

[!NOTE] Google OAuth doesn't work (blocked by Google when automated). Use email/password.

🚀 uvx Setup (Universal)

Prerequisites: uv installed.

Add to your MCP client config (Claude Desktop, Claude Code, or any MCP-compatible client):

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

@latest pulls the newest version from PyPI on each launch. First auth-requiring call opens a browser for login.

To log in ahead of time:

uvx malt-mcp@latest --login

Docker (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:

  • Google OAuth won't work. Use email/password.
  • Session expired? Re-run uvx malt-mcp@latest --login.
  • Cloudflare challenge on first load is normal - the browser handles it, give it a few seconds.

Timeout issues:

  • Pages not loading? Try --timeout 10000. Slow connections might need 15000.

Browser issues:

  • Headless mode doesn't work - Cloudflare blocks it. The browser window is expected.
  • First run downloads Chromium (~200 MB via Patchright). One-time thing.
  • Upgrading from v0.3.x? Run uvx malt-mcp@latest --logout then --login. The browser engine changed from system Chrome to managed Chromium.

🔒 How it works

Under the hood, this is browser automation via Patchright (Playwright fork). No API, no reverse-engineering - it drives a real browser like you would.

  • Credentials stay local. Cookies live in ~/.malt-mcp/profile/, nowhere else.
  • Read-only. Nothing is modified on your Malt account (for now).
  • Runs locally. The server talks to Malt.fr and nothing else.

[!IMPORTANT] Malt's TOS may prohibit automated tools. Don't bulk-scrape. Use responsibly.

🐍 Development

Contributions welcome! See CONTRIBUTING.md for architecture guidelines.

git clone https://github.com/LeoMbm/malt-mcp.git
cd malt-mcp
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

Metadata

Release files for malt-mcp 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for malt-mcp 0.4.2
File Size Uploaded Provenance
malt_mcp-0.4.2.tar.gz 3.8 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for malt-mcp 0.4.2
File Interpreter ABI Platform
malt_mcp-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.9 MB

Release files / malt_mcp-0.4.2.tar.gz

Download URL malt_mcp-0.4.2.tar.gz
Size 3.8 MB
Tags Source
SHA-256 checksum
How to use checksums
f689f82bcf1aa761562a2856e4c56a9e9480cf7046a3f64597ef8f6601bd690a
BLAKE2b-256 checksum
How to use checksums
fa276b5664897b63fb7a453dfc3af1c068ee7a8ed64a339602782a8e39ea8a3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.

Transparency log

Release files / malt_mcp-0.4.2-py3-none-any.whl

Download URL malt_mcp-0.4.2-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fe4ffdb39f57b3fe3e6a41efdf388c75080c8a034af4a5eb1571f44790f5d0d
BLAKE2b-256 checksum
How to use checksums
e429d820c085b5bfa6bf3557b219c865c8106b29228487c3a2cc9a243abe642a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.

Transparency log

Security for malt-mcp 0.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for malt_mcp-0.4.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page