Quartermaster eSIM
REMOTE · API.QUARTERMASTERHQ.AI
Agent-only store: AI agents search, quote and buy travel eSIM data plans for their users.
Available components
Last scanned (8 hours ago)
Scores higher than 44% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
Recent critical change
Authorization (3 Nov 2026). See the changelog before you install this server.
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 Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (rotate_principal_key). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability55
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2551 tokens (~182/item across 14 items; 14 tools + 0 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 Management7
- Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage89
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 68% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 15 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
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
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.
- 5 Nov 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “purchase” rewrote its description, which is the text the model reads security
- Tool “request_refund” rewrote its description, which is the text the model reads security
- Schema quality: 158 → 182 ▼ functional
- 4 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- 3 Nov 26 +40
- Authorization: unverified → fail ▼ critical
- Injection markers: unverified → pass ▲ security
- HSTS header: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- First check of Judged manipulation: pass security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Destructive annotations: 100 functional
- First check of Tool coverage: 68 functional
- First check of Schema quality: good functional
- 2 Nov 26 23
First indexed and scored.
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 5 Nov 2026 · Probed https://api.quartermasterhq.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.quartermasterhq.ai | CN=YE1,O=Let's Encrypt,C=US | 2 Nov 2026 | 31 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 56800e9a032dd7b9270418f9ae564805e53 |
| SANs: api.quartermasterhq.ai | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.quartermasterhq.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | DS published | 1814, 3799 | 8, 8 | Verified |
| quartermasterhq.ai. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
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 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | no-referrer |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.quartermasterhq.ai/mcp | Verified | 200 | |
| http (plaintext) | http://api.quartermasterhq.ai/mcp | HTTPS enforced | 301 | https://api.quartermasterhq.ai/mcp |
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 →
get_policies Read store policies ~108
Returns every policy as machine-readable JSON (mandate, refund, dispute, supplier trust, registration), the store terms and the product/agent JSON Schemas, so you can reason about terms before buying.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
No output schema declared.
No examples provided.
get_quote Get a binding quote ~117
Lock the final price for one product for a short time (quote_ttl_seconds in store terms). Also returns a mandate pre-check and the refund terms, so you know before buying whether the purchase will be allowed.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
| product_id | string | yes | – |
No output schema declared.
No examples provided.
get_topup_link Get a wallet top-up link ~189
Create a hosted payment URL to hand to your human principal. They pay in ILS on the acquirer's page (PayPlus); you never see card data. amount_minor is in `currency`: USD (the wallet credit you want; the ILS charge is computed at today's rate) or ILS (the exact charge). The wallet is credited in USD at the rate in force when payment is confirmed. Limits are in the topup policy.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| amount_minor | integer | yes | Minor units of currency, e.g. 2000 = 20.00 |
| currency | string | – | – |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
No output schema declared.
No examples provided.
get_wallet Principal wallet ~128
Balance, available funds (balance minus pending holds), open top-up links, recent top-ups and recent ledger entries of the wallet of the principal you act for. Shared by all of the principal's agents. Amounts in minor units.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| limit | integer | – | Recent entries to return (default 20) |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
No output schema declared.
No examples provided.
order_status Order status ~95
Current order state, eSIM delivery payload, activation and data usage from the supplier, receipts and disputes.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| order_id | string | yes | – |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
No output schema declared.
No examples provided.
purchase Purchase a quoted plan ~253
Buy the product in a quote. Enforces the mandate and the wallet policy, holds the amount in the principal's wallet, orders from the supplier, debits the wallet, and returns the order with the eSIM delivery payload and a signed receipt. If the wallet is short, fails with WALLET_INSUFFICIENT_FUNDS and a ready top-up link for the principal. idempotency_key is required: reusing it returns the original order and never charges twice. If the supplier's answer is unknown (timeout, network error), the order stays "processing" with supplier_outcome "unknown" and the price held, not debited: poll order_status and do not buy again with a new key. Only SUPPLIER_FAILURE with retryable=true calls for a new quote and key.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| idempotency_key | string | yes | Unique per purchase attempt, e.g. a UUID |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
| quote_id | string | yes | – |
No output schema declared.
No examples provided.
regenerate_activation Reissue the eSIM activation code ~138
For one of your own delivered orders whose activation code (QR / LPA) does not install: asks the supplier for a fresh code and returns the new delivery payload. The previous code may stop working. Not every supplier supports it (NOT_SUPPORTED_BY_SUPPLIER); then open a dispute with reason not_working.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| order_id | string | yes | – |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
No output schema declared.
No examples provided.
register_agent Register agent and mandate ~146
Create an agent identity bound to a principal, with a spending mandate (limits in minor units). Returns agent_key once; send it on every later call. The first agent of a new principal_id also receives principal_key (once): the principal owns the wallet, and every later register_agent for that principal_id must present principal_key (argument or X-Principal-Key header), else PRINCIPAL_KEY_REQUIRED. New agents are capped by the registration policy (see get_policies).
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | – |
| mandate | object | yes | – |
| principal_id | string | yes | – |
| principal_key | string | – | Required if the principal already exists (or X-Principal-Key header) |
No output schema declared.
No examples provided.
request_refund Request a refund or open a dispute ~252
Reasons "unused" and "changed_plans" are voluntary refunds under the refund policy. Reasons "not_delivered", "not_working" and "duplicate_purchase" open a dispute under the dispute policy, which can refund fully, partially, reject, or escalate to a human. A dispute about a delivered eSIM is credited automatically only when the supplier confirms it cancelled the eSIM; otherwise, and for partial refunds, it is escalated (outcome "escalate", reason DISPUTE_SUPPLIER_CANCEL_UNCONFIRMED). Orders the supplier has not confirmed yet are refused with ORDER_AWAITING_SUPPLIER (poll order_status). ORDER_CHANGED is retryable. After a full refund, order_status no longer returns the activation code. Denials return error.code = the policy reason_code.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| details | string | – | – |
| order_id | string | yes | – |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
| reason | string | yes | – |
No output schema declared.
No examples provided.
rotate_principal_key Rotate the principal key ~153
Replace your principal's principal_key. Needs your agent credentials and the current principal_key (argument or X-Principal-Key header). Returns the new key once; the old one stops working. Existing agents are unaffected. A principal registered before keys existed has none: any of its agents can call this without principal_key to mint the first one.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
| principal_key | string | – | Current principal_key (or X-Principal-Key header) |
No output schema declared.
No examples provided.
sandbox_simulate_activation Sandbox: simulate eSIM activation ~115
Sandbox only. Marks the order's eSIM as installed and used, as if the traveler activated it. Use it to exercise refund and dispute rules.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| data_used_mb | integer | – | – |
| order_id | string | yes | – |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
No output schema declared.
No examples provided.
sandbox_simulate_topup_payment Sandbox: principal pays a top-up link ~136
Sandbox only. Acts as the principal paying a get_topup_link URL: the mock provider sends a PayPlus-format IPN through the same webhook path production uses, and the wallet is credited. outcome "declined" simulates a failed card.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| outcome | string | – | – |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
| topup_id | string | yes | – |
No output schema declared.
No examples provided.
search_plans Search eSIM plans ~239
Search eSIM data plans from trusted suppliers. Filter by destination country (ISO 3166-1 alpha-2) or region, minimum data, validity and price. Results are sorted by final price unless sort says otherwise. Suppliers below the trust threshold are excluded and listed in excluded_suppliers.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| category | string | – | Product category |
| country | string | – | Destination country, e.g. JP |
| include_out_of_stock | boolean | – | – |
| limit | integer | – | – |
| max_price_minor | integer | – | – |
| max_validity_days | integer | – | – |
| min_data_gb | number | – | Minimum data in GB; unlimited plans always qualify |
| min_validity_days | integer | – | – |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
| region | string | – | Commercial coverage region |
| sort | string | – | – |
| unlimited_only | boolean | – | – |
No output schema declared.
No examples provided.
verify_receipt Verify a receipt ~90
Check a receipt's signature and that it matches its hash-chained ledger entry.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Your agent id (or X-Agent-Id header) |
| agent_key | string | – | Secret returned by register_agent (or X-Agent-Key header) |
| principal_id | string | – | The principal you act for (or X-Principal-Id header) |
| receipt | object | yes | – |
No output schema declared.
No examples provided.
How do I install the Quartermaster eSIM MCP server?
Quartermaster eSIM is a hosted endpoint at https://api.quartermasterhq.ai/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 · api.quartermasterhq.ai
claude mcp add --transport http dvirmimon123-tech-quartermaster 'https://api.quartermasterhq.ai/mcp'
What is the Quartermaster eSIM MCP server?
Quartermaster eSIM is an MCP server listed in the public MCP registry as io.github.dvirmimon123-tech/quartermaster. Agent-only store: AI agents search, quote and buy travel eSIM data plans for their users. This page covers its hosted endpoint (https://api.quartermasterhq.ai/mcp).
Is the Quartermaster eSIM MCP server safe to use?
Quartermaster eSIM scores 63 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 Quartermaster eSIM MCP server expose?
Quartermaster eSIM exposes 14 tools: register_agent, rotate_principal_key, get_policies, search_plans, get_quote, and 9 more. Their descriptions and schemas cost roughly 2,159 tokens of context every time the server is loaded.
Does the Quartermaster eSIM MCP server require authentication?
No. We connected to Quartermaster eSIM without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Quartermaster eSIM MCP server still maintained?
Quartermaster eSIM is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the Quartermaster eSIM MCP server?
VerifyMCP ran 13 checks on Quartermaster eSIM, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.