Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
76
A2A v0.1.1

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.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain 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.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
36/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~44 ms response
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

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 ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
fail Live JSON-RPC 5/25
Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response.
How to earn +20 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 7 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Moxlade (https://moxlade.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 2d
partial Security declaration 2/5
Declares 2 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's 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 recorded

Nothing 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 to agent-card.json
Captured Hash
2026-09-06 20:09:44 current a6a0b42154a8… view →
Uptime
accumulating
1 direct probes · 30d
Response
88ms
last direct probe
Skills
7
declared
Streaming
SSE-capable

Endpoints

Agent cardhttps://buyer.moxlade.com/.well-known/agent-card.json
Providerhttps://moxlade.com
Docshttps://buyer.moxlade.com/llms.txt
About this provider off-card enrichment
SSL certificate
Google Trust Services
expires 2026-12-01
Discovered via
manifests

Skills · 7 declared · mapped to canonical taxonomy

Find work

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 …

canonical Resume Screening match 83%
search_jobsget_prefilter_catalogcheck_prefilter
Judge a posting

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.

canonical Resume Screening match 85%
get_jobget_job_score
Judge the client

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…

canonical Advertising and Media Buying match 83%
get_buyerget_buyer_quality
The market

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 …

canonical Model Evaluation and Benchmarking match 84%
rate_benchmarkskill_demand
Be told, instead of asking

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…

canonical Semantic Code Search match 83%
save_searchlist_saved_searchesdelete_saved_search
Your plan

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.

canonical PlanAction match 84%
get_planget_activity
Understand a result

describe_fields: What every field of a result MEANS — the glossary the schema cannot deliver.

canonical Api Schema Understanding match 88%
describe_fields

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-09-06 20:09:44 200 88ms

Cheaper or better alternatives per-skill

↑ 5 higher quality

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

AI Crawler Index live
{"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"role":"ROLE_USER","messageId":"1","parts":[{"text":"{\"skill\":\"whoam
Pathwren · q 100%
fresh-feeds.foomworks.workers.dev live
Continuously-maintained, machine-readable data + trust feeds for AI agents: the MCP server registry (deduped, quality-scored) and the x402 s
fresh-feeds.foomworks.workers.dev · q 65%
Rooster Agents live
Rooster Agents is a done-for-you AI marketing agency for high-ticket, cash-pay clinics and local service businesses — and it operates the Ro
Rooster Agents · q 100%
api.demandex.dev
Paid ($0.01 USDC via x402). Returns the top 20 active opportunity cards by score as TEASERS — { id, slug, title, category, score, signalCoun
api.demandex.dev · q 65%
api.borisinc.com
Live Steam market intelligence for AI agents: top sellers by region, value-ranked deals, live player counts, review scores, owner estimates.
api.borisinc.com · q 65%
aura.rohnelt.dev
Gives an autonomous agent a real email address that receives verification codes, its own webhook URL, durable memory across runs, and the ab
aura.rohnelt.dev · q 100%

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.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/buyer.moxlade.com.svg)](https://agenstry.com/agents/buyer.moxlade.com)
[![Verified Business](https://agenstry.com/badge/buyer.moxlade.com/identity.svg)](https://agenstry.com/agents/buyer.moxlade.com)
[![Uptime](https://agenstry.com/badge/buyer.moxlade.com/uptime.svg)](https://agenstry.com/agents/buyer.moxlade.com)
[![A2A version](https://agenstry.com/badge/buyer.moxlade.com/protocol.svg)](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.

audit.json audit.json (JWS-signed) verification history
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."
}