Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Find pickup shops near you, order, pay by card or USDC (x402), and get the QR to collect in person.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AGENTPICKUP_SHOP_URL, AGENTPICKUP_WALLET_KEY, AGENTPICKUP_MAX_PER_ORDER, AGENTPICKUP_NETWORKS, AGENTPICKUP_DIRECTORY_URLValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://agentpickup.app/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"agentpickup": {
"command": "npx",
"args": [
"-y",
"@agentpickup/mcp"
],
"env": {
"AGENTPICKUP_SHOP_URL": "your-value",
"AGENTPICKUP_WALLET_KEY": "your-value",
"AGENTPICKUP_MAX_PER_ORDER": "your-value",
"AGENTPICKUP_NETWORKS": "your-value",
"AGENTPICKUP_DIRECTORY_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http agentpickup https://agentpickup.app/mcpclaude mcp add agentpickup --env AGENTPICKUP_SHOP_URL=your-value --env AGENTPICKUP_WALLET_KEY=your-value --env AGENTPICKUP_MAX_PER_ORDER=your-value --env AGENTPICKUP_NETWORKS=your-value --env AGENTPICKUP_DIRECTORY_URL=your-value -- npx -y @agentpickup/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"agentpickup": {
"url": "https://agentpickup.app/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"agentpickup": {
"command": "npx",
"args": [
"-y",
"@agentpickup/mcp"
],
"env": {
"AGENTPICKUP_SHOP_URL": "your-value",
"AGENTPICKUP_WALLET_KEY": "your-value",
"AGENTPICKUP_MAX_PER_ORDER": "your-value",
"AGENTPICKUP_NETWORKS": "your-value",
"AGENTPICKUP_DIRECTORY_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"agentpickup": {
"type": "http",
"url": "https://agentpickup.app/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"agentpickup": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@agentpickup/mcp"
],
"env": {
"AGENTPICKUP_SHOP_URL": "your-value",
"AGENTPICKUP_WALLET_KEY": "your-value",
"AGENTPICKUP_MAX_PER_ORDER": "your-value",
"AGENTPICKUP_NETWORKS": "your-value",
"AGENTPICKUP_DIRECTORY_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://agentpickup.app/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
AGENTPICKUP_SHOP_URL envAGENTPICKUP_MAX_PER_ORDER envAGENTPICKUP_NETWORKS envAGENTPICKUP_DIRECTORY_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
find_shopsFind 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.
get_shopWhat the shop sells (item ids and prices), where to collect, and which payments it takes.
create_pickup_orderCreate 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.
pay_orderPay 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.
order_statusWhether an order is waiting for payment, paid, ready to collect, collected or expired.
get_pickup_passThe pass link, pickup code and QR content for an order this wallet paid, by signing in with the wallet (Sign-In-With-X).
start_group_orderStart 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.
join_group_orderAdd 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.
group_order_statusWho's in a group order, what they ordered, who has paid, and whether it has closed and been collected.
close_group_orderClose a group order early, as its organiser. Unpaid shares are left out; the shop gets the rest as one order.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account dav3trad3r, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 308 ms (HTTP 200)
No sign-in needed
Read 10 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: AGENTPICKUP_WALLET_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.3.1) reached the registry 2 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server for agentPickup shops. It lets an AI agent find pickup shops near its user, see what they sell, order, pay by card or in USDC over x402, and hand its user the QR they show at the counter to collect.
| Tool | What it does |
|---|---|
find_shops | Shops near a point (lat/lng), in a suburb (place) or selling something (query), from the agentPickup directory: each one's shop_url, address, hours, open now, distance and matching items |
get_shop | Items and prices, the pickup location, and how the shop takes payment |
create_pickup_order | Creates an order. Needs the user's email, where the shop sends the receipt and pickup QR. A test shop marks it paid straight away, with no money moving. Where the shop takes cards, payment: "card" returns a checkout link for the user to pay on instead |
pay_order | Pays the order's x402 link from your wallet and returns the pass link. With no wallet set up, returns the price and pay link instead. For a card order, returns its checkout link |
order_status | Waiting for payment, paid, ready, collected or expired |
get_pickup_pass | Fetches the pass link, pickup code and QR again by signing in as the paying wallet (Sign-In-With-X) |
start_group_order | Starts a group order (a coffee run) with a closing time; returns the code to share and a key to close it early |
join_group_order | Adds the user's items to a group order by its code; pay the share with pay_order before it closes |
group_order_status | Who's in, what they ordered, who has paid, and whether the shop's order is ready or collected |
close_group_order | Closes a group order early, as its organiser; the shop gets one combined order and the organiser its QR |
Try it against the hosted demo shop first. It pays with the demo's own small wallet, within the demo's caps:
{ "mcpServers": { "agentpickup": { "type": "http", "url": "https://agentpickup.app/mcp" } } }
Or run it locally against any agentPickup shop, with your own wallet:
{
"mcpServers": { "agentpickup": { "command": "npx", "args": ["-y", "@agentpickup/mcp"], "env": { "AGENTPICKUP_SHOP_URL": "https://orders.yourshop.com", "AGENTPICKUP_WALLET_KEY": "0x…", "AGENTPICKUP_MAX_PER_ORDER": "$25" } } } }
| Setting | Default | |
|---|---|---|
AGENTPICKUP_SHOP_URL | the demo shop | The shop to order from. Tool calls can also name another shop with shop_url |
AGENTPICKUP_WALLET_KEY | none | An EVM private key holding USDC. Without it, pay_order only quotes |
AGENTPICKUP_MAX_PER_ORDER | $25 | The most the wallet pays for one order |
AGENTPICKUP_NETWORKS | eip155:84532 | Networks the wallet may pay on. Base Sepolia (test USDC) unless you add eip155:8453 for Base mainnet |
AGENTPICKUP_DIRECTORY_URL | https://agentpickup.app/directory/v1/shops | Where find_shops searches. off leaves the tool out |
Use a wallet that holds only what you're willing to let an agent spend. The tools tell the model to confirm items and the total with the user before paying.
import { createMcpHandler, walletPayer } from "@agentpickup/mcp";
const mcp = createMcpHandler({ shopUrl: "https://orders.yourshop.com" }); // no wallet: pay_order quotes app.all("/mcp", (c) => mcp(c.req.raw)); // Streamable HTTP, stateless, any Request/Response runtime
Node 22.13 or later. Licence: FSL-1.1-ALv2 (free to use and self-host; becomes Apache-2.0 two years after each release).