Skip to content

InstaVeil Agent Commerce

by instaveil.com · remote · no sign-in to list tools · v1.4.0 · published by com.instaveil

Instagram research, Story monitoring and creator comparison. MCP x402 paid calls, USDC on Solana.

Final · 1Changes · 2

7 tools: 1 do something that can't be undone, 2 change things and 4 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agent-commerce https://instaveil.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "build_purchase_request" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "build_purchase_request" says "purchase": a word that usually means money moves, which cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Can't be undone 1Claude Code: ask
  • build_purchase_requestBuild a ready-to-send InstaVeil x402 POST request for one paid product so an autonomous agent can purchase with minimal integration work.1 finding

    Why it is in this group

    • The name "build_purchase_request" 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 "build_purchase_request" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "build_purchase_request" says "purchase": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Build a ready-to-send InstaVeil x402 POST request for one paid product so an autonomous agent can purchase with minimal integration work.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 2Claude Code: ask
  • execute_paid_productExecute a real x402-protected InstaVeil Instagram data API via MCP.No findings

    Why it is in this group

    • The name "execute_paid_product" says "execute": a word for a change.
    Description, as the server wrote it
    Execute a real x402-protected InstaVeil Instagram data API via MCP. First call without payment returns a free x402 V2 PaymentRequired structuredContent quote (isError=true). After a buyer wallet authorizes the exact Solana USDC payment, retry tools/call with the same arguments and params._meta['x402/payment'] containing its signed PaymentPayload (or payment_signature for clients without x402-over-MCP support). Verified data and payment settlement receipt follow as structuredContent and _meta['x402/payment-response']. No keys, automatic charges or simulated sales.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • recommend_paid_productRecommend the lowest-friction InstaVeil paid x402 product for an agent task, with exact price and resource URL.No findings

    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.
    Description, as the server wrote it
    Recommend the lowest-friction InstaVeil paid x402 product for an agent task, with exact price and resource URL.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 4Claude Code: allow
  • get_discovery_urlsReturn canonical machine-readable URLs for InstaVeil x402, OpenAPI, llms.txt and human fallback.Reads text others writeNo findings

    Why it is in this group

    • The name "get_discovery_urls" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe name "get_discovery_urls" says "get" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Return canonical machine-readable URLs for InstaVeil x402, OpenAPI, llms.txt and human fallback.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_productGet one InstaVeil x402 product in decision-ready form before an agent spends USDC.No findings

    Why it is in this group

    • The name "get_product" says "get": a word for reading.
    Description, as the server wrote it
    Get one InstaVeil x402 product in decision-ready form before an agent spends USDC.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_purchase_instructionsReturn exact machine purchase steps for one InstaVeil product using x402 V2 and Solana USDC.No findings

    Why it is in this group

    • The name "get_purchase_instructions" says "get": a word for reading.
    Description, as the server wrote it
    Return exact machine purchase steps for one InstaVeil product using x402 V2 and Solana USDC.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_paid_productsList all InstaVeil x402 products with current prices, resource URLs, input schemas and examples.No findings

    Why it is in this group

    • The name "list_paid_products" says "list": a word for reading.
    Description, as the server wrote it
    List all InstaVeil x402 products with current prices, resource URLs, input schemas and examples.

    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.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write1
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Install

Pinned to version 1.4.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-commerce https://instaveil.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agent-commerce__list_paid_products",
      "mcp__agent-commerce__get_product",
      "mcp__agent-commerce__get_purchase_instructions",
      "mcp__agent-commerce__get_discovery_urls"
    ],
    "ask": [
      "mcp__agent-commerce__recommend_paid_product",
      "mcp__agent-commerce__build_purchase_request",
      "mcp__agent-commerce__execute_paid_product"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as agent-commerce. Review it before you use it.

Capability tags behind 1 rule
  • mcp__agent-commerce__get_discovery_urls untrusted-input