Malt Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Malt Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.LeoMbm/malt-mcp -->
MCP server for Malt.fr. Lets Claude (or any MCP client) read your freelance profile, stats, and missions.
<p align="center"> <img src="assets/malt-demo.gif" alt="Malt MCP Server demo" width="800"> </p>
| 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 |
Prerequisites: Claude Desktop.
One-click installation:
.mcpb from releases.mcpb file to install it into Claude DesktopNo 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.
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| 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) |
Login issues:
uvx malt-mcp@latest --login.Timeout issues:
--timeout 10000. Slow connections might need 15000.Browser issues:
uvx malt-mcp@latest --logout then --login. The browser engine changed from system Chrome to managed Chromium.Under the hood, this is browser automation via Patchright (Playwright fork). No API, no reverse-engineering - it drives a real browser like you would.
~/.malt-mcp/profile/, nowhere else.[!IMPORTANT] Malt's TOS may prohibit automated tools. Don't bulk-scrape. Use responsibly.
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 installRun the MCP Inspector (local testing):
uv run mcp dev malt_mcp_server/server.pyRun tests:
uv run pytest --cov -vType check:
uv run ty check~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.