{"id":379046,"name":"markedet package check","description":"Checks PyPI and npm packages before a coding agent installs them: does it exist, age, downloads, known vulnerabilities (OSV), typosquat and slopsquat signals, verdict ok, caution or block. $0.002 USDC per unique package on Base via x402 (HTTP POST /check or MCP /mcp); send a list or a whole lockfile. First 50 packages per payer wallet free (verified, not settled). A clean ok is not a guarantee. Free self-test against a hashed known-answer set.","card_url":"https://package-check-qy40.onrender.com/.well-known/agent-card.json","endpoint":"https://package-check-qy40.onrender.com/a2a","protocol_version":"0.3.0","first_seen":"2026-10-24T23:47:44.348903+00:00","last_verified":"2026-10-25T01:47:58.887367+00:00","card":{"url":"https://package-check-qy40.onrender.com/a2a","name":"markedet package check","skills":[{"id":"check_packages","name":"Package check before install (paid, x402)","tags":["security","supply-chain","pypi","npm","typosquatting","x402","coding-agents"],"examples":["Is it safe to pip install reqeusts?","Check lodash 4.17.15 and react before npm install."],"inputModes":["application/json"],"description":"POST https://package-check-qy40.onrender.com/check with {\"packages\": [{\"ecosystem\": \"pypi\" or \"npm\", \"name\": \"...\"}]}; 402 quotes $0.002 per package, max 500 per call.","outputModes":["application/json"]},{"id":"selftest","name":"Free self-test","tags":["verification","free"],"examples":["selftest"],"description":"GET https://package-check-qy40.onrender.com/selftest replays known-answer set v1 (11 cases) and returns score and sha256."}],"version":"0.4.0","provider":{"url":"https://package-check-qy40.onrender.com","organization":"markedet"},"x-payment":{"asset":"USDC","scheme":"exact","network":"eip155:8453","version":2,"protocol":"x402","maxItemsPerCall":500,"pricePerItemUsd":"0.002"},"description":"Checks PyPI and npm packages before a coding agent installs them: does it exist, age, downloads, known vulnerabilities (OSV), typosquat and slopsquat signals, verdict ok, caution or block. $0.002 USDC per unique package on Base via x402 (HTTP POST /check or MCP /mcp); send a list or a whole lockfile. First 50 packages per payer wallet free (verified, not settled). A clean ok is not a guarantee. Free self-test against a hashed known-answer set.","capabilities":{"streaming":false,"pushNotifications":false},"protocolVersion":"0.3.0","documentationUrl":"https://bitbucket.org/markedet/package-check","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["application/json","text/plain"],"preferredTransport":"JSONRPC","additionalInterfaces":[{"url":"https://package-check-qy40.onrender.com/mcp","transport":"MCP-streamable-http"},{"url":"https://package-check-qy40.onrender.com/check","transport":"HTTP+x402"}]},"status":"verified","publisher_domain":"package-check-qy40.onrender.com","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-25T01:47:58.887367+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://package-check-qy40.onrender.com/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-25T01:47:58.887367+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://package-check-qy40.onrender.com/.well-known/agent-card.json"],"skills":[{"skill_id":"selftest","name":"Free self-test","description":"GET https://package-check-qy40.onrender.com/selftest replays known-answer set v1 (11 cases) and returns score and sha256.","tags":["verification","free"],"quality_warning":false},{"skill_id":"check_packages","name":"Package check before install (paid, x402)","description":"POST https://package-check-qy40.onrender.com/check with {\"packages\": [{\"ecosystem\": \"pypi\" or \"npm\", \"name\": \"...\"}]}; 402 quotes $0.002 per package, max 500 per call.","tags":["security","supply-chain","pypi","npm","typosquatting","x402","coding-agents"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":2,"passed":2},"recent_checks":[{"card_url":"https://package-check-qy40.onrender.com/.well-known/agent-card.json","checked_at":"2026-10-25T01:47:58.887367+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://package-check-qy40.onrender.com/.well-known/agent-card.json","checked_at":"2026-10-24T23:47:44.348903+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-25T01:47:58.887367+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-24T23:47:44.348903+00:00","endpoint":"https://package-check-qy40.onrender.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3.0","state":"jsonrpc_no_task_lookup","http_status":200,"detail":"Endpoint answered JSON-RPC, but neither tasks/get (A2A 0.3) nor GetTask (A2A 1.0) is available. Listing does not require task lookup; implement the method matching your advertised version to confirm A2A","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"0.3","protocol_method":"tasks/get","redirect_followed":false},{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://package-check-qy40.onrender.com/a2a","selected_connection_interface":{"url":"https://package-check-qy40.onrender.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3.0"},"protocol_interface_checks":[{"endpoint":"https://package-check-qy40.onrender.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":true,"state":"jsonrpc_no_task_lookup","checked_at":"2026-10-24T23:47:44.348903+00:00","http_status":200,"detail":"Endpoint answered JSON-RPC, but neither tasks/get (A2A 0.3) nor GetTask (A2A 1.0) is available. Listing does not require task lookup; implement the method matching your advertised version to confirm A2A","binding_recorded":true}],"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://package-check-qy40.onrender.com/.well-known/agent-card.json","last_successful_card_check":"2026-10-25T01:47:58.887367+00:00","latest_card_check":{"checked_at":"2026-10-25T01:47:58.887367+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-25T01:47:58.887367+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-25T01:47:58.887367+00:00","endpoint_tls_reachable":true,"protocol_check_state":"jsonrpc_no_task_lookup","protocol_checked_at":"2026-10-24T23:47:44.348903+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":379046,"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/379046/repair","publisher_report_url":"https://localmark.ai/publishers/package-check-qy40.onrender.com/repair","diagnostics_json_url":"https://localmark.ai/publishers/package-check-qy40.onrender.com/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/package-check-qy40.onrender.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"}}}