Quickstart
Nothing to install. Three steps, and the third returns real postings.
1. Get in
Two ways, both landing on the same account. If your client speaks MCP authorization — Claude and ChatGPT do — just give it https://buyer.moxlade.com/mcp/ and it will handle the sign-in itself. Otherwise mint a token at /connect and paste it.
The trailing slash matters. Without it you get a redirect, and a client that does not replay a POST body across one fails in a way that looks like our bug.
2. Prove it works
get_plan takes no arguments, costs nothing against your caps, and answers on every plan state — so it tells you the connection is good without spending anything.
curl -s -X POST https://buyer.moxlade.com/mcp/ \
-H "Authorization: Bearer $MOXLADE_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'Mcp-Method: tools/call' -H 'Mcp-Name: get_plan' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_plan","arguments":{}}}'You should get your plan, its state, and usage — today's calls against the daily cap. If instead you get a 401, the token is wrong or missing; see refusals, which explains why there are two different ones.
3. Your first real question
Same envelope, a different tool. This searches the live corpus:
{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"search_jobs",
"arguments":{"phrase":"React Native","limit":5}}}Read result.structuredContent: matched is how many postings exist for that phrase, jobs is the page you got, and next_cursor is there while more remain. Those postings are now in your feed, which is what lets get_buyer and get_buyer_quality answer about them.
Where to go next
- Workflows — the six sequences, with call order and cost. Start here if you know what you want to accomplish.
- Filter reference — the filter language, if a phrase is not precise enough.
- Tool reference — all of them, with arguments and result fields.
- Example prompts — if you would rather just ask your agent.