Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Commerce for Agents

REMOTE · MCP.COMMERCEFORAGENTS.COM · SCANNED SEP 29

Compare US mobile plans (cheapest first), home internet providers by address, German energy tariffs.

65 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security60
Transport & Reachability100
Schema Quality & AI Usability74
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3851 tokens (~427/item across 9 items; 7 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability check failed: schema churn in the 3 days we've observed: 0 tool removals, 3 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (86% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the Commerce for Agents MCP server?

Commerce for Agents is a hosted endpoint at https://mcp.commerceforagents.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.commerceforagents.com

# add to Claude Code
claude mcp add --transport http com-commerceforagents-commerceforagents 'https://mcp.commerceforagents.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-commerceforagents-commerceforagents": {
      "url": "https://mcp.commerceforagents.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-commerceforagents-commerceforagents": {
      "type": "http",
      "url": "https://mcp.commerceforagents.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-commerceforagents-commerceforagents]
url = "https://mcp.commerceforagents.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-commerceforagents-commerceforagents": {
      "type": "remote",
      "url": "https://mcp.commerceforagents.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-commerceforagents-commerceforagents --url 'https://mcp.commerceforagents.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-commerceforagents-commerceforagents:
    url: "https://mcp.commerceforagents.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-commerceforagents-commerceforagents": {
      "Transport": "http",
      "Url": "https://mcp.commerceforagents.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-commerceforagents-commerceforagents -t streamable-http -u 'https://mcp.commerceforagents.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-commerceforagents-commerceforagents": {
      "type": "http",
      "url": "https://mcp.commerceforagents.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Sept 26 0
    • Stability: unverified → fail ▼ security
    • A breaking change shipped without a version bump: still 0.1.0 ▼ security
    • Tool “book-contract” rewrote its description, which is the text the model reads security
    • Tool “compare-broadband” rewrote its description, which is the text the model reads security
    • Tool “compare-mobile-plans” rewrote its description, which is the text the model reads security
    • Tool “compare-tariffs” rewrote its description, which is the text the model reads security
    • Tool “start-booking” rewrote its description, which is the text the model reads security
    • Tool “submit-switch-request” rewrote its description, which is the text the model reads security
    • Tool “tariff-details” rewrote its description, which is the text the model reads security
    • “compare-broadband” dropped the required parameter “context” ▼ functional
    • “compare-mobile-plans” dropped the required parameter “context” ▼ functional
    • “tariff-details” dropped the required parameter “context” ▼ functional
    • Schema quality: 501 → 427 ▲ functional
    • Schema quality: 501 → 423 ▲ functional
    • “book-contract” reworded the description of “consent” cosmetic
    • “compare-tariffs” reworded the description of “annualConsumptionKwh” cosmetic
    • “compare-tariffs” reworded the description of “currentAnnualCostEur” cosmetic
    • “compare-tariffs” reworded the description of “currentMonthlyPaymentEur” cosmetic
    • “compare-tariffs” reworded the description of “includeDynamicTariffs” cosmetic
    • “compare-tariffs” reworded the description of “providers” cosmetic
    • “book-contract” dropped the optional parameter “context” cosmetic
    • “compare-tariffs” dropped the optional parameter “context” cosmetic
    • “start-booking” dropped the optional parameter “context” cosmetic
    • “submit-switch-request” dropped the optional parameter “context” cosmetic
  • 26 Sept 26 65

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 29 Sept 2026 · Probed https://mcp.commerceforagents.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.commerceforagents.com CN=WR3,O=Google Trust Services,C=US 24 Aug 2026 22 Nov 2026 RSA 2048 SHA256-RSA 6fae4a1f66c7b16009ab70c63efc295a
SANs: mcp.commerceforagents.com
CN=WR3,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7ff005a91568d63abc22861684aa4b5a
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of mcp.commerceforagents.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
commerceforagents.com. present 2371 13 Verified
mcp.commerceforagents.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.commerceforagents.com/mcp Verified 200
http (plaintext) http://mcp.commerceforagents.com/mcp HTTPS enforced 302 https://mcp.commerceforagents.com/mcp
MCP tools · 7 exposed · ~3,810 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
book-contract ~721

Files a concierge switch request with the complete contract data in one call. Intended for autonomous agents that already hold the user's full profile, IBAN and a standing authorization; in a conversation with a person, start-booking opens a form in which the user enters these data. Commerce for Agents stores the request encrypted and an operator submits the contract application to the provider; the user receives a confirmation email at once and the provider's contract documents later. There is no self-service checkout link. Input: the `ref` of the chosen offer plus the contract data. Postal code and city come from the comparison; previousProvider, previousCustomerNumber and meterNumber are printed on the last energy bill. `consent: true` attests that the user explicitly agreed to (1) Commerce for Agents submitting the contract on their behalf, (2) the SEPA direct-debit mandate for the given IBAN and (3) the privacy policy at commerceforagents.com/privacy, either by an explicit yes in the conversation or by a standing authorization given to the agent. The response contains nextSteps for the user.

NameTypeReqDescription
accountHolderstring–Account holder if different from the contract holder.
birthDatestringyesDate of birth, ISO format YYYY-MM-DD. Energy providers require it for the contract.
consentbooleanyesThe user has explicitly agreed to: (1) Commerce for Agents submitting this contract on their behalf, (2) the provider's contract terms as shown by tariff-details, (3) the SEPA mandate for the given I…
desiredStartDatestring–Desired contract start, ISO YYYY-MM-DD. Omit for the next possible date.
emailstringyesEmail address — receives the booking confirmation and provider documents.
firstNamestringyesFirst name (Vorname).
houseNumberstringyesHouse number (Hausnummer), e.g. "12a".
ibanstringyesIBAN for the SEPA direct-debit mandate, no spaces (e.g. DE89370400440532013000).
languagestring–Language of the conversation — used for the confirmation email. Default: "de".
lastNamestringyesLast name (Nachname).
meterNumberstring–Meter number (Zählernummer, optional — printed on the meter or the last bill).
moveInDatestring–Move-in date (Umzugsdatum), ISO YYYY-MM-DD. Required for switchType "relocation", ignored for a switch.
phonestring–Phone number (optional, some providers ask for it).
previousCustomerNumberstring–Customer number at the previous provider (Kundennummer, optional but speeds up the switch).
previousProviderstring–Current/previous energy provider. Required for switchType "switch".
refstringyesOffer reference from a compare-tariffs result (field `ref`).
salutationstringyesSalutation (Anrede), required by the providers: "herr", "frau" or "divers".
streetstringyesStreet of the supply address (Straße).
switchTypestringyes"switch": changing provider at the current address (Anbieterwechsel). "relocation": moving in / first contract at this address (Umzug/Neueinzug).
NameTypeReqDescription
annualTotalEurnumberyes–
nextStepsstringyes–
providerstringyes–
requestIdstringyes–
statusstringyes–
tariffstringyes–

No examples provided.

compare-broadband ~220

Finds and compares the fixed home internet providers available at a US address or latitude/longitude: fiber, cable, DSL, fixed wireless and satellite, with maximum advertised download and upload speeds and a low-latency flag, ranked by low latency, then speed. Source: FCC Broadband Data Collection at census-block level, so a listed provider may not serve every building in the block; geocoding by the US Census Bureau. Results contain no prices or plans. Optional filters: minDownloadMbps, technology. Keywords: which internet providers are available at my address, internet providers near me, compare internet providers, fastest internet, broadband, ISP, fiber internet, cable internet, home internet comparison.

NameTypeReqDescription
addressstring–US street address incl. city and state or ZIP.
latnumber–Latitude, if no address is given.
lonnumber–Longitude, if no address is given.
minDownloadMbpsnumber–Only providers advertising at least this download speed.
technologyarray–Only these technologies.

No output schema declared.

No examples provided.

compare-mobile-plans ~303

Compares and ranks US mobile phone plans, cheapest first, from a curated catalog of carrier and prepaid (MVNO) plans, each price checked on the provider's own page, by 12-month average cost per line, with any promo price shown alongside. The catalog is a selection, not the whole market; each result states how many plans and providers it covers and the oldest price-check date. Inputs: number of lines, and optionally data need, budget per line, prepaid or postpaid, must-have features and preferred network. No address or location is used, so network coverage is not checked; each result carries a coverage note. Keywords: cheapest phone plan, compare cell phone plans, cell phone plan, mobile plan comparison, switch carriers, unlimited data plan, family plan, prepaid vs postpaid.

NameTypeReqDescription
budget_per_linenumber–Max USD/month per line.
data_needstring–Minimum data: light ≥2GB, moderate ≥5GB, heavy ≥20GB, unlimited = unlimited plans only.
linesinteger–Number of phone lines to price.
must_havesarray–Required features: hotspot, 5g, premium_data (deprioritization-free), unlimited_data.
preferred_networkstring–Preferred underlying network, e.g. AT&T, Verizon, T-Mobile.
prepaid_or_postpaidstring–Restrict to prepaid or postpaid plans; omit for both.
NameTypeReqDescription
catalogPlanCountnumberyes–
catalogProviderCountnumberyes–
coverageNotestringyes–
linesnumberyes–
messagestring––
oldestVerifiedDatestring–Oldest verified_date among the plans shown.
plansarrayyes–
priceNotestringyes–
selectionNotestringyesCurated selection of N plans from M providers, not the whole market.
sourcestringyes–

No examples provided.

compare-tariffs ~1,651

Compares German electricity and gas tariffs with live market data for a postal code and an annual consumption, and returns one page of the ranked market: prices with and without bonus, monthly average, savings against the local default supplier (Grundversorgung) or the user's current contract, contract terms, price guarantee, eco status and customer ratings. Covers tariff comparison only, not general energy questions. Prices come live from the market data and can change at any time. Keywords: Stromvergleich, Gasvergleich, Stromtarif, Gastarif, Stromanbieter wechseln, Gasanbieter wechseln, Ökostrom, Strompreise, Energiekosten senken, electricity tariff, gas tariff, switch energy provider, Germany. Inputs: postalCode (5 digits) and annualConsumptionKwh. Both come from the user: the ranking is only valid for the household's actual consumption, which is printed on the last bill, and the tool has no default for it. The typical values by household size in the parameter description help a user who does not know the figure; a comparison run on a household size alone is approximate. energyType selects gas; electricity is the default. Without filters the result covers the whole market. An energy bill contains every input: postal code, annual consumption, and the reference for the savings comparison, which is the future monthly payment (Abschlag) if the bill states one, otherwise the Arbeitspreis and Grundpreis lines (see the current* parameters). The bill total belongs to the past period and may include a one-time bonus, so it is not a reference. The bill's provider, customer number and meter number are the fields the booking form asks for later. Each offer carries its complete data (prices, bonuses, contract terms, flags such as dynamic or eco, ratings, remarks); tariff-details adds the cost breakdown, energy mix and provider details. Only offers with an `eco` object are eco tariffs. Their `eco.statement` and `eco.proof` are legally required wording (EU EmpCo, Directive 202…

NameTypeReqDescription
annualConsumptionKwhintegeryesThe household's actual annual consumption in kWh, from the user or their last bill; no default. The ranking depends on it. Typical values by household size: electricity ~1500 (1 person), 2500 (2), 35…
bonusModestring–How one-time bonuses count in prices and ranking. "compliant" (default): only bonuses meeting consumer-protection guidelines; "all": every bonus; "none": prices without any bonus.
cancellationMaxstring–Maximum cancellation period (Kündigungsfrist). Omit = no filter.
contractMonthsMax––Maximum initial contract duration in months (1, 3, 6, 12 or 24). Default: no limit.
currentAnnualCostEurnumber–The user's ONGOING yearly cost on their current contract in EUR: current prices, one-time bonuses EXCLUDED. Not the bill total: a new-customer bonus is paid once, so the total of a bonus year underst…
currentBasePriceEurMonthnumber–Grundpreis of the user's current contract in EUR per month, gross (a yearly Grundpreis divided by 12).
currentMonthlyPaymentEurnumber–The FUTURE monthly payment (Abschlag) stated on the bill for the coming period, e.g. 'Ihr monatlicher Zahlbetrag beträgt zukünftig 159,00 €'. It already reflects price changes after the billing perio…
currentProviderstring–The user's current provider, if known (e.g. from the bill).
currentTariffstring–The user's current tariff name, if known (e.g. from the bill).
currentWorkingPriceCtKwhnumber–Arbeitspreis of the user's current contract in ct/kWh, gross, as printed on the bill (the new price if an increase is announced). Together with currentBasePriceEurMonth the server computes the ongoin…
districtstring–City district (Ortsteil), only needed when the response reports multiple districts for the postal code and the user's district changes the result.
energyTypestring–Which energy contract to compare: "electricity" (Strom) or "gas". Default: "electricity".
goodRatingOnlyboolean–Only providers with good customer ratings (market operator's threshold). Default: false.
greenOnlyboolean–Only eco tariffs (EU EmpCo definition): electricity from 100% renewable energy proven by guarantees of origin; gas with a declared biogas/hydrogen share. CO2-compensated ("Klimagas", "klimaneutral")…
includeDepositboolean–Include tariffs requiring a deposit (Kaution). Default: false.
includeDynamicTariffsboolean–Include dynamic (spot-price) tariffs whose first-year price is only a forecast. Default: false, since most German households book fixed-price tariffs.
includePackageTariffsboolean–Include kWh-package tariffs (Pakettarife). Default: false.
includePrepaymentboolean–Include tariffs requiring prepayment (Vorauskasse). Default: false.
languagestring–Language of the conversation. The widget's texts and its follow-up messages use it; omit only if unsure, then the user's interface locale is used.
limitinteger–Tariffs per page. Default: 10, max 20.
maxTariffsPerProviderinteger–Tariffs per provider in the ranking. Default 1 (best per provider); 0 = all tariffs of every provider.
pageinteger–Result page (1-based). The response reports totalResults; request further pages to see more of the ranking.
postalCodestringyesGerman postal code (Postleitzahl) — 5 digits, e.g. "10115" for Berlin.
priceGuaranteeMonthsMin––Minimum price-guarantee duration in months. null = no filter (default).
providersarray–Only offers from these providers (names, e.g. ["Vattenfall", "E WIE EINFACH"]). Restricts the ranking to these providers.
regionalOnlyboolean–Only regional providers / local utilities. Default: false.
sortBystring–Market-wide sort: "price" (first-year total, default), "rating" (customer rating, best first), "providerName".
NameTypeReqDescription
cityobjectyes–
coverageNotestringyes–
hiddenDynamicTariffsintegeryes–
otherDistrictsarray––
pageintegeryes–
priceSpanEurobject––
queryobjectyes–
referenceNotestring––
referenceTariffobject––
tariffsarrayyes–
totalResultsintegeryes–

No examples provided.

start-booking ~228

Opens the booking form for one offer from a comparison, identified by its `ref`; the form renders below the message. Read-only: the call submits, stores and sends nothing, and takes no personal data. In the form the user enters the contract details (page 1), then the IBAN and consent (page 2), and files the request there. Messages such as 'Bitte öffne das Buchungsformular', 'ich möchte diesen Tarif', 'den nehme ich', 'book #2' or 'switch me to this', usually sent by the card's 'Jetzt buchen' button, ask for this form. `language` sets the language of the form. There is no self-service checkout link. Keywords: Buchungsformular, Tarif buchen, wechseln, Wechsel beauftragen, Vertrag abschließen, open booking form, book, switch, sign up.

NameTypeReqDescription
languagestring–Language of the conversation; the booking form uses it. Default: de.
refstringyesOffer reference from a compare-tariffs result (field `ref`). No personal data.
NameTypeReqDescription
annualConsumptionKwhnumberyes–
annualTotalEurnumberyes–
citystring––
energyTypestringyes–
instructionstringyes–
languagestringyes–
monthlyAvgEurnumberyes–
postalCodestringyes–
providerstringyes–
providerLogoUrlstring––
refstringyes–
tariffstringyes–

No examples provided.

submit-switch-request ~539

Files a concierge switch request for an offer from a comparison: contract data, IBAN and the consents in one call. The booking form opened by start-booking calls it; autonomous MCP clients that hold the user's complete data and authorization can call it directly. Stores the request encrypted, sends the confirmation emails and returns only masked data. An operator later submits the contract application to the provider.

NameTypeReqDescription
accountHolderstring–Account holder if different from the contract holder.
authorizationobjectyesThe three consents the user gave in the form, with the wording versions shown to them.
birthDatestringyesDate of birth, ISO format YYYY-MM-DD. Energy providers require it for the contract.
desiredStartDatestring–Desired contract start, ISO YYYY-MM-DD. Omit for the next possible date.
emailstringyesEmail address — receives the booking confirmation and provider documents.
firstNamestringyesFirst name (Vorname).
houseNumberstringyesHouse number (Hausnummer), e.g. "12a".
ibanstringyesIBAN as entered in the form; spaces allowed.
idempotencyKeystringyesRandom per form instance. A retry with the same key returns the first result instead of filing twice.
languagestring–Language of the conversation — used for the confirmation email. Default: "de".
lastNamestringyesLast name (Nachname).
meterNumberstring–Meter number (Zählernummer, optional — printed on the meter or the last bill).
moveInDatestring–Move-in date (Umzugsdatum), ISO YYYY-MM-DD. Required for switchType "relocation", ignored for a switch.
phonestring–Phone number (optional, some providers ask for it).
previousCustomerNumberstring–Customer number at the previous provider (Kundennummer, optional but speeds up the switch).
previousProviderstring–Current/previous energy provider. Required for switchType "switch".
refstringyesOffer reference from a compare-tariffs result (field `ref`).
salutationstringyesSalutation (Anrede), required by the providers: "herr", "frau" or "divers".
streetstringyesStreet of the supply address (Straße).
switchTypestringyes"switch": changing provider at the current address (Anbieterwechsel). "relocation": moving in / first contract at this address (Umzug/Neueinzug).
NameTypeReqDescription
annualTotalEurnumberyes–
maskedIbanstringyes–
nextStepsstringyes–
providerstringyes–
requestIdstringyes–
statusstringyes–
tariffstringyes–

No examples provided.

tariff-details ~148

Returns the full conditions of one tariff from a compare-tariffs result, identified by its `ref`: price composition, scope of the price guarantee, contract duration, renewal and cancellation terms, deposit, energy-source mix, customer ratings, and for eco tariffs the required eco statement and proof. Texts come in the requested `language`. Keywords: Tarifdetails, Vertragsbedingungen, Preisgarantie, Kündigungsfrist, Vertragslaufzeit, AGB, tariff conditions, contract details.

NameTypeReqDescription
languagestring–Language of the conversation (for the eco statement and proof texts). Default: de.
refstringyesOffer reference from a compare-tariffs result (field `ref`).
NameTypeReqDescription
annualTotalEurnumberyes–
contractarrayyes–
costBreakdownarrayyes–
customerRatingsarray––
ecoobject––
energySourcesarray––
energyTypestringyes–
providerstringyes–
refstringyes–
remarksarray––
tariffstringyes–

No examples provided.

Common questions

What is the Commerce for Agents MCP server?

Commerce for Agents is an MCP server listed in the public MCP registry as com.commerceforagents/commerceforagents. Compare US mobile plans (cheapest first), home internet providers by address, German energy tariffs. This page covers its hosted endpoint (https://mcp.commerceforagents.com/mcp).

Is the Commerce for Agents MCP server safe to use?

Commerce for Agents scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Commerce for Agents MCP server expose?

Commerce for Agents exposes 7 tools: compare-tariffs, tariff-details, start-booking, compare-mobile-plans, book-contract, and 2 more. Their descriptions and schemas cost roughly 3,810 tokens of context every time the server is loaded.

Does the Commerce for Agents MCP server require authentication?

No. We connected to Commerce for Agents without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Commerce for Agents MCP server still maintained?

Commerce for Agents is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.