Zinvyl Marketplace Agent Gateway
by zinvyl.com · remote · no sign-in to list tools · v1.7.0 · published by com.zinvyl
Matches sanitized business needs to fixed-price services and routes authorized agents to purchase.
14 tools: 6 do something that can't be undone, 5 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone6Claude Code: ask: see these tools
- Changes things5Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
15 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http marketplace https://zinvyl.com/marketplace/agent-mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "preflight_agent_purchase" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "preflight_agent_purchase" says "purchase": a word that usually means money moves, which cannot be taken back.
The server marks "resume_agent_purchase" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "resume_agent_purchase" says "purchase": a word that usually means money moves, which cannot be taken back.
- Warnfind_service
The server marks "find_service" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "find_service" says "find": a word for reading.
The server marks "prepare_purchase_route" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_purchase_route" says "purchase": a word that usually means money moves, which cannot be taken back.
The description mentions "credential".
What this check looks forMatched text
description: "...nsaction check. Verifies product match, credential, standing agent policy or narrower sign..."
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
Show 9 more findingsShow fewer
- Infofind_service
The input schema at properties.request_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.request_summary.description: "...names, email addresses, phone numbers, credentials, payment data, personal data, confident..."
- Infofind_service
The input schema at properties.contains_no_personal_data_or_secrets.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.contains_no_personal_data_or_secrets.description: "True only after removing personal data, credentials, confidential material, and payment dat..."
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
- Infobuy_service
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...ed, bounded task summary. Never include credentials, tokens, payment data, personal data, c..."
- Infoqualify_task
The input schema at properties.summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.summary.description: "...d-versus-actual outcome. Do not include credentials, tokens, personal data, or production s..."
The input schema at properties.request_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.request_summary.description: "...names, email addresses, phone numbers, credentials, payment data, personal data, confident..."
The input schema at properties.contains_no_personal_data_or_secrets.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.contains_no_personal_data_or_secrets.description: "True only after removing personal data, credentials, confidential material, and payment dat..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
14 tools
Can't be undone 6Claude Code: ask
acknowledge_purchase_offerRecords that an operator-controlled agent actually received and retained one exact offer and registered a durable return method.No findings
Why it is in this group
- The name "acknowledge_purchase_offer" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Records that an operator-controlled agent actually received and retained one exact offer and registered a durable return method. This creates no order, grants no authority, stores no callback URL, and never proves payment.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
match_or_capture_demandCompatibility alias for existing clients; new integrations should use qualify_task first and find_service only after consent.2 findings
Why it is in this group
- The name "match_or_capture_demand" says "capture": a word that usually means money moves, which cannot be taken back.
Findings
- Info
The input schema at properties.request_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.request_summary.description: "...names, email addresses, phone numbers, credentials, payment data, personal data, confident..."
- Info
The input schema at properties.contains_no_personal_data_or_secrets.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.contains_no_personal_data_or_secrets.description: "True only after removing personal data, credentials, confidential material, and payment dat..."
Description, as the server wrote it Compatibility alias for existing clients; new integrations should use qualify_task first and find_service only after consent. Returns an existing fixed offer when one matches. Otherwise records privacy-minimized product-demand telemetry for owner review; it creates no order, quote, outreach, funding claim, or delivery commitment.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
preflight_agent_purchaseRead-only transaction check.3 findings
Why it is in this group
- The name "preflight_agent_purchase" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...nsaction check. Verifies product match, credential, standing agent policy or narrower sign..."
- Info
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
- Warn
The server marks "preflight_agent_purchase" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "preflight_agent_purchase" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Read-only transaction check. Verifies product match, credential, standing agent policy or narrower signed mandate, exact offer allowlist, price ceiling, current terms, sanitized scope, capacity, and payment-route readiness. It creates no intent, checkout, charge, order, or telemetry event.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
prepare_purchase_routeCompatibility inspection alias for existing clients; new integrations should use get_purchase_requirements and buy_service.1 finding
Why it is in this group
- The name "prepare_purchase_route" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "prepare_purchase_route" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_purchase_route" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Compatibility inspection alias for existing clients; new integrations should use get_purchase_requirements and buy_service. Use only after selecting an offer and confirming explicit purchasing authority. Returns the purchase-intent schema and payment-route API endpoint; it does not create, fund, verify, or start an order.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
recover_abandoned_purchaseRecovers the original transaction for the same authenticated buyer, authority policy, request ID, offer, sanitized scope, amount, currency, funding route, and current terms.1 finding
Why it is in this group
- The name "recover_abandoned_purchase" says "purchase": a word that usually means money moves, which cannot be taken back.
Findings
- Info
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
Description, as the server wrote it Recovers the original transaction for the same authenticated buyer, authority policy, request ID, offer, sanitized scope, amount, currency, funding route, and current terms. Before funding it resumes an expired reservation; after verified funding it safely reissues scoped order access without charging again.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
resume_agent_purchaseRead-only durable continuation.1 finding
Why it is in this group
- The name "resume_agent_purchase" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "resume_agent_purchase" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "resume_agent_purchase" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Read-only durable continuation. Returns the exact observed stop and next executable action for a previously returned opaque continuation token. It creates no purchase, checkout, charge, or order.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 5Claude Code: ask
buy_matching_serviceOne-call path for a buyer agent that has explicit delegated authority for a stated allowlist of exact Zinvyl offers.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
Description, as the server wrote it One-call path for a buyer agent that has explicit delegated authority for a stated allowlist of exact Zinvyl offers. Zinvyl matches one sanitized outcome and creates a bounded purchase intent only when the matched offer is allowlisted and its exact fee fits the delegated ceiling. A catalog gap or authority mismatch creates no order or payment claim.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
buy_serviceFive-field, retry-safe agent purchase path.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...anitized bounded outcome. Never include credentials, tokens, payment data, personal data, c..."
Description, as the server wrote it Five-field, retry-safe agent purchase path. Creates one bounded intent only when delegated authority covers the exact fee. Reusing buyer.request_id for an unchanged purchase returns the same intent. Adaptively selects Stripe-hosted checkout by default while preserving explicit delegated-card and MPP routes, and never claims payment before ledger verification.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
create_purchase_intentCompatibility alias for existing clients; new integrations should use buy_service.1 finding
Why it is in this group
- The name "create_purchase_intent" says "create": a word for a change.
Findings
- Info
The input schema at properties.task_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.task_summary.description: "...ed, bounded task summary. Never include credentials, tokens, payment data, personal data, c..."
Description, as the server wrote it Compatibility alias for existing clients; new integrations should use buy_service. Use only after selecting one offer when the calling agent has explicit delegated authority for that exact fixed fee. Creates the governed purchase intent and quote, then returns adaptive Stripe-hosted checkout by default. It does not itself claim payment or start work.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
find_serviceOptional demand-feedback route.3 findings
Why it is in this group
- The name "find_service" says "find": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Info
The input schema at properties.request_summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.request_summary.description: "...names, email addresses, phone numbers, credentials, payment data, personal data, confident..."
- Info
The input schema at properties.contains_no_personal_data_or_secrets.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.contains_no_personal_data_or_secrets.description: "True only after removing personal data, credentials, confidential material, and payment dat..."
- Warn
The server marks "find_service" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "find_service" says "find": a word for reading.
Description, as the server wrote it Optional demand-feedback route. Describe one authorized sanitized business need once. Zinvyl returns the best fixed-scope offer and next purchase action, or records an unsupported need as privacy-minimized product telemetry. For read-only matching, start with qualify_task.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
qualify_taskUse when a buyer's sanitized problem is not yet mapped to an offer.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The input schema at properties.summary.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.summary.description: "...d-versus-actual outcome. Do not include credentials, tokens, personal data, or production s..."
Description, as the server wrote it Use when a buyer's sanitized problem is not yet mapped to an offer. Returns one fixed offer ID, a broader-service route, or a scope-reduction decision; it performs no diagnosis and creates no order.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 3Claude Code: allow
get_acceptance_testsUse after qualify_task or list_offers identifies an offer and detailed scope review is useful.No findings
Why it is in this group
- The name "get_acceptance_tests" says "get": a word for reading.
Description, as the server wrote it Use after qualify_task or list_offers identifies an offer and detailed scope review is useful. Returns the exact delivery acceptance tests, exclusions, and evidence boundaries that limit what Zinvyl may claim for that offer.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_purchase_requirementsUse after selecting an offer.No findings
Why it is in this group
- The name "get_purchase_requirements" says "get": a word for reading.
Description, as the server wrote it Use after selecting an offer. Returns the exact price, five-field buy_service contract, delegated-authority requirements, machine-payment route, capacity limits, and authoritative funding rule without creating an intent.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_offersUse when comparing Zinvyl's full eight-offer catalog.No findings
Why it is in this group
- The name "list_offers" says "list": a word for reading.
Description, as the server wrote it Use when comparing Zinvyl's full eight-offer catalog. For a single sanitized need, start with read-only qualify_task. Returns price, delivery window, required inputs, exclusions, and direct intake URL; use get_acceptance_tests only after selecting an offer.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.7.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http marketplace https://zinvyl.com/marketplace/agent-mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__marketplace__list_offers",
"mcp__marketplace__get_purchase_requirements",
"mcp__marketplace__get_acceptance_tests"
],
"ask": [
"mcp__marketplace__acknowledge_purchase_offer",
"mcp__marketplace__preflight_agent_purchase",
"mcp__marketplace__resume_agent_purchase",
"mcp__marketplace__find_service",
"mcp__marketplace__buy_matching_service",
"mcp__marketplace__buy_service",
"mcp__marketplace__recover_abandoned_purchase",
"mcp__marketplace__create_purchase_intent",
"mcp__marketplace__qualify_task",
"mcp__marketplace__match_or_capture_demand",
"mcp__marketplace__prepare_purchase_route"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as marketplace. Review it before you use it.