Skip to content

Connect via MCP

Add the AiVironment Marketplace as a tool source to your AI client. Once connected, the model can search the directory, read company profiles, and submit quote requests on your behalf — no scraping, no HTML parsing.

New here? Read the guide first to understand what the marketplace is and what you can do with it.

Start here — no account needed

Paste the endpoint below into your AI client. It works immediately: no sign-up, no token, no OAuth round-trip.

https://mcp.marketplace.aivironment.ai/mcp

Without any credential you can search the directory, read a company profile, and compose a quote request. The draft comes back as a link — hand it to the person you are helping, and they add their own email address and press send. You cannot send on their behalf, which is exactly why this is safe to leave open.

Anonymous results are capped at 3 pages of 10. Sending a quote request directly, and anything touching a listing you own, needs a token.

Add a token (optional)

A token is not required to search or to draft a request. It adds attribution, lifts the result cap, and unlocks sending quote requests directly plus managing your own listings:

  1. Sign in (Google, or email if dev-login is enabled).
  2. Open Dashboard → MCP tokens, click Create token, name it, pick scopes, and choose an expiration.
  3. Copy the value (starts with aiv_mcp_…) — it’s shown only once.
  4. Paste it in place of YOUR_MCP_TOKEN in any snippet below. Revoke any time from the same page.

Need help or want a higher rate limit? pmagdanski@qasttor.com.

Claude Code

Anthropic’s CLI. Easiest to wire up — one command and the tools appear next time you open a session.

Option A — CLI

bash
claude mcp add aivironment-marketplace \
  --transport http \
  https://mcp.marketplace.aivironment.ai/mcp \
  --header "Authorization: Bearer YOUR_MCP_TOKEN"

Option B — edit config directly

Add this to ~/.claude.json (or use /mcp inside Claude Code):

json
{
  "mcpServers": {
    "aivironment-marketplace": {
      "type": "http",
      "url": "https://mcp.marketplace.aivironment.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_TOKEN"
      }
    }
  }
}

Claude Desktop

The macOS / Windows app. Recent versions support HTTP transport directly; older versions need a stdio bridge.

Recent versions (HTTP transport)

Same JSON shape as Claude Code, in claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{
  "mcpServers": {
    "aivironment-marketplace": {
      "type": "http",
      "url": "https://mcp.marketplace.aivironment.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_TOKEN"
      }
    }
  }
}

Older versions (stdio bridge via mcp-remote)

If your Claude Desktop only speaks stdio, wrap the HTTP endpoint with mcp-remote:

json
{
  "mcpServers": {
    "aivironment-marketplace": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.marketplace.aivironment.ai/mcp",
        "--header",
        "Authorization: Bearer YOUR_MCP_TOKEN"
      ]
    }
  }
}

Claude.ai (web)

Pro, Team, and Enterprise plans support custom MCP connectors via the web UI.

  1. Open Settings → Connectors.
  2. Click Add custom connector.
  3. Set the URL to:
    https://mcp.marketplace.aivironment.ai/mcp
  4. Add a custom header named Authorization with value Bearer YOUR_MCP_TOKEN.
  5. Save. The three tools appear in the connector list and become callable in any new conversation.

ChatGPT

MCP support is available on Pro, Business, and Enterprise plans.

  1. Open Settings → Connectors → Add MCP server.
  2. URL:
    https://mcp.marketplace.aivironment.ai/mcp
  3. Authentication: Bearer token. Paste your key.

REST fallback

If your runtime doesn’t speak MCP, the same data is exposed over plain HTTP. No auth required for read-only endpoints; quote-request submissions are rate-limited per email.

bash
curl "https://api.marketplace.aivironment.ai/api/v1/search?q=industrial+robotics&country_code=DE"
  • GET /api/v1/search — keyword + filter search
  • GET /api/v1/companies/{slug} — single company profile
  • GET /api/v1/companies/featured — curated listings
  • GET /api/v1/categories — industry taxonomy
  • POST /api/v1/quote-requests — submit a quote request

Available tools

marketplace_search_companies(query?, country_code?, industry_code?, certification?, page?, per_page?)

Search the directory by natural-language query and structured filters. Returns ranked companies with location, industry, verification status, and certifications.

marketplace_get_company(slug)

Fetch a complete profile — description, offerings, public contact methods, review summary.

marketplace_request_quote(company_id, requester_name, requester_email, message, requester_company?, budget_label?)

Submit a quote request on behalf of your user. Rate-limited to 5 per hour per (company, requester_email) pair.

marketplace_buyer_list_my_conversations(limit?, offset?, include_closed?)

List the caller’s past quote requests + brokered conversations, newest activity first. Each row carries state, last activity, a seller_replied flag, and the buyer-archived flag — enough to summarise an inbox without a follow-up call. Requires scope mcp:buyer:history.

marketplace_buyer_get_conversation(conversation_id)

Full thread for one of the caller’s own conversations — their original message plus every seller reply since. Cross-tenant access returns the same not_found envelope as a missing id. Requires scope mcp:buyer:history.

marketplace_buyer_archive_conversation(conversation_id, reason?)

Mark a conversation as “no longer interested” — sets the buyer-archived timestamp and closes the thread from the buyer side. Idempotent. Once archived, the company will not resurface on searches that pass exclude_already_contacted=true. Requires scope mcp:buyer:history.

Typical workflow

  1. marketplace_search_companies(query="…") → pick candidates. For known buyers, every result is annotated with a previously_contacted block — the assistant can flag, skip, or pass exclude_already_contacted=true to filter server-side.
  2. marketplace_get_company(slug="…") → read full profile, verify fit.
  3. marketplace_request_quote(company_id="…", …) → hand off contact. The lead is attributed to the calling user (when a personal token is used) so it surfaces in their history.
  4. Later: marketplace_buyer_list_my_conversations() and marketplace_buyer_get_conversation(id) recall what was asked and who replied; marketplace_buyer_archive_conversation(id) closes a dead lead.