🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

probo-connect-mcp

Package Overview
Dependencies
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

probo-connect-mcp

MCP server for the Probo print-on-demand API — search products, configure, place orders, and track status via the Model Context Protocol

latest
Source
npmnpm
Version
2.13.0
Version published
Maintainers
1
Created
Source

Probo Connect MCP

npm version npm downloads MCP registry License: MIT Node.js

Connect AI assistants to the Probo print-on-demand platform. This MCP server lets Claude, Cursor, Windsurf, VS Code, and other AI tools search products, configure orders, manage uploads, track shipments, and more — all through natural language.

Default order mode is test — no real orders are placed until you set PROBO_API_MODE=production.

Install

All methods require a Probo reseller API key. Get yours from the Probo platform or contact Probo support.

Cursor

Paste this in your browser address bar to install instantly:

cursor://anysphere.cursor-deeplink/mcp/install?name=probo-connect&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsInByb2JvLWNvbm5lY3QtbWNwIl0sImVudiI6eyJQUk9CT19BUElfS0VZIjoieW91ci1hcGkta2V5LWhlcmUifX0=

Cursor opens with a confirmation dialog. After install, replace your-api-key-here with your Probo API key in the MCP settings.

VS Code (GitHub Copilot)

Paste this in your browser address bar:

vscode:mcp/install?%7B%22name%22%3A%22probo-connect%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22probo-connect-mcp%22%5D%2C%22env%22%3A%7B%22PROBO_API_KEY%22%3A%22your-api-key-here%22%7D%7D

Or add to .vscode/mcp.json in your project:

