How it works
A practical guide for company owners and agent builders.
1. What this is
The AiVironment Marketplace is a directory of B2B suppliers, manufacturers, and service providers built so AI agents can find them and route real work — quotes, sourcing, partnerships — without scraping HTML or guessing at email addresses.
Two audiences, one directory:
- Companies sign in, list their profile and offerings once, and get surfaced to every connected agent in real time.
- Agents (whether they live inside Claude, ChatGPT, a Cursor session, or a custom runtime) connect via MCP and call typed tools to search, read, and contact companies.
2. What is MCP?
MCP — the Model Context Protocol — is an open standard from Anthropic that lets AI clients (Claude, ChatGPT, Cursor, custom agents) plug into external tools the same way browsers plug into web servers. The client speaks a common protocol over HTTP; the server exposes a typed list of tools, takes calls, and returns structured results.
The Marketplace runs an MCP server at https://mcp.marketplace.aivironment.ai/mcp (Streamable HTTP transport, Bearer-token auth). It exposes three tools:
marketplace_search_companies— ranked search by query + filtersmarketplace_get_company— full profile by slugmarketplace_request_quote— submit a contact / quote request
The model decides when to call them. You don't write code; you write prompts, and a model that has these tools available will reach for them when the task fits — “find me a…”, “get a quote from…”, etc.
3. The data model
The directory is built around four entities:
- Company — name, slug, country, industry, tagline, description, certifications, languages, keywords. Has a verified flag (set by the AiVironment team) and a premium flag (paid placement). Visible publicly at
/company/{slug}. - Offering — a product or service the company sells. Owned by a Company. Has a name, description, optional image, optional price label.
- QuoteRequest — an inbound contact created when an agent calls
marketplace_request_quote. Stored against the target Company; visible to its owners in the dashboard inbox. - Review — third-party feedback with one of three verification tiers (unverified, email_verified, customer_verified).
Search runs a hybrid of PostgreSQL full-text search and pgvector semantic similarity (when the OpenAI key is configured), fused with Reciprocal Rank Fusion. Premium listings get a placement boost.
4. For company owners (UI)
End-to-end flow for a human listing their company:
- Sign in. Click List your company on the home page or go to /login. Sign in with Google — that's the only auth provider. We use Google's assertion that your email is verified.
- Create your company. First-time users land on
/dashboard/new-company. Fill in name, slug (auto-derived from the name), country, tagline, description, website. The signed-in user becomes the owner. - Add offerings. In the dashboard Offerings tab, list each product or service: type (product / service), name, optional description, optional price label. There's no limit.
- Polish the profile. The Profile tab lets you edit anything searchable — tagline, description, certifications, keywords, industry. Edits trigger a re-embedding of the company so semantic search finds you under the new wording within seconds.
- Watch the inbox. The Inbox tab shows quote requests as they arrive. Each entry has the requester's name, email, optional company, the message, and an optional budget label. Mark items viewed, replied, or closed. We do not send email notifications today — check the dashboard.
- Get reviews. Customers can leave reviews from your public profile page. Reviews show up in your Reviews tab including any with verification metadata.
You can manage multiple companies under one account. Cross-tenant access is blocked — trying to view another company's dashboard returns 404, never 403, so company existence isn't leaked.
5. For agent builders (MCP)
Wire the MCP server into your client. The actual setup snippets for Claude Code, Claude Desktop, Claude.ai, and ChatGPT live on the integrations page. What follows is what to do once it's connected.
Get a personal token
The MCP endpoint requires a Bearer token. Generate one yourself in Dashboard → MCP tokens after signing in. Tokens are prefixed aiv_mcp_, scoped per tool (mcp:search, mcp:get_company, mcp:request_quote), expirable (30 / 90 / 365 days, default 90), and revocable any time. The raw value is shown only once at creation — copy it before navigating away.
Typical 3-step workflow
- Search.
marketplace_search_companieswith a natural-language query plus any structured filters (country, industry, certification). Returns up to 20 ranked candidates per page. - Read.
marketplace_get_companywith the slug from a search result. Returns the full profile — description, all offerings, public contact methods, review summary. - Request.
marketplace_request_quotewith the company UUID, your user's contact details, and a specific message. Lands in the company's dashboard inbox.
What good prompts look like
The model decides when to invoke tools. The shape of your prompt shapes the calls it makes. A good agent-style prompt:
Find me three EU-based ISO 9001 certified industrial robotics
integrators that do cobotic cells for SMB manufacturers. For each
candidate, summarise their core offering and any certifications,
then ask the top one for a quote on a 4-cell pilot project.This will typically produce: one or two marketplace_search_companies calls (the model may refine the query if the first returns nothing), then a marketplace_get_company on the top hit, then a marketplace_request_quote if the user has confirmed.
Anatomy of a quote request
marketplace_request_quote(
company_id="d474f6f5-c900-45e6-a99f-22466bd37f0d",
requester_name="Alex Chen, AI buying agent for Buildco",
requester_email="alex@buildco.example",
message="Looking for 200 hydraulic valves, 1/2 inch NPT, "
"ISO 9001 supply chain. Delivery to Bydgoszcz Q3.",
budget_label="€20k–€40k"
)company_id— UUID from search results, not the slug. The slug is formarketplace_get_company.requester_emailis where the company will reply directly — agents acting on behalf of a human user should pass that human's email, not their own.messageshould be specific: quantities, specs, timeline, location. Vague messages get ignored.
6. Prompt examples
Things that work well via the MCP-connected client:
- “Find me a German PCB assembly shop with ISO 9001 that handles low-volume runs (under 500 units).”
- “What B2B AI consulting firms in Poland show up on the marketplace? Compare their offerings and pricing.”
- “Get a quote from Qasttor for a 30-day implementation workshop on agentic AI for our supply chain — budget €20k–€40k. My email is buyer@example.com.”
- “Sweep the marketplace for hydraulic valve manufacturers certified to ISO 14001. Save the slugs of the top three to a shortlist file.”
7. Limits and trust
- Quote rate limit: 5 quote requests per hour per (company, requester_email) pair. Both the HTTP and MCP paths share this limit.
- Agent rate limit: 10 calls per minute per IP on the public agent endpoint (used by the on-site Agent chat at /agent). The MCP server itself is rate-limited at the per-tool level described above.
- Verification: a verified badge on a company means the AiVironment team checked that the listing corresponds to a real, contactable business. Unverified listings are still searchable but unmarked.
- Premium companies appear first in search. Premium does not imply verification, and verification does not imply premium.
- Reviews: unverified means anyone left it, email_verified means the reviewer's email was confirmed, customer_verified means we have evidence of an actual transaction. Treat them accordingly.