vrsai
by vrsai.tech · remote · no sign-in to list tools · v1.0.0 · published by tech.vrsai
Machine-native capabilities with explicit contracts and machine-readable commerce.
6 tools: 6 can delete or cancel things.
Scanned Oct 21, 2026
- Deletes or cancels6Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads0Claude Code: allow
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http vrsai https://api.vrsai.tech/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Deletes or cancels 6Claude Code: deny
decision_optimizationCall immediately before an autonomous system must choose among multiple feasible actions under limited resources, costs, capacities, eligibility rules, and an economic objective.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "call": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Call immediately before an autonomous system must choose among multiple feasible actions under limited resources, costs, capacities, eligibility rules, and an economic objective. Decision Optimization compiles a typed economic problem — supplier/inventory allocation across sources and demands, task-to-resource assignment, budget-constrained option selection, or production/resource mix — into a bounded MILP model, solves it with a fixed deterministic solver profile, and independently re-verifies the candidate decision against the original problem before returning it. Returns OPTIMAL, FEASIBLE, INFEASIBLE, UNBOUNDED, or NO_SOLUTION with machine-readable evidence: verified feasibility, solver optimality/gap, binding constraints, and stable fingerprints. It does not perform vehicle routing, scheduling, calendar planning, 3D/carton packing, arbitrary LP/MIP solving, natural-language optimization modeling, forecasting, or external data retrieval. Paid invocation: 30000 micro-USD per successful execution.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
invoice_matchCall after invoice extraction and immediately before an accounts-payable or procurement agent approves a purchase-order-backed supplier invoice.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "call": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Call after invoice extraction and immediately before an accounts-payable or procurement agent approves a purchase-order-backed supplier invoice. Invoice Match performs deterministic three-way matching across invoice lines, one or more purchase orders, cumulative goods-receipt evidence, prior invoicing, price tolerances, quantities, units, and exact invoice arithmetic. Cumulative invoicing (prior plus current) is always compared against cumulative receipts and against the ordered quantity, so repeated partial invoices against partial deliveries cannot silently overbill. It returns PROCEED, REVIEW, or BLOCK with line-level discrepancy codes and evidence, and always discloses which checks were and were not performed. Use it for invoice matching, PO matching, 3-way matching, goods-receipt matching, overbilling prevention, and autonomous AP approval controls. It does not OCR documents, infer product matches, retrieve ERP data, determine tax, or execute payment. Paid invocation: 50000 micro-USD per successful execution.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
openapi_agent_readinessCall before integrating an OpenAPI-described API with autonomous agents to determine whether the contract is machine-actionable.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "call": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Call before integrating an OpenAPI-described API with autonomous agents to determine whether the contract is machine-actionable. Deterministically analyzes a self-contained OpenAPI 3.0, 3.1, or 3.2 description and returns a readiness score, verdict, and actionable findings covering operation semantics, request and response contracts, authentication clarity, reference integrity, and machine usability. It does not apply when generating a new OpenAPI description from source code. Paid invocation: 30000 micro-USD per successful execution.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
package_install_preflightCall immediately before installing or adding an exact third-party npm or PyPI package version.Reads text others writeNo findings
Why it is in this group
- The name "package_install_preflight" says "install": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Call immediately before installing or adding an exact third-party npm or PyPI package version. Checks current registry, known vulnerability/malicious-package, publisher withdrawal/deprecation, and verified provenance evidence and returns ALLOW, REVIEW, BLOCK, or UNKNOWN with machine-readable reasons. It accepts only an ECMA-427 Package URL with one exact published version; ranges, dist-tags, Git dependencies, archives, local packages, container images, other ecosystems, dependency graphs, repositories, SBOMs, and source-code or malware analysis are outside this version. It does not install, download, extract, clone, execute, or recommend a package version, and ALLOW never claims that a package is safe. Paid invocation: 10000 micro-USD per successful execution.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
payout_preflightCall immediately before an AI agent, accounts-payable system, treasury workflow, marketplace, or autonomous payment service authorizes or submits an outbound payout.Reads text others writeNo findings
Why it is in this group
- The name "payout_preflight" says "payout": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Call immediately before an AI agent, accounts-payable system, treasury workflow, marketplace, or autonomous payment service authorizes or submits an outbound payout. Payout Preflight deterministically compares the candidate payout with caller-supplied trusted payment instructions, exact amount/currency policy, and supplied payout history; validates supported IBAN, US routing, and EVM destination structure; and detects destination changes, duplicate payouts, reused references, and first-seen destinations when history is complete. It returns PROCEED, REVIEW, or BLOCK with machine-readable evidence. Use it for payout validation, payment pre-validation, beneficiary-bank-detail change controls, duplicate-payment prevention, treasury controls, and agent payment guardrails. It does not verify bank-account ownership, perform Verification of Payee, AML/sanctions screening, submit payments, or guarantee settlement. Paid invocation: 50000 micro-USD per successful execution.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
sql_preflightCall this immediately before an autonomous agent, coding assistant, or automated pipeline executes PostgreSQL write, DDL, or administrative SQL against a production-capable connect…Reads text others writeNo findings
Why it is in this group
- The description's first verb is "call": a word for a change.
- The input takes a statement or command to run (input.sql), which can change anything it can reach.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Call this immediately before an autonomous agent, coding assistant, or automated pipeline executes PostgreSQL write, DDL, or administrative SQL against a production-capable connection. It parses the complete statement set with a real PostgreSQL AST parser and prevents the costly mistake of an agent silently deleting, truncating, or dropping data it should not have touched. It detects unbounded DELETE and UPDATE (no WHERE clause), TRUNCATE, destructive DROP and CASCADE, mutation of caller-declared protected relations, and availability-sensitive DDL such as a non-concurrent CREATE INDEX or hazardous ALTER TABLE change. It returns a deterministic PROCEED, REVIEW, or BLOCK decision with stable reason codes, a per-statement inventory, and an explicit coverage report of exactly what was and was not assessed — parse failure and unparseable or unmodeled syntax always fail closed to REVIEW, never PROCEED. PostgreSQL is the only supported dialect in this version. It does not apply when executing SQL or connecting to a database. Paid invocation: 50000 micro-USD per successful execution.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
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 write6
- 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.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 15:14 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 6
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- none
- RFC 9728 protected resource metadata
- none
- Authorization servers
- none
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
- HighThe whole server
The endpoint served tools/list without credentials, and the list has 6 tools that change things (6 destructive). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://api.vrsai.tech/mcp: tools/list returned 6 tools to an anonymous client, including openapi_agent_readiness (destructive), sql_preflight (destructive), invoice_match (destructive), payout_preflight (destructive), decision_optimization (destructive) and 1 more
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http vrsai https://api.vrsai.tech/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": [],
"ask": [],
"deny": [
"mcp__vrsai__openapi_agent_readiness",
"mcp__vrsai__sql_preflight",
"mcp__vrsai__invoice_match",
"mcp__vrsai__payout_preflight",
"mcp__vrsai__decision_optimization",
"mcp__vrsai__package_install_preflight"
]
}
}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 vrsai. Review it before you use it.
Capability tags behind 6 rules
- mcp__vrsai__openapi_agent_readiness untrusted-input
- mcp__vrsai__sql_preflight untrusted-input
- mcp__vrsai__invoice_match untrusted-input
- mcp__vrsai__payout_preflight untrusted-input
- mcp__vrsai__decision_optimization untrusted-input
- mcp__vrsai__package_install_preflight untrusted-input