vslProcure
Join the network Sign in

Developers · API v1 · MCP

Let your agents source ship supplies.

vslProcure has an open API and an MCP server. Claude, ChatGPT or your own software can find marine suppliers by port, read your RFQs and quotes, and prepare draft RFQs for a person to publish. Free, like the rest of vslProcure.

What it does

Two ways in, the same rules as the website.

01

Public directory, no token

Search listed suppliers by port (UN/LOCODE), category, country, Verified badge and founding membership; read public profiles; look up ports and categories. Exactly what a visitor sees on the site, nothing more: direct contact details stay private until a supplier replies to an enquiry.

02

Your account, with a token

A personal token acts as you. Buyers list their RFQs and every quote received; suppliers list the RFQs at their ports and their own quotes. Nobody sees another company's RFQs or a competitor's quote.

03

Drafts and enquiries, never surprises

With a read-and-write token an agent can save a draft RFQ (port, vessel, arrival date, items) and send an enquiry to a supplier. Publishing an RFQ stays a human step in the app, and enquiries share the website's limits.

MCP server

Connect an AI assistant.

The server speaks the Model Context Protocol over Streamable HTTP at https://vslprocure.com/mcp (revision 2026-07-28, and the 2025 revisions for older clients). Public tools work without a token. For your own RFQs and quotes, send your token as the header Authorization: Bearer vslp_… (create it on API & AI agents).

Claude and ChatGPT apps

Add a custom connector (in Claude) or an MCP connector in developer mode (in ChatGPT) with the address above. Without a token you get the public tools: supplier, port and category search.

Claude Code

Terminal
claude mcp add --transport http vslprocure https://vslprocure.com/mcp \
  --header "Authorization: Bearer $VSLPROCURE_TOKEN"

Agents and editors with a JSON config

Cursor, VS Code, agent frameworks and other clients that accept a remote server with headers:

mcp.json
{
  "mcpServers": {
    "vslprocure": {
      "type": "http",
      "url": "https://vslprocure.com/mcp",
      "headers": { "Authorization": "Bearer vslp_your_token" }
    }
  }
}

Desktop apps that only run local servers

Bridge the remote server with mcp-remote (needs Node.js):

claude_desktop_config.json
{
  "mcpServers": {
    "vslprocure": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://vslprocure.com/mcp",
               "--header", "Authorization: Bearer ${VSLPROCURE_TOKEN}"],
      "env": { "VSLPROCURE_TOKEN": "vslp_your_token" }
    }
  }
}

Tools

What an agent can call.

Tool What it does Access
search_suppliers Search the vslProcure directory of marine suppliers (ship chandlers, technical stores, spares and marine services) by text, port, category and country. Returns public profile summaries with honest badges: verified is true only after vslProcure checked the company's domain email, trade licence and a credential; founding_member is a joining offer, not a quality mark. Paginated: pass next_cursor back as cursor. Public
get_supplier The public profile of one supplier: description, ports, categories, services, products, credentials (and whether vslProcure reviewed them). Direct contact details are not public: the supplier shares them after replying to an enquiry (send_enquiry). Public
search_ports Find ports by name, UN/LOCODE or country, with the number of listed suppliers at each. Use a result's unlocode (or slug) as the port in other tools. Public
list_categories Every supplier category (departments such as provisions, deck and engine stores, and their sub-categories) with slugs and listed-supplier counts. Public
list_my_rfqs Needs an API token. A buyer gets its company's requests for quotation (with quote counts); a supplier gets the open RFQs at the ports it serves or it was invited to. Newest first. Token
get_rfq Needs an API token. One RFQ the account may open, with its line items and the quotes it may see: a buyer sees every quote on its own RFQ, a supplier only its own quote. Token
list_my_quotes Needs an API token. A supplier gets its own quotes; a buyer gets the quotes received on its RFQs. Newest first. Token
create_rfq_draft Needs a read-and-write API token of a buyer account. Saves a DRAFT request for quotation (delivery port, vessel, arrival date, line items). It is never published by this tool: a person reviews and publishes it in the app, and only then are suppliers invited. Returns the draft and its link. Read-and-write token
send_enquiry Needs a read-and-write API token and a confirmed email address. Sends a message (or a quote request for one supplier) from the account's company to a supplier, like "Contact supplier" on its profile. The supplier gets it by email and replies in the vslProcure inbox. Limited to 10 an hour and 30 a day per user, shared with the website. Confirm with the user before sending. Read-and-write token

