{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T16:31:33.428Z","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup","markdownUrl":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup.md","server":{"slug":"dav3trad3r-agentpickup","name":"agentPickup","registryName":"io.github.dav3trad3r/agentpickup","description":"Find pickup shops near you, order, pay by card or USDC (x402), and get the QR to collect in person.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"agentpickup","type":"remote","identifier":"https://agentpickup.app/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup","version":"0.3.1","transport":null,"scoredAt":"2026-11-06T08:47:50.389Z"},"score":{"total":70,"tier":"medium","status":"scored","weekDelta":null,"history":[{"date":"2026-11-06","total":70},{"date":"2026-11-05","total":68},{"date":"2026-11-04","total":68},{"date":"2026-11-03","total":69}]},"categories":[{"name":"Endpoint Security","score":74,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":65,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 1358 tokens (~135/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"135","items":"10","tools":"10","tokens":"1358","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":10,"verdict":"partial","reasons":["Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"3"}}]},{"name":"Tool Coverage","score":91,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","74% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"74"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.","An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_declared","args":{"pct":"100","annotated":"1","destructive":"1"}},{"code":"toolsafety.manipulation_clean","args":{"units":"11","judged":"11"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"agentpickup","type":"remote","identifier":"https://agentpickup.app/mcp","withdrawn":false,"score":70,"current":true,"url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup","markdownUrl":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup.md"},{"slug":"agentpickup-mcp","type":"npm","identifier":"@agentpickup/mcp","withdrawn":false,"score":61,"current":false,"url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup-mcp","markdownUrl":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup-mcp.md"}],"facts":[{"label":"Endpoint","value":"https://agentpickup.app/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"0.3.1"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"find_shops","title":"Find pickup shops","description":"Find agentPickup shops to order from: near a point (lat/lng), in a suburb or city (place), or selling something (query). Returns each shop's shop_url, pickup address, hours, whether it's open now, distance, and matching menu items.","inputs":[{"name":"lat","type":"number","required":false,"description":"Where the user is: latitude. Send with lng."},{"name":"limit","type":"integer","required":false,"description":null},{"name":"lng","type":"number","required":false,"description":"Where the user is: longitude. Send with lat."},{"name":"open_now","type":"boolean","required":false,"description":"Only shops open now (shops without listed hours stay in)."},{"name":"place","type":"string","required":false,"description":"A suburb, street or city to match against shop addresses, e.g. \"Surry Hills\"."},{"name":"query","type":"string","required":false,"description":"What the user wants, e.g. \"flat white\" or \"croissant\". Leave out to list everything."},{"name":"radius_km","type":"number","required":false,"description":"With lat/lng: how far to look. Default 10."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":200},{"name":"get_shop","title":"See what a shop sells","description":"What the shop sells (item ids and prices), where to collect, and which payments it takes.","inputs":[{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"create_pickup_order","title":"Order for pickup","description":"Create an order to collect in person. Returns the order id and total; pay it with pay_order. The shop emails the pickup QR to `email` once it's paid. Where the shop takes cards, `payment: \"card\"` returns a checkout link for the user to pay on instead.","inputs":[{"name":"email","type":"string","required":true,"description":"The user's email. The pickup QR goes here."},{"name":"items","type":"array","required":true,"description":null},{"name":"name","type":"string","required":false,"description":"Name for the order, shown to staff"},{"name":"payment","type":"string","required":false,"description":"Who pays: agent (USDC over x402, or a test payment at a test shop) or card (the user pays on a checkout link). Default: agent where the shop takes it, else card."},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":185},{"name":"pay_order","title":"Pay for an order","description":"Pay an order in USDC over x402 from wallet 0xd253e213cE143Aa0E1e1cAfc92f7AE82c98aB3bB. This spends money: confirm the items and total with the user first. Returns the pickup pass link.","inputs":[{"name":"order_id","type":"string","required":true,"description":null},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":107},{"name":"order_status","title":"Check an order","description":"Whether an order is waiting for payment, paid, ready to collect, collected or expired.","inputs":[{"name":"order_id","type":"string","required":true,"description":null},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":63},{"name":"get_pickup_pass","title":"Get the pickup pass","description":"The pass link, pickup code and QR content for an order this wallet paid, by signing in with the wallet (Sign-In-With-X).","inputs":[{"name":"order_id","type":"string","required":true,"description":null},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":75},{"name":"start_group_order","title":"Start a group order","description":"Start a group order (a coffee run) at a shop. Returns a code to share: each person's agent joins with it and pays for their own items. When it closes, the shop gets one combined order and the organiser is emailed its pickup QR.","inputs":[{"name":"closes_in_minutes","type":"integer","required":false,"description":"Default 15"},{"name":"organiser_email","type":"string","required":true,"description":"Where the group's pickup QR goes"},{"name":"organiser_name","type":"string","required":true,"description":"Who collects, shown to staff"},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."},{"name":"title","type":"string","required":false,"description":"e.g. \"Friday coffee run\""}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":143},{"name":"join_group_order","title":"Join a group order","description":"Add the user's items to a group order with its code. Returns the order id; pay it with pay_order before the group closes. The organiser collects everything, so the user gets a receipt, not a QR.","inputs":[{"name":"code","type":"string","required":true,"description":"The group's code"},{"name":"email","type":"string","required":true,"description":"The user's email, for their receipt"},{"name":"items","type":"array","required":true,"description":null},{"name":"name","type":"string","required":true,"description":"The user's name, shown to staff on their items"},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":129},{"name":"group_order_status","title":"Check a group order","description":"Who's in a group order, what they ordered, who has paid, and whether it has closed and been collected.","inputs":[{"name":"code","type":"string","required":true,"description":null},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":69},{"name":"close_group_order","title":"Close a group order now","description":"Close a group order early, as its organiser. Unpaid shares are left out; the shop gets the rest as one order.","inputs":[{"name":"code","type":"string","required":true,"description":null},{"name":"organiser_key","type":"string","required":true,"description":null},{"name":"shop_url","type":"string","required":false,"description":"An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":79}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-06T08:47:50.000Z","track":"remote","endpoint":"https://agentpickup.app/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=agentpickup.app","issuer":"CN=YE2,O=Let's Encrypt,C=US","notBefore":"2026-11-03T03:34:05Z","notAfter":"2027-02-01T03:34:04Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=YE2,O=Let's Encrypt,C=US","issuer":"CN=Root YE,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=Root YE,O=ISRG,C=US","issuer":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"agentpickup.app.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"app.","outcome":"verified","label":"Verified"},{"zone":"agentpickup.app.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-11-03","recent":[{"id":"chg_01a1b00a-f485-7635-859d-743086f01424","kind":"score.rubric_changed","summary":"We updated how we score, so this day's move reflects our rubric, not a change to the server","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-06","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1b00a-f485-7635-859d-743086f01424"},{"id":"chg_01a1a902-63f1-701d-a968-7f7513a0a96b","kind":"score.total_changed","summary":"Trust score (68 → 4)","materiality":"functional","direction":"regression","scoreDelta":-64,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a902-63f1-701d-a968-7f7513a0a96b"},{"id":"chg_01a1a594-bd67-7282-a108-438341dd32b5","kind":"check.appeared","summary":"First check of Schema quality (unverified)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd67-7282-a108-438341dd32b5"},{"id":"chg_01a1a594-bd68-719c-be63-1cc8caf5cfb6","kind":"score.total_changed","summary":"Trust score (69 → 4)","materiality":"functional","direction":"regression","scoreDelta":-65,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd68-719c-be63-1cc8caf5cfb6"},{"id":"chg_01a1a594-bd63-7054-a81a-f458941a23a3","kind":"check.unverifiable","summary":"HSTS header (fail → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd63-7054-a81a-f458941a23a3"},{"id":"chg_01a1a594-bd63-7cf1-8e9a-f0fbdbde8483","kind":"check.unverifiable","summary":"Authorization (partial → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd63-7cf1-8e9a-f0fbdbde8483"},{"id":"chg_01a1a594-bd64-7424-95cf-827c7b72f40d","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd64-7424-95cf-827c7b72f40d"},{"id":"chg_01a1a594-bd64-7b25-ac3c-fb84523671b9","kind":"check.unverifiable","summary":"TLS certificate (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd64-7b25-ac3c-fb84523671b9"},{"id":"chg_01a1a594-bd65-73c8-b375-771f122d8662","kind":"check.verdict","summary":"Transport (pass → fail)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd65-73c8-b375-771f122d8662"},{"id":"chg_01a1a594-bd66-716c-9776-a2e3d055f11d","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd66-716c-9776-a2e3d055f11d"},{"id":"chg_01a1a594-bd66-7a6c-bde1-e9b541f43896","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd66-7a6c-bde1-e9b541f43896"},{"id":"chg_01a1a594-bd67-7b29-a278-2c605a9ab9cb","kind":"capture.status_changed","summary":"Endpoint reachability (reachable → unreachable)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a594-bd67-7b29-a278-2c605a9ab9cb"},{"id":"chg_01a1a111-0e78-76a8-9be7-6083487bd9f7","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a1a111-0e78-76a8-9be7-6083487bd9f7"},{"id":"chg_01a19ffe-ed77-701b-897e-9deb912ce508","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup#chg-chg_01a19ffe-ed77-701b-897e-9deb912ce508"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup/changelog.json"},"links":{"html":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup","markdown":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup.md","changelogJson":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup/changelog.json","changelogRss":"https://verifymcp.io/servers/dav3trad3r-agentpickup/agentpickup.xml","external":[{"label":"Remote endpoint","href":"https://agentpickup.app/mcp"},{"label":"Website","href":"https://agentpickup.app/"}]}}