mcpbeat Sign in

Gemalli B2B Trade MCP Server

answering

Gemalli B2B Trade is answering right now. Last checked 10 min ago. It exposes 28 tools.

Global B2B trade: verified manufacturers, product search, sanctions screening, HS codes.

The linked repository no longer exists on GitHub — it was deleted or made private.

Uptime history 69 days of history · worst day 67%
69 days agonow
100.0%
Uptime 24h
91 of 91 checks
28
Tools
read from the server
313 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 59

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 2 September 2026. No other catalogue keeps this.

4 Nov 3 tools appeared answer_request_question, get_request_status, post_request
29 Oct 3 tool descriptions were rewritten get_product, list_manufacturers, search_products
26 Oct 4 tools appeared get_agent_knowledge, get_person_memory, rate_agent_result and 1 more
26 Oct 3 tool descriptions were rewritten get_feedback_reasons, list_manufacturers, search_products
15 Oct 3 tools disappeared answer_request_question, get_request_status, post_request
13 Oct 3 tools appeared answer_request_question, get_request_status, post_request
9 Oct 7 tools appeared add_feedback_message, close_feedback_ticket, create_feedback_ticket and 4 more
9 Oct a tool description was rewritten get_viewer
23 Sep a tool description was rewritten get_subscription_plans
21 Sep 2 tool descriptions were rewritten get_subscription_plans, get_viewer
and 29 more, back to 2 September 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add trade --transport http https://gemalli.com/api/mcp
Settings → Connectors → Add custom connector, then paste this address
https://gemalli.com/api/mcp
~/.codex/config.toml
[mcp_servers.trade]
url = "https://gemalli.com/api/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "trade": {
      "url": "https://gemalli.com/api/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "trade": {
      "type": "http",
      "url": "https://gemalli.com/api/mcp"
    }
  }
}

Available tools 28

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

