Malt MCP Server
MCP server for Malt.fr. Lets Claude (or any MCP client) read your freelance profile, stats, and missions.
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:
- Download the latest
.mcpbfrom releases - Double-click the
.mcpbfile to install it into Claude Desktop - Ask Claude "connecte-moi a Malt" - a browser opens, you log in, done
- 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 need15000.
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 --logoutthen--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
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| malt_mcp-0.4.2.tar.gz | 3.8 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.