For AI agents / MCP server

    Local store inventory for AI shopping agents.

    Give your agent the shelves of real local shops. JENNi's public MCP server searches products at stores near any US ZIP code, says plainly what can be ordered and how it gets there, and hands the shopper a checkout link. The shopper approves and pays, and your agent never touches a card.

    Connect in one line

    Point an MCP client that supports remote Streamable HTTP servers at the endpoint. Clients that take a JSON config use the shape below; check your client's docs for its exact keys. No sign-in is needed to search or to start a checkout.

    https://prod.jennipro.net/public/v1/agent/mcp
    {
      "mcpServers": {
        "jenni": {
          "url": "https://prod.jennipro.net/public/v1/agent/mcp"
        }
      }
    }

    Or call it directly:

    curl -s https://prod.jennipro.net/public/v1/agent/mcp \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json, text/event-stream' \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
           "params":{"name":"search_catalog",
                     "arguments":{"query":"toy","zip":"78205"}}}'

    Agents that discover merchants through the Universal Commerce Protocol find the same endpoint in our manifest at shop.jennipro.com/.well-known/ucp, which declares that every purchase requires the buyer's approval.

    Four tools, from search to checkout

    search_catalog

    Search products on the shelves of local shops near a US ZIP code, or inside one store. Each product comes back with its offers: which shop, the price, whether it can be ordered and how it gets to the shopper.

    find_stores

    Find a shop by name and get its store_id, so your agent can search one store's shelves.

    get_product

    Full detail for one product: description, image, and its sizes and colours, each variant with its own product id and page.

    start_checkout

    Once the shopper has picked the item, the shop, a quantity and their ZIP, re-check the offer and return a checkout link. The shopper reviews the total and pays on the JENNi checkout page.

    Answers your agent can trust

    An agent that promises an item and then can't deliver it loses the shopper. Every offer JENNi returns says what it can and can't promise.

    is_eligible_checkout
    True means the checkout can take this order now. Your agent never has to guess whether a buy button will work.
    availability: null
    We could not read that shelf. JENNi says so rather than guessing, and your agent should never present it as in or out of stock.
    fulfillment
    local_delivery: the store's stock is delivered to the shopper. concierge: a JENNi shopper buys the item at the store during its hours, and payment is only a pending hold until then. in_store_only: on the shelf, but it can't be ordered through JENNi.

    Questions

    What is JENNi's MCP server?

    A public Model Context Protocol server that lets AI agents search the shelves of real local shops near a US ZIP code, read product and offer detail, and start a checkout the shopper completes themselves.

    Does my agent need an API key?

    No. Search, product detail and start_checkout work without signing in. The shopper enters their own details on the checkout page.

    Does my agent handle payment?

    No. start_checkout returns a checkout link. The shopper sees the total and pays on JENNi's checkout page, and nothing is charged until they place the order. Our UCP manifest declares requires_buyer_approval.

    Which places are covered?

    It depends on the ZIP code. Where we have no local shops for a ZIP, search returns no products rather than padding results with online-only stock.

    I run a store. How do my products show up for AI agents?

    Connect your store to JENNi. We read your shelves, publish only what a store can actually fulfil, and route the orders agents send back to that store.