{
  "servers": {
    "probo-connect": {
      "command": "npx",
      "args": ["-y", "probo-connect-mcp"],
      "env": {
        "PROBO_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Code (CLI)

claude mcp add probo-connect -- npx -y probo-connect-mcp

Then set your API key:

export PROBO_API_KEY=your-api-key-here

Claude Desktop

Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) and add:

{
  "mcpServers": {
    "probo-connect": {
      "command": "npx",
      "args": ["-y", "probo-connect-mcp"],
      "env": {
        "PROBO_API_KEY": "your-api-key-here"
      }
    }
  }
}

Restart Claude Desktop.

Windsurf

Go to Settings > Cascade > MCP Servers > Add new and enter:

  • Name: probo-connect
  • Command: npx -y probo-connect-mcp
  • Environment: PROBO_API_KEY=your-api-key-here

Available Tools (51)

Products

ToolDescription
searchProductsSearch the Probo product catalog by keyword, category, or browse all
getProductDetailsGet full details for a single product including all options and dimensions
configureProductConfigure a product with options and get pricing. Call without options first to see available options
compareProductsSide-by-side comparison of 2–8 product codes (dimensions, options, categories)
getApiProductsList your custom API products (customer-configured with custom codes)
getApiProductDetailGet full details of a single custom API product by customer code

Pricing & Shipping

ToolDescription
getPriceCalculate price for one or more products before ordering
getPricingTiersGet volume discount pricing — price per unit at different quantities
getShippingMethodsList available shipping methods and carriers
predictDeliveryETAEstimate delivery time from your historical delivered orders

Orders

ToolDescription
placeOrderPlace a print order with product configuration, delivery address, and reference
placeOrderWithApprovalLLM sanity-check via MCP sampling before placing — falls back to direct placement
bulkPlaceOrdersPlace up to 25 orders in one call — returns per-order success/failure
createDraftCreate a draft order to review on the Probo platform before submitting
getOrderStatusCheck status of one or more orders — use the order ID from placeOrder
getAllOrdersList all orders with optional filters (status, date range, pagination)
cancelOrderCancel a pending order (only before production starts)
releaseOrderRelease a held order for production
getOrderStatsAggregate stats for recent orders (total, breakdown by status, spend, avg, top products)
getPlacedOrderHistoryLocal history of orders placed by this MCP instance (works offline)

Files & Uploads

ToolDescription
createUploaderCreate a file upload URL for print files after configuring a product
uploadFileToUploaderUpload a local file directly to a Probo uploader URL
uploadFolderToUploaderUpload every print file in a local folder to an uploader URL
getImagePreviewFetch an image URL and return it inline so the user can see the preview

Order Templates

Templates persist in ~/.probo-connect/ across sessions.

ToolDescription
saveOrderTemplateSave a full order configuration by name for quick reuse
getOrderTemplatesList all saved order templates
deleteOrderTemplateDelete a saved template
placeOrderFromTemplatePlace a new order from a saved template (with optional overrides)
getCuratedTemplatesLibrary of starter templates (banner, fabric, roll-up)

Favorites

ToolDescription
saveFavoriteSave a product reference as a favorite
getFavoritesList all saved favorites
deleteFavoriteRemove a favorite

Personalization

ToolDescription
getRecommendationsProduct recommendations based on your profile focus
elicitMissingFieldsAsk the AI client (via MCP elicitation) for missing order fields — falls back gracefully

Aliases & Completions

Aliases are user-defined shortcuts that pre-fill any tool with saved arguments. Each saved alias is also exposed as a dynamic MCP prompt (alias-<name>) so it appears in the client's / slash menu. Aliases persist in ~/.probo-connect/aliases.json.

The server also advertises MCP completions (autocomplete) for prompt arguments and the probo://products/{code} resource template — product codes come from the cached catalog, order-reference completion comes from the local placed-orders log.

ToolDescription
saveAliasSave a tool + pre-filled args as a named alias; also registers a dynamic prompt
listAliasesList all saved aliases
deleteAliasRemove an alias and unregister its prompt
runAliasResolve an alias to {tool, args} so the LLM can invoke the underlying tool

Example:

saveAlias({
  name: "office-banner",
  description: "Weekly 3×1m banner to the office",
  tool: "placeOrder",
  args: {
    configuration: { products: [{ code: "banner-510", options: [{code:"width",value:3000},{code:"height",value:1000},{code:"amount",value:1},{code:"finishing-all-sides"}], uploader: true }] },
    address: { address_company_name: "ACME", address_first_name: "Jan", address_street: "Keizersgracht 123", address_postal_code: "1015AA", address_city: "Amsterdam", address_country: "NL" },
    reference: "weekly-banner"
  }
})

After saving, alias-office-banner shows up in the prompt menu. Selecting it (or calling runAlias({name:"office-banner"})) lets the LLM call placeOrder with those pre-filled arguments.

Webhooks (HTTP mode)

ToolDescription
getWebhookEventsReturn Probo order callbacks received by the built-in webhook endpoint

Projects & Tickets

ToolDescription
getProjectsList all projects (groups of related orders)
createProjectCreate a new project
getTicketsList support tickets
createTicketCreate a support ticket for an order issue

Address Book & User Profile

Addresses and profiles persist across sessions in ~/.probo-connect/.

ToolDescription
saveAddressSave a delivery address by name (e.g. "office") for reuse
getSavedAddressesList all saved addresses
saveUserProfileSave user preferences (name, company, language, focus)
getUserProfileGet the current user profile

Runtime & Analytics

ToolDescription
setModeSwitch between test and production order mode at runtime (requires confirm:true for production)
getModeReturn the current runtime order mode

System

ToolDescription
getCapabilitiesShow the full feature overview (tools, resources, prompts)
getVersionShow version and check for updates

MCP Resources

Read-only data resources exposed by the server:

URIDescription
probo://productsFull product catalog
probo://products/{code}Details for a specific product
probo://ordersRecent order history
probo://shipping-methodsAvailable shipping methods

MCP Prompts

Pre-built prompt templates clients can invoke:

NameDescription
welcomeIntroduce yourself and set up a user profile
order-bannerStep-by-step guide to order a banner
compare-pricesCompare prices at different quantities
track-ordersCheck status of all recent orders
reorderReorder a previous order by reference

HTTP Transport

In addition to stdio, the server supports Streamable HTTP for remote or multi-user deployments:

MCP_HTTP_PORT=3100 npx -y probo-connect-mcp --http

Default port: 3100. Use standard MCP clients that speak Streamable HTTP.

When running in --http mode, a built-in webhook endpoint is also exposed:

POST http://<your-host>:3100/webhook/probo

Pass this URL as callback_urls when placing an order — Probo will POST status updates to it, and getWebhookEvents returns what was received.

⚠️ The built-in HTTP transport has no auth layer. Bind it to 127.0.0.1 or front it with a reverse proxy (nginx / Caddy / Cloudflare) with HTTPS + auth before exposing to the internet.

Native Desktop Notifications

When running in --http mode, every webhook event triggers a native desktop notification on macOS, Linux, and Windows — so you see order updates without opening any app.

  • macOS: osascript notifications
  • Linux: notify-send (requires libnotify-bin)
  • Windows: PowerShell balloon tip

Disable with:

PROBO_NOTIFICATIONS=off npx -y probo-connect-mcp --http

Quick Examples

Search products:

"What banner products does Probo offer?"

Configure and price:

"Configure a deco-fabric, 2 meters wide and 1.5 meters tall, show me the price"

Place an order:

"Place a test order for a tensioner with spinhook, deliver to: Test Company, Jan de Vries, Keizersgracht 123, 1015AA Amsterdam, NL"

Track an order:

"What's the status of my order order-1776164807276?"

Upload a file:

"Create an uploader for my configured product so I can upload my print file"

Check version:

"What version of Probo Connect am I using?"

Order ID Guide

When working with orders, there are two types of IDs:

ID TypeExampleWhere to use
Order ID (from placeOrder)order-1776164807276getOrderStatus, cancelOrder, releaseOrder
Supplier order number (Probo internal)1260224369Probo dashboard only — NOT for MCP tools

Use getAllOrders to see both IDs. The customer_order_id field is your order ID, number is Probo's internal number.

Order Status Codes

StatusDescription
acceptedOrder accepted by Probo
not_acceptedOrder rejected (check files/configuration)
in_productionBeing produced — can no longer be cancelled
logisticsBeing prepared for shipment
shipment_createdAnnounced to carrier, tracking may be available
shipment_in_transitCarrier is delivering
shipment_deliveredSuccessfully delivered
canceledOrder was cancelled

Configuration

VariableRequiredDefaultDescription
PROBO_API_KEYYesYour Probo API key
PROBO_API_URLNohttps://api.proboprints.comAPI base URL
PROBO_API_MODENotesttest for sandbox, production for live orders
MCP_HTTP_PORTNo3100Port when running --http
PROBO_NOTIFICATIONSNoonDesktop notifications in HTTP mode (off to disable)
LOG_LEVELNoinfodebug, info, warn, error, silent

Troubleshooting

ProblemFix
PROBO_API_KEY is requiredSet the env var in your MCP client config, not your shell.
Client doesn't see the serverRestart the client fully. Check logs in the client's MCP panel.
npx hangs on first runPre-install: npm i -g probo-connect-mcp then use "command": "probo-connect-mcp".
Orders go to production by accidentPROBO_API_MODE=test is the default — double-check your config.
Webhook events not arrivingMake sure --http mode is running and URL is publicly reachable.
MCP version mismatchnpx -y probo-connect-mcp@latest to force latest.

Development

npm install          # Install dependencies
npm run dev          # Development mode (tsx watch)
npm test             # Run tests (vitest)
npm run typecheck    # Type check
npm run build        # Build for production

Security

  • API keys are never logged — authorization headers are automatically redacted
  • Error responses are sanitized to prevent credential leakage
  • All inputs are validated with Zod schemas before reaching the API
  • Retry logic with exponential backoff on server errors (no retry on client errors)
  • SSRF protection on outbound URLs (webhook callbacks, image previews)

License

MIT — Nicky Mitnick

Keywords

probo

FAQs

Package last updated on 15 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts