Moxlade — Upwork buyer intelligence
buyer.moxlade.com
· Moxlade
Upwork buyer intelligence for your own agent, over MCP. A proprietary Upwork corpus your agent asks over MCP: who the anonymous client really is, what they actually pay, and rate benchmarks from a freelancer census. You bring the agent and the subscription; the corpus answers, it is never downloaded. Not affiliated with, endorsed by, or sponsored by Upwork Inc. Upwork is a trademark of Upwork Inc. Data is compiled from public postings and public profiles and is provided as-is.
buyer.moxlade.com via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
F
Conformance score: 36/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-09-06 20:09:44 current | a6a0b42154a8… |
view → |
Endpoints
| Agent card | https://buyer.moxlade.com/.well-known/agent-card.json |
| Provider | https://moxlade.com |
| Docs | https://buyer.moxlade.com/llms.txt |
Skills · 7 declared · mapped to canonical taxonomy
search_jobs: Search Upwork postings by words, an exact phrase, and structured filters. get_prefilter_catalog: The fields search_jobs and save_search can filter …
get_job: One posting in full, as the corpus holds it. get_job_score: How good a posting is on its own terms, 0-100, and WHY.
get_buyer: Who is actually behind an anonymous posting. get_buyer_quality: Whether the client behind a posting actually pays, and how much of that we can honest…
rate_benchmark: What freelancers with a given skill LIST as their hourly rate, as a distribution rather than an average. skill_demand: How many jobs mentioning …
save_search: Save a search so new matching postings are pushed to you as they appear, instead of you polling for them. list_saved_searches: Every search saved a…
get_plan: What this token is allowed to do right now, and what it costs. get_activity: What this token has called, newest first — the log of your own use.
describe_fields: What every field of a result MEANS — the glossary the schema cannot deliver.
Health · last 1 probes
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/buyer.moxlade.com) [](https://agenstry.com/agents/buyer.moxlade.com) [](https://agenstry.com/agents/buyer.moxlade.com) [](https://agenstry.com/agents/buyer.moxlade.com)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"name": "Moxlade \u2014 Upwork buyer intelligence",
"description": "Upwork buyer intelligence for your own agent, over MCP. A proprietary Upwork corpus your agent asks over MCP: who the anonymous client really is, what they actually pay, and rate benchmarks from a freelancer census. You bring the agent and the subscription; the corpus answers, it is never downloaded. Not affiliated with, endorsed by, or sponsored by Upwork Inc. Upwork is a trademark of Upwork Inc. Data is compiled from public postings and public profiles and is provided as-is.",
"url": "https://buyer.moxlade.com",
"provider": {
"organization": "Moxlade",
"url": "https://moxlade.com"
},
"version": "0.1.1",
"documentationUrl": "https://buyer.moxlade.com/llms.txt",
"additionalInterfaces": [
{
"url": "https://buyer.moxlade.com/mcp/",
"transport": "JSONRPC",
"protocol": "MCP",
"protocolVersion": "2026-07-28"
}
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false
},
"securitySchemes": {
"bearer": {
"type": "http",
"scheme": "bearer"
},
"oauth2": {
"type": "oauth2",
"description": "OAuth 2.1 with dynamic client registration and PKCE; tokens are audience-bound to the MCP endpoint (RFC 8707).",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://clerk.buyer.moxlade.com/oauth/authorize",
"tokenUrl": "https://clerk.buyer.moxlade.com/oauth/token",
"scopes": {
"mcp:tools": "Call the corpus tools",
"profile": "Your name",
"email": "Your email address",
"offline_access": "Refresh without signing in again"
}
}
}
}
},
"security": [
{
"bearer": []
},
{
"oauth2": [
"mcp:tools"
]
}
],
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "find-work",
"name": "Find work",
"description": "search_jobs: Search Upwork postings by words, an exact phrase, and structured filters. get_prefilter_catalog: The fields search_jobs and save_search can filter on, with their types and the values each accepts. check_prefilter: Validate a filter without running it, and see how much it would catch.",
"tags": [
"search_jobs",
"get_prefilter_catalog",
"check_prefilter"
],
"examples": [
"search_jobs",
"get_prefilter_catalog"
]
},
{
"id": "judge-a-posting",
"name": "Judge a posting",
"description": "get_job: One posting in full, as the corpus holds it. get_job_score: How good a posting is on its own terms, 0-100, and WHY.",
"tags": [
"get_job",
"get_job_score"
],
"examples": [
"get_job",
"get_job_score"
]
},
{
"id": "judge-the-client",
"name": "Judge the client",
"description": "get_buyer: Who is actually behind an anonymous posting. get_buyer_quality: Whether the client behind a posting actually pays, and how much of that we can honestly claim to know. Call it before spending connects.",
"tags": [
"get_buyer",
"get_buyer_quality"
],
"examples": [
"get_buyer",
"get_buyer_quality"
]
},
{
"id": "the-market",
"name": "The market",
"description": "rate_benchmark: What freelancers with a given skill LIST as their hourly rate, as a distribution rather than an average. skill_demand: How many jobs mentioning a skill were posted recently, and whether that is rising or falling week by week.",
"tags": [
"rate_benchmark",
"skill_demand"
],
"examples": [
"rate_benchmark",
"skill_demand"
]
},
{
"id": "be-told-instead-of-asking",
"name": "Be told, instead of asking",
"description": "save_search: Save a search so new matching postings are pushed to you as they appear, instead of you polling for them. list_saved_searches: Every search saved against this token, with whether it is currently matching. delete_saved_search: Delete a saved search and its delivery, permanently.",
"tags": [
"save_search",
"list_saved_searches",
"delete_saved_search"
],
"examples": [
"save_search",
"list_saved_searches"
]
},
{
"id": "your-plan",
"name": "Your plan",
"description": "get_plan: What this token is allowed to do right now, and what it costs. get_activity: What this token has called, newest first \u2014 the log of your own use.",
"tags": [
"get_plan",
"get_activity"
],
"examples": [
"get_plan",
"get_activity"
]
},
{
"id": "understand-a-result",
"name": "Understand a result",
"description": "describe_fields: What every field of a result MEANS \u2014 the glossary the schema cannot deliver.",
"tags": [
"describe_fields"
],
"examples": [
"describe_fields"
]
}
],
"disclaimer": "Not affiliated with, endorsed by, or sponsored by Upwork Inc. Upwork is a trademark of Upwork Inc. Data is compiled from public postings and public profiles and is provided as-is."
}