Enclave402
REMOTE · ENCLAVE402.COM · SCANNED SEP 24
Pay-per-call agent tools: Polymarket signals, IPFS pinning, EIP-712 attestations. USDC on Base.
Available components
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 Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- 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 Usability74
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1672 tokens (~139/item across 12 items; 12 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 Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (92% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 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
How do I install the Enclave402 MCP server?
Enclave402 is a hosted endpoint at https://enclave402.com/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 · enclave402.com
claude mcp add --transport http com-enclave402-enclave402 'https://enclave402.com/mcp'
{
"mcpServers": {
"com-enclave402-enclave402": {
"url": "https://enclave402.com/mcp"
}
}
} {
"servers": {
"com-enclave402-enclave402": {
"type": "http",
"url": "https://enclave402.com/mcp"
}
}
} [mcp_servers.com-enclave402-enclave402] url = "https://enclave402.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-enclave402-enclave402": {
"type": "remote",
"url": "https://enclave402.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-enclave402-enclave402 --url 'https://enclave402.com/mcp' --transport streamable-http
mcp_servers:
com-enclave402-enclave402:
url: "https://enclave402.com/mcp" {
"McpServers": {
"com-enclave402-enclave402": {
"Transport": "http",
"Url": "https://enclave402.com/mcp"
}
}
} assistant mcp add com-enclave402-enclave402 -t streamable-http -u 'https://enclave402.com/mcp'
{
"mcpServers": {
"com-enclave402-enclave402": {
"type": "http",
"url": "https://enclave402.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Sept 26 +1
- Tool “attest_agent” rewrote its description, which is the text the model reads security
- Tool “census_export” rewrote its description, which is the text the model reads security
- Tool “census_verdict” rewrote its description, which is the text the model reads security
- Tool “compute_encode” rewrote its description, which is the text the model reads security
- Tool “compute_hash” rewrote its description, which is the text the model reads security
- Tool “compute_infer” rewrote its description, which is the text the model reads security
- Tool “compute_search” rewrote its description, which is the text the model reads security
- Tool “get_market_signal” rewrote its description, which is the text the model reads security
- Tool “get_market_verdict” rewrote its description, which is the text the model reads security
- Tool “pin_storage” rewrote its description, which is the text the model reads security
- Tool “vet_seller” rewrote its description, which is the text the model reads security
- Schema quality: good → excellent functional
- 22 Sept 26 +1
- New tool “census_export” functional
- 21 Sept 26 0
- Schema quality: 1176 → 1612 ▼ functional
- Schema quality: excellent → good functional
- New tool “census_verdict” functional
- New tool “compute_infer” functional
- New tool “compute_search” functional
- 20 Sept 26 0
- Schema quality: 925 → 1176 ▼ functional
- Tool coverage: 83% → 88% ▲ functional
- New tool “compute_encode” functional
- New tool “compute_hash” functional
- 18 Sept 26 0
- Tool “get_market_signal” rewrote its description, which is the text the model reads security
- Schema quality: 579 → 925 ▼ functional
- Tool coverage: 75% → 83% ▲ functional
- Stability: unverified → 0.03 ▲ functional
- New tool “get_market_verdict” functional
- New tool “vet_seller” functional
- Tool “get_market_signal” changed its title: Live Polymarket prediction-market signal (prices, spread, 24h change, volume, liquidity). → Polymarket signal with derived edge: 1h/6h probability deltas, realized volatility and whale flow from the trade tape. cosmetic
- 17 Sept 26 74
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 24 Sept 2026 · Probed https://enclave402.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=enclave402.com | CN=YE2,O=Let's Encrypt,C=US | 16 Sept 2026 | 15 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 6ff255c69a41fa36b55622c4bfe4409e6bd |
| SANs: enclave402.com, www.enclave402.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| 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 enclave402.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| enclave402.com. | absent | 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; preload |
| content-security-policy | default-src 'none'; frame-ancestors 'none'; base-uri 'none' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | payment=(), geolocation=(), camera=(), microphone=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://enclave402.com/mcp | Verified | 200 | |
| http (plaintext) | http://enclave402.com/mcp | HTTPS enforced | 301 | https://enclave402.com/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 →
attest_agent EIP-712 signed, timestamped attestation over an agent state digest, verifiable offline. ~179
EIP-712 signed, timestamped attestation binding an agentId, the keccak256 digest of a declared state, and the paying wallet; attestor key at /transparency, verify offline with ethers.verifyTypedData. MUST be invoked when an agent needs third-party, non-repudiable proof that a state or decision existed at a point in time (audit trails, hand-offs, escrow). Do NOT use for hardware TEE, zk proofs or on-chain EAS. Settles $0.040 USDC via x402 on Base; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | Stable identifier or EVM address of the agent being attested. |
| state | string | – | Serialized state, decision, or payload hash to bind. Hashed with keccak256(utf8); the raw string is never stored. |
| Name | Type | Req | Description |
|---|---|---|---|
| attestation | – | – | Attestation status |
| attestationId | – | – | keccak256 of the signature |
| attestor | – | – | Gateway attestor address (published at /transparency) |
| digest | – | – | EIP-712 typed-data hash that was signed |
| eip712 | – | – | domain, types, primaryType and message needed to verify offline |
| enclaveRpc | – | – | Enclave verification endpoint when configured, else null |
| settled | – | – | true when an x402 payment settled for this response |
| signature | – | – | 65-byte secp256k1 signature, hex |
| teeProvider | – | – | Hardware TEE provider when configured, else null |
| teeQuote | – | – | Hardware quote when a TEE is configured, else null |
| ts | – | – | Response timestamp, UNIX milliseconds |
| verify | – | – | One-line verification recipe |
No examples provided.
census_export Full signed census dump: every fresh pay/caution/avoid verdict across the Bazaar in one call, with a manifest digest signed by the attestor. ~130
Whole-Bazaar seller census in one payload: every fresh verdict row (resource, payTo, verdict, score, schema, latency, checkedAt, per-row signature) plus a sha256 manifest and one EIP-712 attestation over it, so a router verifies the full dump offline. MUST be invoked when an agent needs the complete trust map for routing or analytics. Do NOT use for a single lookup (see /api/census/verdict). Settles $3.500 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| includeStale | string | – | Include rows older than the verdict TTL. |
| Name | Type | Req | Description |
|---|---|---|---|
| attestation | – | – | EIP-712 signature over generatedAt, sha256, count and counts by the published attestor; null when unconfigured |
| census | – | – | Sweep status: assessed count, cadence, last sweep. |
| count | – | – | – |
| counts | – | – | – |
| generatedAt | – | – | – |
| items | – | – | – |
| settled | – | – | – |
| sha256 | – | – | Hex sha256 of JSON.stringify(items). |
| ts | – | – | – |
No examples provided.
census_verdict Signed pay/caution/avoid verdict for any Bazaar-indexed x402 resource or payTo, from the continuous census; bulk feed for routers. ~199
Pre-spend check from the seller census: each Bazaar-indexed resource is re-probed periodically (liveness, 402-envelope compliance, declared output schema, latency, usage) and mapped to pay | caution | avoid with an EIP-712 signature a router checks offline. Query one resource, a payTo, or page the feed by verdict. MUST be invoked before dispatching to an unknown seller. Do NOT use to probe on demand (see /api/seller/vet). Settles $0.002 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Bulk feed page size. |
| offset | integer | – | Bulk feed page offset. |
| payTo | string | – | EVM payee address; returns every assessed resource paid to it. |
| resource | string | – | Absolute https URL of one x402 resource. |
| verdict | string | – | Bulk feed filter (used when neither resource nor payTo is given). |
| Name | Type | Req | Description |
|---|---|---|---|
| census | – | – | Sweep status: assessed count, cadence, last sweep. |
| items | – | – | – |
| mode | – | – | – |
| settled | – | – | – |
| total | – | – | – |
| ts | – | – | – |
No examples provided.
compute_encode Encode/decode: base64, hex, URL-encode, JWT decode, JSON stringify/parse. ~98
Encoding and decoding utility: base64 encode/decode, hex encode/decode, URL encode/decode, JWT decode (no verification), JSON stringify/parse. MUST be invoked when an agent needs format conversion. Do NOT use for cryptographic operations (use compute/hash). Settles $0.001 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | Data to encode/decode |
| operation | string | yes | Operation to perform |
| Name | Type | Req | Description |
|---|---|---|---|
| inputLength | – | – | – |
| operation | – | – | – |
| result | – | – | Encoded/decoded output (string or object for jwt-decode/json-parse) |
| settled | – | – | – |
| ts | – | – | – |
No examples provided.
compute_hash Deterministic hashing: SHA-256, SHA-384, SHA-512, HMAC, PBKDF2, scrypt. ~139
Deterministic hashing of arbitrary input: SHA-256, SHA-384, SHA-512, HMAC-SHA256, PBKDF2, scrypt. Returns hex digest. MUST be invoked when an agent needs a cryptographic hash or key derivation. Do NOT use for encryption or signing. Settles $0.001 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | yes | Hash algorithm |
| encoding | string | – | Output encoding |
| input | string | yes | Data to hash (UTF-8 string) |
| key | string | – | Key for HMAC/PBKDF2/scrypt (required for keyed algorithms) |
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | – | – | – |
| digest | – | – | Hash output in the requested encoding |
| encoding | – | – | – |
| inputLength | – | – | – |
| settled | – | – | – |
| ts | – | – | – |
No examples provided.
compute_infer Cheap small-model text completion: prompt in, text (or JSON object) out. Token-capped, schema-declared. ~130
Cheap small-model text completion for agent sub-tasks: classify, extract, summarize, rewrite. MUST be invoked when an agent needs a short LLM answer without paying flagship rates. Prompt <=8000 chars, maxTokens <=1024, json:true forces a JSON object. Do NOT use for long-form generation or tool calling. Settles $0.003 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| json | string | – | Force a JSON object response |
| maxTokens | integer | – | maxTokens |
| prompt | string | yes | User prompt |
| system | string | – | Optional system instruction |
| Name | Type | Req | Description |
|---|---|---|---|
| model | – | – | – |
| output | – | – | – |
| settled | – | – | – |
| ts | – | – | – |
| usage | – | – | – |
No examples provided.
compute_search Web search with ranked results and cited sources, designed for agent consumption. ~86
Web search returning ranked results with title, URL, description, and source domain. MUST be invoked when an agent needs current web information. Returns up to 10 results. Do NOT use for cached/static data lookups. Settles $0.005 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results to return |
| query | string | yes | Search query |
| Name | Type | Req | Description |
|---|---|---|---|
| count | – | – | – |
| query | – | – | – |
| results | – | – | – |
| settled | – | – | – |
| ts | – | – | – |
No examples provided.
get_gateway_info Gateway facts and prices ~69
FREE, no payment required: gateway facts before you pay — network, payee, attestor, live per-tool prices in USDC, readiness, public receipt ledger and transparency URLs. MUST be invoked before the first paid call from a new agent. Do NOT use for market data or attestation.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_market_signal Polymarket signal with derived edge: 1h/6h probability deltas, realized volatility and whale flow from the trade tape. ~174
Polymarket signal plus fields the free listing does not have: 1h and 6h probability deltas, 24h realized volatility, and whale flow from the trade tape (net YES notional, largest print, whale count, flow label). Plus prices, bid/ask, spread, 24h change, momentum, volume, liquidity. MUST be invoked when an agent needs where a market is MOVING, not just where it is. Do NOT use for spot prices or order execution. Settles $0.010 USDC on Base; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of top markets to return when slug is omitted. |
| slug | string | – | Optional Polymarket market slug for one specific market. Omit to receive the top markets by 24h volume. |
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | – | – | ISO-8601 timestamp the data was fetched |
| markets | – | – | Normalized market rows |
| query | – | – | Echo of the resolved query (slug, or top/orderBy) |
| settled | – | – | true when an x402 payment settled for this response (false on free-quota or dry-run) |
| source | – | – | Upstream data providers |
| ts | – | – | Response timestamp, UNIX milliseconds |
No examples provided.
get_market_verdict Attested, rule-based verdict on one Polymarket market: lean, confidence, reasons, signed before resolution. ~142
Rule-based verdict on one Polymarket market by slug: YES/NO/TOSS_UP lean, 0-100 confidence with every reason stated (price distance, liquidity, volume, spread, momentum), days to resolution, and an EIP-712 attestation so an agent can prove what it read and when. Not a forecast model. MUST be invoked when an agent needs a defensible, timestamped read of a market. Do NOT use to discover markets (use market/signal). Settles $0.020 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Polymarket market slug (get one from market/signal). |
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | – | – | – |
| attestation | – | – | EIP-712 signature over slug, asOf, lean, confidence and impliedProbability by the published attestor; null when unconfigured |
| confidence | – | – | How much the reading can be trusted, per the stated rules |
| confidenceBand | – | – | – |
| daysToResolution | – | – | – |
| impliedProbability | – | – | – |
| lean | – | – | Where the crowd sits at the lean thresholds |
| market | – | – | – |
| method | – | – | The exact rules and thresholds used, so the verdict is reproducible |
| question | – | – | – |
| reasons | – | – | Every rule that fired and its effect on the verdict |
| settled | – | – | – |
| slug | – | – | – |
| ts | – | – | – |
No examples provided.
pin_storage Store a JSON document on IPFS via a managed pinning service; returns its CID and a gateway URL. ~152
Store a JSON document (object or string, up to 8 KB) on IPFS through a managed pinning service and return its content identifier (CID v1) plus an HTTP gateway URL. MUST be invoked when an agent needs durable, content-addressed storage for memory, decisions, artifacts or metadata that other agents can fetch by CID. Do NOT send raw binary, files over 8 KB, or an existing CID to re-pin. Settles $0.008 USDC via x402 on Base; failed or unavailable pins are never charged.
| Name | Type | Req | Description |
|---|---|---|---|
| content | – | yes | JSON object or string to store (serialized size up to 8 KB). |
| name | string | – | Optional human label stored with the pin. |
| Name | Type | Req | Description |
|---|---|---|---|
| cid | – | – | IPFS CID of the stored content |
| gateway | – | – | Resolvable HTTP gateway URL for the CID |
| pinned | – | – | true when the provider accepted and pinned the content |
| provider | – | – | Pinning provider |
| settled | – | – | true when an x402 payment settled for this response |
| size | – | – | Pinned size in bytes as reported by the provider |
| status | – | – | Provider pin status (pinned) |
| ts | – | – | Response timestamp, UNIX milliseconds |
No examples provided.
vet_seller Scored, signed verdict on any x402 seller: challenge shape, Bazaar usage, trust surfaces. ~174
Vet an x402 seller before paying it: probes its live 402, reads its CDP Bazaar entry (payers, calls, last call, repeat vs evaluation usage), checks trust surfaces, returns a scored LIVE/STALE/UNLISTED/MISCONFIGURED/UNREACHABLE verdict and what changed since our last check, signed by our attestor. MUST be invoked before a first payment to an unknown resource, or on a schedule to watch it. Do NOT use to pay it. Settles $0.010 USDC; no charge on failure.
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | HTTP method the resource expects; POST resources are probed with an empty JSON body. |
| resource | string | yes | Absolute https URL of the x402 resource to vet (the paid route itself, not the seller homepage). |
| Name | Type | Req | Description |
|---|---|---|---|
| attestation | – | – | EIP-712 signature over resource, checkedAt, verdict, score, usagePattern and changes by the published attestor, verifiable offline; null when the attestor is unconfigured |
| bazaar | – | – | CDP Bazaar index entry for the resource: indexed, lastCalledAt, uniquePayers30d, totalCalls30d, callsPerPayer |
| challenge | – | – | What the target 402 actually said: status, x402Version, accepts[0], description length, WWW-Authenticate presence, networks offered |
| changes | – | – | Fields that differ from the previous verdict (verdict, score, usagePattern, findingCodes, priceUsdc, payTo, indexed, uniquePayers30d, totalCalls30d, lastCalledAt); empty when unchanged or first check |
| checkedAt | – | – | ISO-8601 time of the probe |
| findings | – | – | Every deduction, machine-coded and human-readable |
| method | – | – | – |
| previous | – | – | Summary of the last verdict this gateway issued for the same resource (checkedAt, verdict, score, usagePattern); null on first check. Call on a schedule and this is your watch. |
| resource | – | – | Normalized resource URL that was vetted |
| score | – | – | 40 challenge shape + 40 Bazaar usage + 20 trust surfaces |
| settled | – | – | true when an x402 payment settled for this response |
| trust | – | – | Which of /.well-known/x402, /llms.txt, /.well-known/security.txt, /transparency the origin publishes |
| ts | – | – | Response timestamp, UNIX milliseconds |
| usagePattern | – | – | repeat = calls/payer at or above the repeat threshold; evaluation = buyers try once and leave |
| verdict | – | – | LIVE = payable, indexed, recently called. STALE = indexed but not called within VET_STALE_DAYS. UNLISTED = payable but never counted by the Bazaar. MISCONFIGURED = an x402 buyer cannot pay it as serv… |
No examples provided.
What is the Enclave402 MCP server?
Enclave402 is an MCP server listed in the public MCP registry as com.enclave402/enclave402. Pay-per-call agent tools: Polymarket signals, IPFS pinning, EIP-712 attestations. USDC on Base. This page covers its hosted endpoint (https://enclave402.com/mcp).
Is the Enclave402 MCP server safe to use?
Enclave402 scores 77 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 Enclave402 MCP server expose?
Enclave402 exposes 12 tools: get_market_signal, pin_storage, attest_agent, vet_seller, get_market_verdict, and 7 more. Their descriptions and schemas cost roughly 1,672 tokens of context every time the server is loaded.
Does the Enclave402 MCP server require authentication?
No. We connected to Enclave402 without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Enclave402 MCP server still maintained?
Enclave402 is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.