REST API

JSON over HTTPS, versioned.

Base address https://vslprocure.com/api/v1. Lists return data and next_cursor: pass it back as cursor for the next page (limit 1 to 50). Errors return error.code and error.message. Public responses can be cached (ETag, five minutes) and are open to browsers (CORS).

Endpoint Returns Access
GET /suppliers Listed suppliers. Filters: q, port (UN/LOCODE, slug or id), category, country, verified, founding_member. Public
GET /suppliers/:slug A public profile: ports, categories, services, products, credentials. Public
GET /ports Ports with listed-supplier counts. Filters: q, country, has_suppliers. Public
GET /categories Departments and sub-categories. Public
GET /me Who the token acts for. Token
GET /rfqs, GET /rfqs/:id Your RFQs (filter status); one RFQ with items and the quotes you may see. Token
GET /quotes Suppliers: your quotes. Buyers: quotes received. Token
POST /rfqs Saves a draft RFQ (buyers). Never published by the API. Read-and-write token
POST /enquiries Sends an enquiry or quote request to one supplier (confirmed email needed). Read-and-write token

Find suppliers at Jebel Ali

Terminal
Example response (shortened)
{
  "data": [
    {
      "id": 42,
      "slug": "example-ship-chandlers",
      "name": "Example Ship Chandlers",
      "city": "Dubai",
      "country": "United Arab Emirates",
      "verified": false,
      "founding_member": true,
      "ports": [{ "name": "Jebel Ali", "unlocode": "AEJEA", "country": "United Arab Emirates" }],
      "categories": [{ "id": 3, "name": "Provisions", "slug": "provisions-prov" }],
      "url": "https://vslprocure.com/suppliers/example-ship-chandlers"
    }
  ],
  "next_cursor": "WyJFeGFtcGxlIFNoaXAgQ2hhbmRsZXJzIiw0Ml0"
}

Your open RFQs

Terminal
curl https://vslprocure.com/api/v1/rfqs?status=open \
  -H "Authorization: Bearer $VSLPROCURE_TOKEN"

Prepare a draft RFQ

Terminal
curl -X POST https://vslprocure.com/api/v1/rfqs \
  -H "Authorization: Bearer $VSLPROCURE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"port": "AEFJR", "vessel_name": "MV Northern Light",
       "delivery_date": "2026-11-02",
       "items": [{"description": "Mooring rope 64 mm", "quantity": 8, "unit": "coil"}]}'

The answer links to the draft in the app, where you review and publish it.

Limits

Rate limits.

Limits apply to the API and the MCP server together. Every answer carries x-ratelimit-remaining; over the limit you get a 429 with retry-after. Need more for a real integration? Write to hello@vslprocure.com.

  • Without a token: 60 requests a minute and 3000 a day per IP address. Public
  • With a token: 120 requests a minute and 10000 a day per token. Token
  • Draft RFQs: 20 an hour and 100 a day per user. Enquiries: 10 an hour and 30 a day per user, shared with the website. Writes
  • Request size: 64 KB per request body. Size

Terms

Fair use.

Using the API and MCP server is part of using vslProcure, so the Terms of use apply. In short:

  • Free. No fee for the API or the MCP server, for buyers or suppliers. Price
  • No bulk copying. Use the directory to find and contact suppliers. Don't copy it to build another directory or a list for marketing, and don't resell the data. Data
  • A person stays in charge. Agents prepare drafts; people publish RFQs. Messages sent through an agent are your company's messages: check them before they go. Agents
  • Keep tokens secret. A token acts as you. Revoke it on API & AI agents if it leaks; we may revoke tokens that are abused. Tokens
  • Stable v1. We add fields and tools without breaking v1. Breaking changes come as a new version, announced on this page. Versions