feedback
add_feedback_message
Add a message to an existing feedback ticket of the current visitor — when they remember a detail ("only in Chrome") after the ticket was created. Do NOT create a second ticket for the same problem. Identity comes from the visitor pass; a ticket that is not theirs is simply not found.
create_feedback_ticket
Record a feedback ticket for the Gemalli team: a question, a problem or a suggestion. Call it ONCE, only after the person confirmed the wording you read back to them. Identity is taken from the visitor pass — never pass a user id. For a visitor who is not signed in, contact_email is required: without it there is no way to tell them it was fixed.
get_feedback_reasons
Reasons a person can pick after rating the agent. Call it once when the widget opens and cache it; re-read when the platform says the dictionary changed, or lazily by the `rev` value. Two lists: `reasons` are the live ones to draw in the window, `retired` are switched off and are only there so old feedback stays readable. 🔴 `label` is the best text WE have for the asked language and may fall back (`lang` says to what). `source_label` is what the admin actually WROTE and `source_lang` is the language they wrote it in — translate from THAT, never from `label`: translating our fallback would make a translation of a translation, losing a little at every step. When a card is shown untranslated, send `reason_shown_lang` with the rating so a reason picked blindly can be told from one picked on purpose. If this door is silent, show the free-text field anyway and still count the thumb — never drop a rating.
get_feedback_thread
Read one feedback ticket of the current visitor with its whole conversation: the original request, what they added later and what the team answered. Use it to SHOW the ticket, not to decide anything — the team answers, the agent does not answer on their behalf. Identity comes from the visitor pass.
list_my_feedback
List the feedback tickets of the current visitor for the Workspace tab. Identity comes from the visitor pass; a guest is matched by the conversation label, so the same person on another device sees nothing — that is expected, not a fault.
request
get_request_status
Status of a request posted with post_request: validating, needs_info (with the questions to ask the person), published (with the public link), rejected (with a short note). Pass the same email used to post it.
request_quote
Send a request for prices, samples or terms to a manufacturer on the person's behalf. Requires the person's own name and email — ask them and pass exactly what they give you, never invent an address. The manufacturer receives the request; the person receives an email with a sign-in link where the reply and the supplier's contacts appear. No account is needed beforehand. Use it once they have chosen a supplier.
agent
get_agent_knowledge
Platform rules for the agent, as short lines to put into your prompt. Call it once and cache it by `rev`; re-read when the platform pokes you or when your fallback poll comes due. Without `ids` you get ALL active rules for the audience, short form only — YOU pick which ones belong in a given answer (no more than three fit a prompt). With `ids` you get the full text of those rules instead, including RETIRED ones, flagged `retired: true` — so your log of «which rules were in this answer» stays readable after a rule is switched off weeks later. Ask for up to 50 ids at once: three is what fits a PROMPT, a review screen needs more. off. A retired rule must never go back into a prompt. If this door is silent, answer without rules: that is the normal state and must change nothing in your behaviour.
answer
answer_request_question
Answer the clarifying questions on a request posted with post_request, when get_request_status shows "needs_info". Use the person's own answer. Pass the same email used to post it (not needed when signed in as the author).
buyer
get_buyer_search_offer
Read the buyer-search package offer — what the person buys in the «find buyers» order window: plans with prices in USD, company quotas, country limits, top-up rules, roles, the order stages and — for an HS code — the clarifying question and the buyer segments that fit each answer. These are prices of the BUYER-SEARCH PACKAGE, shown openly in the order window; they are not Gemalli subscription plans, so the get_subscription_plans rule about never stating prices does not apply here. Use it in the sales chat to answer questions and to suggest a plan and segments. You only suggest: the person chooses and pays in the order window, never through you. Right now it is a demo — payment is a test with no charge, company search and emails are switched off — say so plainly and never promise buyers: a company becomes a buyer only by answering. Texts come in the call locale (uk, ru, en; others fall back to en).
categories
list_categories
List the product categories on Gemalli with their names in the requested language. Use it to offer the person a choice of category before searching, or to turn a category name into the identifier search_products expects.
close
close_feedback_ticket
Close a feedback ticket of the current visitor when they say it is no longer relevant or they worked it out. A ticket the team already finished (fixed or declined) is NOT closed — say so instead. Identity comes from the visitor pass.
dual
check_dual_use
Check whether an HS customs code falls under EU dual-use export controls (Regulation 2021/821 and equivalents), optionally for a specific destination country. A match means the goods may need an export licence. Use it after lookup_hs_code, before the person commits to a shipment.
lookup
lookup_hs_code
Find the Harmonised System (HS) customs code for a product, by description or by code prefix. Returns matching codes with their official names in the requested language, the chapter they belong to, and a similarity score. Use it when the person needs a customs classification for an import, an export or a quote, then pass the code to check_dual_use.
manufacturer
get_manufacturer
Fetch one manufacturer's full profile: company description, country, certifications, and the identifiers of the same profile in other languages. Use it after list_manufacturers or search_products, when the person wants to know who the supplier is.
manufacturers
list_manufacturers
List verified manufacturers published on Gemalli. Returns each producer's name, country, certifications and profile identifier in the requested language, newest first. USE THIS whenever the question is about COMPANIES rather than goods: "who makes X", "which factories/producers/suppliers are on the platform", "show me manufacturers from <country>". A question about companies stays this tool even when it names a product — search_products returns goods, not the companies behind them. To find a specific product or filter goods by country, use search_products. RESPONSE SIZE: `count` is how many are in THIS response, `total` is how many exist. When `has_more` is true you have seen only the first `count` of `total` — either call again with a larger `limit` (up to 50) or tell the person you checked the first N of M. Never conclude that a company or product type is absent from the platform from a partial list.
partnership
partnership_inquiry
Return Gemalli's partnership and investment terms and the founder's direct contact. Use it when the person represents a company that would work with a trade platform rather than buy on it — for example logistics, customs, trade finance, insurance, inspection, an ERP vendor or an investor. It returns information only and sends nothing.
person
get_person_memory
What the platform remembers about THIS person between conversations: up to six stable traits (role, industry, where they ship to, language, attitude to price, document requirements) and the one-line outcome of their last 5 conversations. Call it before you answer, so you do not ask again what they already told you. The person is taken from the visitor token — never pass an id. A guest gets an empty answer (`reason: "guest"`): we keep no memory without a cabinet where the person could see it. Nothing is carried over when a guest signs in — there was nothing to carry — but the account may already hold memory from earlier visits, so call this door again right after sign-in. Each trait carries `origin`: `human` means they said it outright, `model` means an agent inferred it — treat an inferred trait as a guess worth confirming, not as a fact. If this door is silent, answer as before.
post
post_request
Gemalli request board: post what you need to buy (product, quantity, destination); verified manufacturers worldwide reply with quotes within days. Free to post. Pass the person's own words and their real email (ask them, never invent one). Returns a request_code with status "validating"; call get_request_status shortly after — if it says "needs_info", ask the person the questions and send the answer with answer_request_question. The person receives an email to confirm the request.
product
get_product
Fetch one product's trade terms: minimum order quantity, lead time, Incoterms, HS code, packaging, price range, photos and the supplier it belongs to. `delivery_terms` lists the delivery bases the seller confirmed as {incoterm, place_kind, place_city}: place_kind is seller_site | port | border | buyer_site (null when not stated), place_city is the city name in the requested language (English fallback) or null; an empty list means Incoterms on request. `specs_display` carries the product characteristics ALREADY IN THE REQUESTED LANGUAGE ({key, label, value}) — retell those, never copy the raw `specs` tokens. Use it once the person has picked a product from search_products and wants the terms.
products
search_products
PARTIAL RESULTS: `count` is how many came back, `total` how many match in all. If `has_more` is true you are looking at a slice — raise `limit` (up to 50), page with `offset`, or say you checked the first N of M. Do NOT report that nothing matches based on a partial slice. Search wholesale products published on Gemalli. Narrow by free text, category, manufacturer, country of origin, maximum minimum-order quantity, maximum price or delivery basis (Incoterms 2020 codes the seller confirmed). Returns product cards in the requested language with price range, minimum order and the supplier. Use it when the person is looking for GOODS to buy or source. When the question is about the COMPANIES themselves — who makes something, which factories or producers are on the platform — use list_manufacturers instead: this tool returns goods, and a list of goods is not an answer about companies.
rate
rate_agent_result
Record what a person thought of something the agent produced — a reply, an export, a report, an email. Send it as soon as they press the thumb: the reason and their words are optional and may follow in a second call, which replaces the first. Pick `reason_code` from get_feedback_reasons; an unknown code is dropped and the rating is still saved (`reason_dropped: true`). For `target_kind: "report"` the `target_ref` is the view_key, NOT the report_key — one report is read by many country pages and only the view_key tells them apart. `target_ref` is verified against your own message log: the answer carries `ref_check` saying whether it matched (`verified`), did not (`mismatch`), could not be checked (`unchecked`) or was never sent (`absent`). A rating is never dropped because the check failed.
remember
remember_about_person
Remember something stable about THIS person, so the next conversation does not start from zero. Allowed keys, and only these: role, industry, delivery_place, language, price_attitude, doc_requirements. An unknown key is reported back by name and the other facts in the same call are still stored. `source` must say where it came from: `human` if the person stated it, `model` if you inferred it. 🔴 It is not a label: it decides whether the write lands. What the person stated outright overwrites anything; an inference overwrites only another inference. A `model` write onto a trait the person stated themselves comes back with `why: "person_said_it"` and `current` holding what they said — ask them about the discrepancy instead of deciding for them. Within one source the newer value always wins, so a person who changed where they ship stops being remembered with the old place. the person stated it, `model` if you inferred it. `recall` is the one-line outcome of this conversation ("looked for 500 m of cable to Berlin, left no enquiry"). Do NOT send name, email or phone — they are not kept here: a copy that never updates would have the agent writing to a stale address. Do NOT send the product, volume, deadline or spec either — those belong to the enquiry and change every time. The person is taken from the visitor token; a guest gets `sign_in_required`. The answer says per key whether it was stored.
sanctions
check_sanctions
Screen a company or a person against consolidated sanctions, politically-exposed-person and law-enforcement lists (EU, US, UK, UN, Ukraine), sourced from OpenSanctions. Returns possible matches with a similarity score. Use it before the person commits to a counterparty. Treat a match as a reason to verify further, not as proof.
site
list_site_sections
List the pages of gemalli.com you can direct this person to, with the label in their language and the address. Use it before offering a link, so you point at a page that exists rather than guessing. Which pages appear depends on whether the person is signed in.
submit
submit_join_request
Send the platform team a request to join Gemalli — for a manufacturer, trader, sales agent, logistics or customs operator, broker or finance provider who wants to work with the platform rather than buy on it. Requires their name, email and phone: the team follows up by phone, so a number is needed. Ask them and pass exactly what they give you, never invent contact details. Use it only when the person has asked to be contacted, never to record someone you are merely discussing.
subscription
get_subscription_plans
Explain how to get Gemalli pricing. Gemalli does NOT publish plan prices through this API: quotes are given by the sales desk, because what a manufacturer pays depends on their catalogue, languages and markets. Call this when the person asks what Gemalli costs, then give them the contacts you get back and offer to introduce them. Do NOT state, estimate, guess or recall any price, plan tier, discount or limit for Gemalli itself — you do not have that information, and inventing it misleads the person. Prices of goods listed BY manufacturers are a different thing and stay available through the catalogue tools.
viewer
get_viewer
Report who the person is currently acting for on Gemalli: role, interface language and, when signed in, the company they represent and their plan. An anonymous person is a valid answer and comes back as a guest, not an error. If the person signed in after talking to you anonymously, previous_guest carries the identifier of that earlier conversation so you can carry the history over, and linked_at separates a link you have not seen before from one you have already handled. credits tells whether platform credits are on (enabled), the balance and total granted when signed in, buy_url (null means no payment page yet: send the person to Office Live) and action_costs, the only map from a tool to its action and price: call something free only when its credits is 0, never offer an action whose credits is null. wallets carries one entry per credit kind with its balance and low: low true means that kind is running out and the panel should show the remaining-credits note. Every paid answer carries the same wallets, freshly counted after the charge — prefer those over this first reading. Never returns another party's data and never returns secrets.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

