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.
7 tools: 1 do something that can't be undone, 2 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things2Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "build_purchase_request" 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 "build_purchase_request" says "purchase": a word that usually means money moves, which cannot be taken back.
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".
What this check looks forMatched 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.
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/mcpRun 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.
{
"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