{"id":498824,"name":"Moxlade — 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.","card_url":"https://buyer.moxlade.com/.well-known/agent-card.json","endpoint":"https://buyer.moxlade.com","protocol_version":"0.3.0","first_seen":"2026-10-28T14:50:44.218923+00:00","last_verified":"2026-10-28T14:50:44.218923+00:00","card":{"url":"https://buyer.moxlade.com","name":"Moxlade — Upwork buyer intelligence","skills":[{"id":"find-work","name":"Find work","tags":["search_jobs","get_prefilter_catalog","check_prefilter"],"examples":["search_jobs","get_prefilter_catalog"],"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."},{"id":"judge-a-posting","name":"Judge a posting","tags":["get_job","get_job_score"],"examples":["get_job","get_job_score"],"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."},{"id":"judge-the-client","name":"Judge the client","tags":["get_buyer","get_buyer_quality"],"examples":["get_buyer","get_buyer_quality"],"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."},{"id":"the-market","name":"The market","tags":["rate_benchmark","skill_demand"],"examples":["rate_benchmark","skill_demand"],"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."},{"id":"be-told-instead-of-asking","name":"Be told, instead of asking","tags":["save_search","list_saved_searches","delete_saved_search"],"examples":["save_search","list_saved_searches"],"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."},{"id":"your-plan","name":"Your plan","tags":["get_plan","get_activity"],"examples":["get_plan","get_activity"],"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 — the log of your own use."},{"id":"understand-a-result","name":"Understand a result","tags":["describe_fields"],"examples":["describe_fields"],"description":"describe_fields: What every field of a result MEANS — the glossary the schema cannot deliver."}],"version":"0.1.1","provider":{"url":"https://moxlade.com","organization":"Moxlade"},"security":[{"bearer":[]},{"oauth2":["mcp:tools"]}],"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.","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.","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"},"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"scopes":{"email":"Your email address","profile":"Your name","mcp:tools":"Call the corpus tools","offline_access":"Refresh without signing in again"},"tokenUrl":"https://clerk.buyer.moxlade.com/oauth/token","authorizationUrl":"https://clerk.buyer.moxlade.com/oauth/authorize"}},"description":"OAuth 2.1 with dynamic client registration and PKCE; tokens are audience-bound to the MCP endpoint (RFC 8707)."}},"documentationUrl":"https://buyer.moxlade.com/llms.txt","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"additionalInterfaces":[{"url":"https://buyer.moxlade.com/mcp/","protocol":"MCP","transport":"JSONRPC","protocolVersion":"2026-07-28"}]},"status":"verified","publisher_domain":"moxlade.com","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-28T14:50:44.218923+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://buyer.moxlade.com/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-28T14:50:44.218923+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://buyer.moxlade.com/.well-known/agent-card.json"],"skills":[{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_id":"understand-a-result","name":"Understand a result","description":"describe_fields: What every field of a result MEANS — the glossary the schema cannot deliver.","tags":["describe_fields"],"quality_warning":false},{"skill_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 — the log of your own use.","tags":["get_plan","get_activity"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://buyer.moxlade.com/.well-known/agent-card.json","checked_at":"2026-10-28T14:50:44.218923+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-28T14:50:44.218923+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-28T14:50:44.218923+00:00","endpoint":"https://buyer.moxlade.com","protocol_binding":"JSONRPC","protocol_version":"0.3.0","state":"unconfirmed","http_status":405,"detail":"Advertised endpoint rejected the required POST JSON-RPC task lookup (HTTP 405). Update the advertised interface URL or implement its standard task-lookup route","request_diagnostics":{"requests":[{"path":"/","allow":["GET","HEAD"],"method":"POST","status":405,"version_header":"0.3","protocol_method":"tasks/get","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://buyer.moxlade.com","selected_connection_interface":{"url":"https://buyer.moxlade.com","protocolBinding":"JSONRPC","protocolVersion":"0.3.0"},"protocol_interface_checks":[{"endpoint":"https://buyer.moxlade.com","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":true,"state":"unconfirmed","checked_at":"2026-10-28T14:50:44.218923+00:00","http_status":405,"detail":"Advertised endpoint rejected the required POST JSON-RPC task lookup (HTTP 405). Update the advertised interface URL or implement its standard task-lookup route","binding_recorded":true},{"endpoint":"https://buyer.moxlade.com/mcp/","protocol_binding":"JSONRPC","protocol_version":"2026-07-28","selected":false,"state":"not_checked","checked_at":null,"http_status":null,"detail":"No stored read-only probe for this advertised interface.","binding_recorded":false}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://buyer.moxlade.com/.well-known/agent-card.json","last_successful_card_check":"2026-10-28T14:50:44.218923+00:00","latest_card_check":{"checked_at":"2026-10-28T14:50:44.218923+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-28T14:50:44.218923+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-28T14:50:44.218923+00:00","endpoint_tls_reachable":true,"protocol_check_state":"unconfirmed","protocol_checked_at":"2026-10-28T14:50:44.218923+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":498824,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/498824/repair","publisher_report_url":"https://localmark.ai/publishers/moxlade.com/repair","diagnostics_json_url":"https://localmark.ai/publishers/moxlade.com/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/moxlade.com/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}