Agentic Endpoints
REMOTE · AGENTIC-ENDPOINTS.COM
Pay-per-call tools for autonomous agents, settled in USDC on Base via x402.
Available components
Last scanned (10 hours ago)
Scores higher than 79% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Documents and Files
Recent critical change
Authorization (10 Oct 2026). See the changelog before you install this server.
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 Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (vault_store). See how to fix → View diagnostics → Fail
- 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 Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5226 tokens (~217/item across 24 items; 24 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
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 (100% of tools); any adoption earns full credit.Pass
Tool Safety88
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "reach" implies "send" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 25 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
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.
- 2 Nov 26 +1
- Stability: 0.97 → pass security
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
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 5 Nov 2026 · Probed https://agentic-endpoints.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agentic-endpoints.com | CN=WE1,O=Google Trust Services,C=US | 2 Oct 2026 | 1 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | d5e3996cc6e7296913272edd850b2776 |
| SANs: agentic-endpoints.com, testnet.agentic-endpoints.com, *.testnet.agentic-endpoints.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of agentic-endpoints.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| agentic-endpoints.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 |
| x-content-type-options | nosniff |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agentic-endpoints.com/mcp | Verified | 200 | |
| http (plaintext) | http://agentic-endpoints.com/mcp | HTTPS enforced | 308 | https://agentic-endpoints.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 →
compress Compress text to a token budget ~138
Reduce text to fit a token budget, preserving whole sentences and reporting before/after token estimates. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| strategy | string | – | Compression strategy (default extractive) |
| target_tokens | integer | – | Approximate token budget |
| text | string | yes | Text to compress |
| Name | Type | Req | Description |
|---|---|---|---|
| compressed_length | number | yes | Output length in characters |
| original_length | number | yes | Input length in characters |
| ratio | number | yes | compressed_length / original_length. Lower is more aggressive. |
| strategy | string | – | Strategy applied, echoing your request |
| text | string | yes | The compressed text |
No examples provided.
credits_balance Check how much credit a token has left ~65
Free. Reports the remaining balance on a credit token so you can tell 'out of credit' apart from 'the call failed', which otherwise look identical from the outside. This tool is free; no payment is required.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | yes | The credit token to check |
| Name | Type | Req | Description |
|---|---|---|---|
| balance_micros | number | – | Credit remaining in integer micro-dollars, the authoritative figure |
| balance_usd | string | yes | Credit remaining, in dollars |
| currency | string | – | Always 'USD' |
No examples provided.
credits_trial Get free credit to try the paid tools ~133
Free, and the first tool to call if any other tool has told you payment is required. Returns a credit_token carrying $0.10 of credit — roughly ten calls at the standard price — with no wallet, no signature, no account and no email. Pass the returned token as the `credit_token` argument to any paid tool and it will run without an x402 payment. One allowance per caller: asking again returns the same token and whatever balance is left on it, never a refill. When it runs out, buy more with the /credits/buy endpoint. This tool is free; no payment is required.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| balance_usd | string | yes | Credit remaining, in dollars |
| credit_token | string | yes | The token to pass as `credit_token` to any paid tool. Shown here and derivable again from the same caller, but not recoverable from us. |
| exhausted | boolean | yes | True when the allowance is spent. Asking again will not refill it, so buy credit or pay per call. |
| granted_usd | string | – | Size of the one-off allowance |
| next | string | – | What to do when it runs out |
| note | string | – | Why a second request returns the same token rather than more credit |
| trial | boolean | yes | Always true; distinguishes this from purchased credit |
| usage | string | – | How to spend the token |
No examples provided.
meetings_get Read one meeting in full ~208
Fetch a single meeting by meeting_id, including its full transcript when it was imported as queryable. Use this after meetings_search has identified the meeting you want. A 'content_missing' status means the record exists but its stored text could not be found -- that is a broken record, not an empty meeting, so do not report it as one. Costs $0.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| meeting_id | string | yes | Returned by meetings_import or meetings_search |
| namespace | string | yes | Isolation scope holding your meetings |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| ciphertext | string | – | Client-encrypted transcript, for private meetings |
| meeting_id | string | yes | Identifier of the meeting |
| status | string | yes | 'ok' on success |
| title | string | – | Meeting title |
| transcript | string | – | Plaintext transcript, for queryable meetings |
| visibility | string | – | 'queryable' or 'private' |
No examples provided.
meetings_import Import a meeting transcript ~462
Store a transcript so it can be searched later. Accepts a raw WebVTT or SRT export straight from Zoom, Teams, Meet or a notetaker -- you do NOT need to strip timestamps or parse it first, and cues split across timing boundaries are merged so phrases still match. `visibility` is a required decision and cannot be guessed for you: 'queryable' stores plaintext, indexes it, and means this service can read it; 'private' stores ciphertext you encrypted yourself, which is unreadable here and therefore NEVER searchable. Send `transcript` for queryable and `ciphertext` for private -- the mismatched combinations are refused rather than silently doing the wrong thing. The first import into a namespace returns a namespace_token shown exactly once; save it or the namespace is unrecoverable. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| ciphertext | string | – | Client-side encrypted transcript. Only valid with visibility 'private'. |
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| namespace | string | yes | Isolation scope, e.g. my-meetings-<uuid> |
| namespace_token | string | – | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| occurred_at | string | – | ISO-8601 time the meeting happened |
| participants | array | – | Optional attendees |
| source | string | – | Optional hint about the export format. Ignored if it disagrees with the file: WebVTT and SRT are detected from the content itself, unpacked into speaker-attributed text, and any speakers found are ad… |
| title | string | – | Human-readable meeting title |
| transcript | string | – | Plaintext transcript. Only valid with visibility 'queryable'. |
| visibility | string | – | 'queryable' (plaintext, searchable, readable by this service) or 'private' (ciphertext, never searchable). Defaults to private. |
| Name | Type | Req | Description |
|---|---|---|---|
| meeting_id | string | yes | Identifier for later meetings_get calls |
| namespace_token | string | – | Issued only on the first import into a namespace, shown exactly once |
| note | string | – | Present alongside a newly issued namespace_token |
| searchable | boolean | – | False for private meetings, which are never searchable |
| size_bytes | number | – | Stored size |
| status | string | yes | 'imported' on success |
| visibility | string | – | 'queryable' or 'private' |
No examples provided.
meetings_list List your meetings ~189
List the meetings in a namespace newest first, with titles, dates, participants and whether each one is searchable. Never returns transcripts. Useful for orienting before a search, and for finding meetings that are private and therefore invisible to meetings_search. Costs $0.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| limit | integer | – | Max results, 1-500 (default 100) |
| namespace | string | yes | Isolation scope holding your meetings |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | Number of meetings returned |
| meetings | array | yes | – |
| status | string | yes | 'ok' on success |
No examples provided.
meetings_search Search your meeting transcripts ~316
Ask a question across every meeting you have imported as queryable, and get back ranked excerpts with the meeting they came from. This is the tool to use when the user refers to something that was said, agreed, or decided in a call -- 'what did we decide about pricing', 'who owned the migration', 'when did we say we would ship'. Returns 'searched_meetings' and 'private_meetings_skipped': meetings imported as private are encrypted and CANNOT be searched, so if searched_meetings is 0 an empty result means nothing was searched, NOT that the topic was never discussed. Use meetings_get to read a full transcript once you have found the right meeting. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| limit | integer | – | Max results, 1-50 (default 10) |
| namespace | string | yes | Isolation scope holding your meetings |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| query | string | yes | FTS5 match expression. Use quotes for phrases, e.g. "budget review". Prefer a few distinctive words over a whole sentence. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | Number of matches returned |
| matches | array | yes | Ranked excerpts, best first |
| private_meetings_skipped | number | – | Encrypted meetings that could not be searched |
| query | string | – | The match expression that was run |
| searched_meetings | number | – | How many meetings were actually searched. If 0, an empty result means nothing was searchable, NOT that the topic was never discussed. |
| status | string | yes | 'ok' on a successful search |
No examples provided.
meetings_summarize Answer a question from your meetings ~377
Ask a plain-language question and get a written answer grounded in the user's own meeting transcripts, with the meeting id cited after each claim. Prefer this over meetings_search when the user wants an ANSWER ('what did we decide about pricing?', 'who owned the migration?') rather than a list of excerpts to read themselves. Pass the question as the user asked it -- this is NOT FTS5 syntax, and the terms actually searched come back as `terms` so you can check the retrieval. IMPORTANT: a 'no_matches' status means no answer was generated, and 'searched_meetings': 0 means every meeting is private and NOTHING was read -- neither is evidence the topic was never discussed, and you must not report it as such. Meetings imported as private are encrypted and can never contribute to an answer; `private_meetings_skipped` says how many were left out. A 'truncated' meeting in `consulted` had only part of its transcript read, so its silence on a point is not evidence either. Costs $0.050 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| limit | integer | – | Max meetings to consult, 1-8 (default 5) |
| namespace | string | yes | Isolation scope holding your meetings |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| question | string | yes | The question in plain language, as the user asked it. Not a search expression. |
| Name | Type | Req | Description |
|---|---|---|---|
| ai_generated | boolean | – | True: `answer` was written by an AI model |
| answer | string|null | – | The grounded answer with [meeting_id] citations, or null when nothing was summarised. |
| consulted | array | – | The meetings the answer was actually built from |
| model | string | – | The model that produced the answer |
| private_meetings_skipped | number | – | Encrypted meetings that could not contribute to the answer |
| question | string | – | The question as asked |
| searched_meetings | number | – | Queryable meetings available to search. 0 means nothing was read. |
| status | string | yes | 'ok' when an answer was generated. 'no_matches', 'unusable_question' and 'content_missing' all mean NO answer was produced and must not be read as the topic being absent. |
| terms | array | – | The search terms derived from the question |
No examples provided.
once_key_claim Claim an action exactly once ~477
Atomic idempotency witness. Claims a {namespace, action_key} pair exactly once, so a fleet of agents cannot perform the same side effect twice. Call this BEFORE any non-idempotent action such as sending an email, charging a card, or posting an order. Returns one of: 'claimed' — you won, do the work, then call once_key_complete; 'in_progress' — another agent holds a live lease, wait retry_after seconds and do NOT do the work; 'duplicate' — already done, and the 'result' field carries the original outcome, so use it instead of repeating the work; 'held' — another agent claimed this key, set no lease, and has NOT completed it: there is no result and there may never be one, so do NOT do the work and do NOT treat it as done, because the key stays locked until expires_at; 'conflict' — the same key was claimed with a different payload hash, so your key derivation is wrong. Backed by a strongly consistent Durable Object; this is not something an agent can safely reimplement locally. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| action_key | string | yes | Stable identifier for the action being claimed |
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| lease_ttl | integer | – | Seconds you have to call once_key_complete before the claim is treated as abandoned and another agent may take it over. Set this if your work could crash partway. Omit it to hold the claim for the fu… |
| namespace | string | yes | Isolation scope, e.g. your application name |
| namespace_token | string | – | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| payload_sha256 | string | – | Optional hash of the action payload. If it differs from the stored hash, the result is a conflict. |
| ttl | integer | – | Claim lifetime in seconds (default 86400) |
| Name | Type | Req | Description |
|---|---|---|---|
| action_key | string | yes | The key that was claimed |
| claimed_at | string | – | ISO-8601 claim time |
| expires_at | string | – | ISO-8601 expiry of the claim record |
| has_result | boolean | – | Distinguishes a recorded null result from no result at all |
| lease_expires_at | string | – | Call once_key_complete before this or the claim may be taken over |
| namespace | string | – | Isolation scope |
| namespace_token | string | – | Issued only on the first claim in a namespace, shown exactly once |
| note | string | – | Present alongside a newly issued namespace_token |
| receipt | string | – | Payment receipt |
| result | – | – | The recorded result, present when status is 'duplicate'. |
| status | string | yes | 'claimed' means you own the action and must perform it. 'duplicate' means someone already did: do NOT repeat the side effect, use `result` instead. |
No examples provided.
once_key_complete Record the outcome of a claimed action ~200
Free. Records the result of work you performed under a claim from once_key_claim. Every later claim of that action_key returns 'duplicate' along with this result, which is what lets another agent continue without repeating the side effect. Always call this after the work succeeds — a claim with no recorded result leaves every other agent unable to learn what happened. Completion is final and cannot be overwritten. This tool is free; no payment is required.
| Name | Type | Req | Description |
|---|---|---|---|
| action_key | string | yes | The action_key you claimed |
| namespace | string | yes | Isolation scope used when the key was claimed |
| namespace_token | string | – | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| result | – | – | Any JSON value describing the outcome, up to 16 KB serialized. Store large payloads elsewhere and record a reference. |
| ttl | integer | – | How long to retain the result, in seconds (default 86400) |
| Name | Type | Req | Description |
|---|---|---|---|
| action_key | string | yes | The key whose outcome was recorded |
| completed_at | string | – | ISO-8601 completion time |
| expires_at | string | – | When the recorded result is discarded |
| has_result | boolean | – | Distinguishes a recorded null result from no result at all |
| result | – | – | The stored result, replayed to later claimants. |
| status | string | yes | 'completed' |
No examples provided.
once_key_release Release a claim whose work failed ~130
Free. Surrenders a claimed action_key so a retry can start immediately instead of waiting out the lease. Call this when the work you claimed fails. Refuses if the key was already completed, because releasing it would discard the recorded result and allow the side effect to run twice. This tool is free; no payment is required.
| Name | Type | Req | Description |
|---|---|---|---|
| action_key | string | yes | The action_key to release |
| namespace | string | yes | Isolation scope used when the key was claimed |
| namespace_token | string | – | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| action_key | string | yes | The key that was surrendered |
| status | string | yes | 'released' |
No examples provided.
pdf_parse Extract text from a PDF ~147
Extract text from a PDF by URL. Handles compressed streams, PDF 1.5+ object streams and ToUnicode CMaps, and reports encrypted or image-only documents honestly instead of returning garbage. Costs $0.020 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| max_pages | integer | – | Optional page cap |
| url | string | yes | HTTPS URL of the PDF |
| Name | Type | Req | Description |
|---|---|---|---|
| extracted_at | string | – | ISO-8601 extraction time |
| page_count | number | yes | Pages extracted |
| pages | array | yes | – |
| url | string | yes | The PDF that was fetched |
No examples provided.
reach Check whether agents can reach a URL ~215
Send one GET to a URL as each of nine common clients (curl, node, Python urllib, Python requests, libwww-perl, a Chrome browser, GPTBot, ClaudeBot, Googlebot) and report which are refused and why, such as a Cloudflare 1010 block on Python's urllib. Also reports robots.txt blocks on AI crawlers, whether /llms.txt exists, and whether the http-to-https redirect keeps POST bodies. Use before relying on a site or API from code, or to check your own. Read-only; private addresses are refused. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| url | string | yes | Public HTTP(S) URL to check |
| Name | Type | Req | Description |
|---|---|---|---|
| clients | array | yes | One row per client identity |
| http_redirect | object | – | How http:// redirects to https://, and whether POST survives it |
| llms_txt | object | – | Whether /llms.txt is a real text file |
| measured_from | string | – | Where the scan ran, and what that means for the results |
| robots_txt | object | – | robots.txt status and the AI crawlers it shuts out of the whole site |
| scanned_at | string | – | ISO-8601 time of the scan |
| status | string | yes | 'ok' when the scan ran |
| summary | string | – | One sentence stating the result |
| url | string | – | The URL that was scanned |
| verdict | string | yes | 'pass' (every client reached), 'shadowed' (some refused while others reached: the fixable finding), 'refused' (all refused) or 'unreachable' |
No examples provided.
reach_report Full reachability report for a site ($69) ~215
Order a full reachability report for one site: up to 20 pages, each checked from nine common clients. Returns a report_id and report_url at once; the pages are scanned in the background, about ten seconds each. The finished report gives the likely cause of every refusal with exact fix steps and a reproducing curl command, a prioritised fix list, and three free re-scans within 30 days. Use reach_report_status to read it. For a single quick check use the reach tool instead. Costs $69.00 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| urls | array | yes | 1 to 20 public HTTP(S) URLs on one site (at most 3 hostnames) |
| Name | Type | Req | Description |
|---|---|---|---|
| eta_seconds | number | – | Roughly how long until the report is complete |
| pages | number | – | Pages that will be scanned |
| report_id | string | yes | Keep this: it is the only way to read the report |
| report_url | string | – | The report as a web page |
| status | string | yes | 'accepted' once the report is queued |
No examples provided.
reach_report_rescan Re-scan a reachability report after fixing ~79
Free, up to three times within 30 days of ordering. Re-runs every page of a finished report so you can confirm a fix worked; the report then shows what was fixed, what remains and anything new. This tool is free; no payment is required.
| Name | Type | Req | Description |
|---|---|---|---|
| report_id | string | yes | The report_id of a finished report |
| Name | Type | Req | Description |
|---|---|---|---|
| rescans_remaining | number | – | Free re-scans left |
| run | number | – | Which scan this is; the paid scan is 0 |
| status | string | yes | 'accepted', or 'busy', 'exhausted' or 'expired' with a reason |
No examples provided.
reach_report_status Read a reachability report ~86
Free. Returns a reachability report by its report_id: progress while it scans, then the prioritised findings with causes, fix steps and reproducing commands, the per-page evidence, and a comparison with the previous scan after a re-scan. This tool is free; no payment is required.
| Name | Type | Req | Description |
|---|---|---|---|
| report_id | string | yes | The report_id returned when the report was ordered |
| Name | Type | Req | Description |
|---|---|---|---|
| comparison_with_previous_run | object | – | After a re-scan: fixed, remaining and new findings |
| findings | array | – | Prioritised findings: severity, title, cause, fix steps, reproducing command, affected URLs |
| progress | object | – | Pages scanned so far, of the total |
| report_id | string | yes | The report |
| status | string | yes | 'scanning' or 'complete' |
| summary | object | – | Count of findings by severity |
No examples provided.
scrape Fetch a page as text or markdown ~162
Fetch a URL and return readable text or markdown, optionally narrowed by CSS selector. Requests to private, loopback and link-local addresses are refused, and every redirect hop is re-validated. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| format | string | – | Output format (default text) |
| selector | string | – | Optional CSS selector to extract just part of the page |
| url | string | yes | HTTPS URL to fetch |
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Extracted content in the requested format |
| extracted_at | string | – | ISO-8601 fetch time |
| format | string | – | 'text', 'markdown' or 'html', echoing your request |
| title | string | – | Document title, when the page has one |
| url | string | yes | The page that was fetched |
No examples provided.
vault_delete Delete a stored secret ~140
Permanently delete an item. Requires the namespace_token. Costs $0.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| key | string | yes | Item key |
| namespace | string | yes | Isolation scope |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | The key that was removed |
| namespace | string | – | Isolation scope |
| status | string | yes | 'deleted' |
No examples provided.
vault_exists Test whether a key exists ~143
Check for a key without returning its ciphertext. Requires the namespace_token. Costs $0.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| key | string | yes | Item key |
| namespace | string | yes | Isolation scope |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| exists | boolean | yes | Whether the key is present. Cheaper than a retrieve. |
| key | string | yes | The key that was checked |
| namespace | string | – | Isolation scope |
No examples provided.
vault_list List the keys in a vault namespace ~181
List the keys held in a namespace with their metadata: alg, size, timestamps. Never returns ciphertext — use vault_retrieve for that. Each item's updated_at is the version to pass back as if_match on a conditional store. Use this when you have stored secrets and need to know what is there. Costs $0.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| namespace | string | yes | Isolation scope |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | Number of entries |
| items | array | yes | Metadata only — ciphertext is never included here |
| status | string | yes | 'listed' |
No examples provided.
vault_retrieve Retrieve an encrypted secret ~141
Retrieve a previously stored ciphertext. Requires the namespace_token. Costs $0.02 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| key | string | yes | Item key |
| namespace | string | yes | Isolation scope |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| alg | string | – | Algorithm label you supplied at store time |
| ciphertext | string | yes | Exactly the bytes you stored. Decrypt these yourself. |
| created_at | string | – | ISO-8601 creation time |
| expires_at | string|null | – | Expiry, or null if it never expires |
| key | string | yes | The key that was read |
| namespace | string | – | Isolation scope |
| receipt | string | – | Payment receipt |
| status | string | yes | 'retrieved' |
| updated_at | string | – | ISO-8601 last write |
No examples provided.
vault_rotate_token Rotate a vault namespace token ~120
Free. Mints a new namespace_token and immediately invalidates the current one, which you must present to authorize the rotation. Do this whenever the token may have been exposed — a leaked token is otherwise permanent, unrevocable read and delete access to every secret in the namespace. There is no recovery if you lose the token. This tool is free; no payment is required.
| Name | Type | Req | Description |
|---|---|---|---|
| namespace | string | yes | Isolation scope |
| namespace_token | string | yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| Name | Type | Req | Description |
|---|---|---|---|
| namespace_token | string | yes | The new token, shown exactly once. The previous one stops working. |
| notice | string | – | Human-readable warning that the old token is now invalid |
| status | string | yes | 'rotated' |
No examples provided.
vault_store Store an encrypted secret ~362
Store client-side encrypted data. This service holds no key that could decrypt it and never sees plaintext; note that the item key, namespace, alg label and size ARE stored in the clear. The first store claims the namespace and returns a namespace_token shown only once — store it immediately, because it is required by every later call and cannot be recovered. Pass if_match with an item's updated_at for a compare-and-swap write, or if_absent to create only; either returns status 'precondition_failed' rather than silently clobbering a concurrent write. Costs $0.02 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| alg | string | – | Algorithm label recorded alongside the item (default aes-256-gcm) |
| ciphertext | string | yes | Encrypt before sending. Plaintext here would be a mistake. |
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| if_absent | boolean | – | Only write if the key does not already exist. Fails with status 'precondition_failed' if it does. |
| if_match | string | – | Only write if the item's current updated_at equals this. Use it whenever you are updating a value you read earlier, or a concurrent writer's change is lost silently. |
| key | string | yes | Item key |
| namespace | string | yes | Isolation scope |
| namespace_token | string | – | One-time token issued by the first call that claimed this namespace. Required for every later call. |
| ttl | integer | – | Item lifetime in seconds |
| Name | Type | Req | Description |
|---|---|---|---|
| alg | string | – | Algorithm label you supplied; the service never decrypts |
| created_at | string | – | ISO-8601 creation time |
| expires_at | string|null | – | Expiry, or null if it never expires |
| key | string | yes | The key that was written |
| namespace | string | – | Isolation scope |
| namespace_token | string | – | Issued only on the first store into a namespace, shown exactly once |
| receipt | string | – | Payment receipt |
| size_bytes | number | – | Stored ciphertext size |
| status | string | yes | 'stored' |
| updated_at | string | – | ISO-8601 last write |
No examples provided.
x402_verify Check an x402 endpoint before paying it ~495
Call this BEFORE authorising payment to any x402 endpoint you did not write yourself. It fetches the endpoint's live payment challenge and compares it against every observation previously made by every other caller, so you learn things a single agent cannot see on its own -- above all, whether the address receiving the money has changed. A 'critical' entry in `drift` means something determining where funds go (pay_to, network or asset) is different from before: stop and confirm out of band. Read the LIVE `charges` in preference to any directory listing, and pass what the listing claimed as `expect` to have the disagreement reported. IMPORTANT: 'status':'ok' is NOT an endorsement -- it only means a challenge was read and recorded. It cannot tell you whether the operator will deliver anything for your money. 'first_observation':true means there is no history at all, so an empty `drift` proves nothing. ALWAYS read `prior_criticals`: `drift` only compares against the last observation, so an endpoint that swapped its payee earlier shows an empty `drift` once that swap became the baseline -- a non-zero `prior_criticals` means it has changed where money goes before, and that is true no matter how clean today's look is. 'status':'unreachable' is not evidence of fraud and not evidence of health; do not pay on it either way. A null `price_usd` means the token's units are unknown here and the amount was NOT converted -- do not assume it is small. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.
| Name | Type | Req | Description |
|---|---|---|---|
| credit_token | string | – | Optional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed. |
| expect | object | – | Optional. What a directory, README or earlier response led you to believe. Any disagreement with the live challenge is reported. |
| method | string | – | How to provoke the challenge: 'POST' (default), 'GET' or 'HEAD'. Use the method you intend to pay for. |
| url | string | yes | Public HTTPS URL of the endpoint you are about to pay. Loopback and private-network addresses are refused rather than fetched. |
| Name | Type | Req | Description |
|---|---|---|---|
| advice | string | – | Plain-language statement of what was and was not established |
| charges | object | – | What the endpoint declares it will charge, right now |
| drift | array|null | – | Differences from the last observation. Any severity 'critical' entry changes where money goes. Null means no comparison was made at all, which is not the same as an empty array. |
| first_observation | boolean | – | True when there was no prior record, so an empty `drift` means nothing |
| first_seen | string | – | ISO-8601 time this endpoint was first observed |
| http_status | number | – | Status code the endpoint returned |
| last_critical | object|null | – | The most recent previously recorded critical change, or null if there has never been one. |
| last_seen | string | – | ISO-8601 time of the previous observation |
| matches_expectation | boolean | – | Present only when `expect` was supplied |
| mismatches | array | – | How the live challenge disagrees with what you expected |
| prior_criticals | number | – | How many critical changes have EVER been recorded for this endpoint, not counting this call. `drift` only compares against the last observation, so once a change has been absorbed into the baseline i… |
| reachable | boolean | – | Whether the endpoint answered at all |
| status | string | yes | 'ok' means a challenge was read -- NOT that the endpoint is trustworthy. 'refused' means the URL was never fetched. 'unreachable', 'redirected' and 'not_x402' all mean no challenge was obtained. |
| times_seen | number | – | How many observations exist, across all callers |
| url | string | – | The URL that was checked |
No examples provided.
How do I install the Agentic Endpoints MCP server?
Agentic Endpoints is a hosted endpoint at https://agentic-endpoints.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 · agentic-endpoints.com
claude mcp add --transport http com-agentic-endpoints-agentic-endpoints 'https://agentic-endpoints.com/mcp'
What is the Agentic Endpoints MCP server?
Agentic Endpoints is an MCP server listed in the public MCP registry as com.agentic-endpoints/agentic-endpoints. Pay-per-call tools for autonomous agents, settled in USDC on Base via x402. This page covers its hosted endpoint (https://agentic-endpoints.com/mcp).
Is the Agentic Endpoints MCP server safe to use?
Agentic Endpoints scores 79 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 Agentic Endpoints MCP server expose?
Agentic Endpoints exposes 24 tools: meetings_search, x402_verify, meetings_summarize, meetings_import, meetings_get, and 19 more. Their descriptions and schemas cost roughly 5,181 tokens of context every time the server is loaded.
Does the Agentic Endpoints MCP server require authentication?
No. We connected to Agentic Endpoints without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Agentic Endpoints MCP server still maintained?
Agentic Endpoints is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.