get_tariff_catalog
removed 12 Sep 2026
save_lead_to_crm
removed 12 Sep 2026

Endpoints

URLTransportStateLatencyChecked
https://gemalli.com/api/mcp streamable-http answering 230 ms 10 min ago

Alternatives to Gemalli B2B Trade

same job, measured the same way
Fin Codes API
by fincodesapi

Validate IBANs and bank codes, verify payee names, and screen names against sanctions lists.

answering
Markdown
by ofershap

Markdown MCP — search, extract sections, list headings, find code blocks.

98 installs/wk local only
Walmart
by markswendsen-code

MCP server for Walmart - search products, manage cart, track orders

83 installs/wk local only
Target
by markswendsen-code

MCP server for Target - search products, manage cart, track orders

55 installs/wk local only
Claude MCP Bridge
by hampsterx

Wraps Claude Code CLI as MCP tools: query, search, structured, ping, listSessions.

247 installs/wk local only
HS Codes Classifier
by alex-dev-web-c-de

AI-powered HS customs code classifier. Product description to 6-digit HS code.

answering
livewiki
by eduardoabreu81

A repository wiki of Markdown pages anchored to real code: read, search, and verified writes.

52 installs/wk local only
Olhary
by olhary

Search Brazil's public tenders, check company sanctions and find catalog codes on Olhary.

answering

Gemalli B2B Trade — questions

Answers built from our own checks of this server.

What can Gemalli B2B Trade do?
It exposes 28 tools, read directly from the server on our last check. Among them: add_feedback_message, answer_request_question, check_dual_use, check_sanctions, close_feedback_ticket, create_feedback_ticket and 22 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Gemalli B2B Trade mostly used for?
Its tools cluster around feedback and request. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Gemalli B2B Trade working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 313 ms. The bar chart above shows every period we have measured.
Did Gemalli B2B Trade ever remove tools?
Yes. get_tariff_catalog, save_lead_to_crm are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
Is Gemalli B2B Trade still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
How do I connect Gemalli B2B Trade?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Gemalli B2B Trade need an API key?
No. Gemalli B2B Trade completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 28 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Gemalli B2B Trade?
It answers our handshake in 313 ms on average, which is faster than 45% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.