mcpField
A
agentPickup

agentPickup

Remote
agentpickup.appBusiness & Marketing0Updated 1d ago

About agentPickup

agentPickup is an MCP server that lets AI agents find participating shops, place pickup orders, arrange payment, and retrieve a QR pass for in-person collection. It supports individual and group orders, with card or USDC payment options depending on the shop.

Key features

  1. 01Find nearby shops and matching items
  2. 02View shop menus, prices, and payment methods
  3. 03Create orders and retrieve pickup QR passes
  4. 04Pay by card or USDC where supported
  5. 05Coordinate and track group orders

Use cases

  1. 01Find a nearby shop selling a requested item
  2. 02Order and collect food or drinks in person
  3. 03Organize a shared café order
  4. 04Check payment and collection status

MCP support

Exposes shop discovery, ordering, payment, pickup-pass, and group-order tools to MCP clients. It can connect to the hosted service or run locally against an agentPickup shop.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://agentpickup.app/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npm@agentpickup/mcp0.7.4

Tools

Details

From the project README

@agentpickup/mcp

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.

Tools

ToolWhat it does
find_shopsShops 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_shopItems and prices, the pickup location, and how the shop takes payment
create_pickup_orderCreates an order and returns a claim to keep with it. Needs the user's email, where the shop sends the receipt and pickup pass. 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_orderPays 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_statusWaiting for payment, paid, ready, collected or expired. With the order's claim, a paid order's pass comes back too
get_pickup_passFetches the pass link, pickup code and QR again: with the order's claim, or by signing in as the paying wallet (Sign-In-With-X)
start_group_orderStarts a group order (a coffee run) with a closing time; returns the code to share and a key to close it early
join_group_orderAdds the user's items to a group order by its code; pay the share with pay_order before it closes
group_order_statusWho's in, what they ordered, who has paid, and whether the shop's order is ready or collected
share_agentpickupA QR and link for friends to add agentPickup to their assistant (as a card where the chat shows cards), for everyone or with one café picked
close_group_orderCloses a group order early, as its organiser; the shop gets one combined order and the organiser its QR

The pickup pass card

In chat apps that draw MCP Apps cards (Claude and ChatGPT among them), create_pickup_order, order_status and get_pickup_pass show the order as a card: a Pay button while it's unpaid, then the QR and pickup code, kept up to date until it's collected. When the shop marks it ready, the QR's tile turns lime. The card is one self-contained page (ui://agentpickup/pass-<version>.html) that loads nothing from anywhere else. In apps without cards, the agent gives the user the pass link and pickup code. The shop emails the pass either way. The card's "Invite a friend" link, and share_agentpickup's own card, point at the add page (addPageUrl, default https://agentpickup.app/add) so friends can add it too.

Use it

Try it against the hosted demo shops first. The hosted server holds no wallet: its demo shops take a free test payment, the Square sandbox's test card, or USDC from the user's own x402 wallet:

{ "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"
      }
    }
  }
}
SettingDefault
AGENTPICKUP_SHOP_URLthe demo shopThe shop to order from. Tool calls can also name another shop with shop_url
AGENTPICKUP_WALLET_KEYnoneAn EVM private key holding USDC. Without it, pay_order only quotes
AGENTPICKUP_MAX_PER_ORDER$25The most the wallet pays for one order
AGENTPICKUP_NETWORKSeip155:84532Networks the wallet may pay on. Base Sepolia (test USDC) unless you add eip155:8453 for Base mainnet
AGENTPICKUP_DIRECTORY_URLhttps://agentpickup.app/directory/v1/shopsWhere 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.

Host it in your own server

import { createMcpHandler, walletPayer } from "@agentpickup/mcp";

const mcp = createMcpHandler({ shopUrl: "https://orders.yourshop.com" }); // no wallet: pay_order quotes
// `instructions` adds your own notes to what agents read on connecting, e.g. which of your shops take what.
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).

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.