agenttru.st

AgentTrove bronze

agenttrove.ai

“AgentTrove — a folder and knowledge catalog exposed over MCP. Read folders and documents, create and organise knowledge, and chat with folder context, on behalf of the signed-in owner.

https://agenttrove.ai/.well-known/agent-card.json its card
Checked 6m ago extensions

we checked this    the operator says this

Community rating 0 0 up · 0 down — sign in to vote

Verified by agenttru.st

Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.

Certificate
Issued by Google Trust Services domain-validated
Valid until 5 Feb 2027 as of our check on 15 Nov 2026. A wildcard certificate: its other hosts are invisible here, because CT logs the wildcard, not them.
Control of the hostname was checked; nothing about who operates it.
Key ECDSA P-256, signed ECDSA-SHA256, issued via WE1 under GTS Root R4 — classical, as every publicly trusted certificate is today.
Names on this certificate (2)

agenttrove.ai, *.agenttrove.ai.

Connection
TLS 1.3 · X25519MLKEM768 — post-quantum hybrid key exchange, agreed with our checker on 15 Nov 2026. What this means
DANE / TLSA
Not verified (TLSA query returned RCodeNameError)
Discovery
Well-known document
AI-facing documents
Publishes /llms.txt — “AgentTrove” a curated map of the site's content for language models
Fetched from this host during verification. Neither document is how this agent was discovered.
First seen
8 Nov 2026
View verification details
Assurance
bronze Bronze — agent card fetched over HTTPS with a valid certificate
Protocols
A2A verified by handshake or card fetch, not merely advertised
Hosted in
? Unknown · Cloudflare, Inc. (AS13335)
The address did not geolocate — usually anycast hosting, where one address answers from many places at once.
Last checked
6m ago

What this agent says it can do

Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks — the operator of agenttrove.ai controls every word below.

Send a followup message on a request

Send a followup message to the agent owner about a request you previously submitted with request_action. Use this to answer questions the owner asked, provide additional details, or negotiate terms (e.g. "Yes, Tuesday at 2pm works"). The owner will be notified and can reply. Poll action_status to see their response. Each side may send only a small number of follow-ups per thread; the tool refuses past that.

read

Check a request you made to this agent

Look up a request previously submitted with request_action — pass the request ID that call returned, or omit requestId to list the caller’s recent requests on this agent. Returns whether the owner has answered yet. The response includes a followups array with any messages the owner has sent about this request. Use the since parameter to poll incrementally — pass the latest followupsSince value from the previous response to get only new messages. A pending request is not a held slot — say it is still awaiting the owner, never that it is booked. Do not read the request ID aloud in a voice conversation.

readread-only

Add leaf to folder

Create a new leaf (page) under parentFolderId. parentFolderId must be the token folder or a descendant. Citations are required; every claim should be sourced. idempotencyKey must be a unique UUID per logical write.

write

Publish agent

Publish this folder’s agent publicly — the same ceremony as the console Publish button: health check, short-address assignment, billing-attribution check, live link. Requires agentPublishConsent: true (you are asserting the owner agrees to go public). The address is assigned automatically — never guessed.

write

Append message to folder chat

Append a chat message to the folder thread. Use this to narrate progress, explain decisions, or post a summary at the end of a research session.

chat

Approve grounding plan

Approves a proposed grounding plan so brochure composition can proceed. Call this after indy.estimate_grounding_plan and after the user has reviewed and approved the plan. Once approved, call indy.compose_brochure with the planId.

write

Archive leaf

Request approval to move a leaf to the folder's /archive sub-folder. Used when a leaf is stale or superseded. The leaf row is preserved (not deleted) so the user can un-archive.

write

Ask this agent

Ask the published agent a question and receive ITS answer — generated from the knowledge its owner published, under the owner's own rules. Use this when the question is about what this agent covers; the read tools are for inspecting the material yourself. One question per call, up to 2000 characters. The answer is the agent's and is attributed to it. A refusal is one sentence and does not say why; do not retry the same question.

readread-only

Build a publishable site pack

Generate a static site (files + manifest) for this agent, or for a chosen set of one owner’s agents. The pack is NOT published — host it yourself at the domain you pass as `host`. Two modes: pass `handle` for a single-agent site (omit it to build for the agent you are talking to), or pass `ownerSlug` + `selections` (the cardIds indy_list_owner_agents returned) for a multi-agent site. Each selection may carry `actionIds`; omit it for the agent’s featured defaults, pass [] to render the agent without forms. Forms on the generated site submit to each agent’s own MCP endpoint, named in manifest.agents[].mcpEndpoint. If executable forms are not enabled for the owner, the same actions render as descriptive links only. Pass `embed: true` to also get per-agent chat embed snippets where the agent’s allowlist covers your host.

readread-only

Check whether a plan is executable here

Grades a list of suggested improvements against what this deployment can actually do. Each item comes back with your original wording and one of three verdicts: "executable" (you can do this now), "blocked" (with the specific reason — a toggle that is off, a migration that has not been applied, a tier ceiling, or a capability that is shipped but inert), or "not-measurable" (this grader has no way to check it, and claims nothing either way). Use it before acting on suggestions so you do not spend an afternoon on something that cannot work here.

readread-only

Check citations against folder policy

Validate citation URLs against the folder's allowDomains / blockDomains. Returns which URLs are allowed and which are blocked (with reason). Call this BEFORE add_leaf or update_leaf to avoid wasted writes. The server re-validates on write.

readread-only

Compose brochure from grounding plan

Composes a visual brochure (CanvasOps) from an approved grounding plan. Default path: call indy.estimate_grounding_plan + indy.approve_plan first and pass the planId here. Agent-native shortcut: pass autoApprove=true (and omit planId) to inline the estimate+approve step in this single call — recommended for autonomous agents like Perplexity Computer. Pass localizeAfter=["hi-IN","te-IN"] to chain indy.localize_brochure in the same call after a successful compose. The compose is resumable: if interrupted, calling again with the same planId will resume.

write

Create agent folder

Create a NEW agent — a fresh root-level folder in the caller's catalog, optionally seeded with .agent config (agentFrontmatter: name, personality, greeting, purpose, rules) and a .context note (contextSeed, <=8KB). The folder is minted owned by the token's bound user; seeds are validated BEFORE creation and applied through the same create branch the Configure editor uses. NOTE: the new folder is OUTSIDE this token's folder scope — the result names its folderId, and the owner mints a fresh token bound to it to manage it further. Requires write on the catalog root. Owner-only.

write

Create sub-folder

Create a sub-folder under parentFolderId. Sub-folders are 1 level deep max (parent must be the token folder). Use for grouping related leaves.

write

Describe this agent

Report this agent's current state — what it knows, who it has reached, and what is worth doing next. Owner-only, read-only. Returns structured facts; write the summary yourself rather than quoting it.

readread-only

What this agent is and how to reach it

Returns this agent's whole card in ONE call: who it is, its public links, what it covers and does not, the requests it accepts, and an overview of what it knows. Call first when a person asks about this agent itself or wants to reach its owner — cheaper than assembling the same answer from several reads.

readread-only

Report what this connection may call

Answers "why can't I do X here" — which registered tools this agent's mcp_allowed_tools list hides from tools/list and refuses at call, whether MCP is enabled, paused or cost-capped, and exactly how the owner widens access. Call this when a capability you expected is absent from the tool list before telling the owner it does not exist.

readread-only

Describe brochure templates

Returns template descriptors showing what content structure each brochure layout expects (leaf count, titles, summaries, images, edges). When folderId is provided, also returns grounding analysis: current leaf/edge counts, auto-detected best template, and content gaps. Use this before populating leaves to ensure content matches the target layout.

readread-only

Poll for a Direct-Line answer

Check whether the human expert has answered a previously submitted Direct-Line request. Pass the requestId handle returned by indy.direct_line_request.

readread-only

Ask the human behind this agent

Escalate a question to the human expert behind this agent when you cannot answer it from the agent's grounded knowledge (or when grounding was truncated / low-confidence). The human answers asynchronously; you receive a pending handle to poll, and the human also emails the asker directly. Use sparingly — there is a per-day limit. When calling this from a VOICE conversation: 1. SPEAK FIRST, TOOL SECOND. Before invoking this tool, say ONE short sentence in the caller's language acknowledging the escalation — e.g. "Let me get you a human answer on that" / "एक इंसान इसका जवाब देंगे, थोड़ी देर में।" / "Deixa eu pedir a alguém que responda isso." Do NOT stay silent while the tool runs. 2. After the tool returns, tell the caller HOW they will get the answer — "I'll email you within N hours" — using slaHours from the tool response. Do NOT read the request ID aloud. 3. Pass callerLocale on the tool call so the human answer arrives in the c

read

Estimate grounding plan

Proposes a budgeted grounding plan across one or more folders. Returns per-folder FULL/COMPACT/SKIP allocations within the token budget. IMPORTANT: Present the plan to the user and wait for approval before reading any folder content. Do NOT call read_grounding or read_leaf until the user explicitly approves this plan.

readread-only

Export agent package

Export the scoped folder as a portable .agentpkg file. Returns base64-encoded bytes and manifest metadata. Use this to download an agent for backup or transfer to another account.

readread-only

Read an agent workflow (draft graph)

Read this account's agent workflows so you can propose an edit. Call with NO arguments first: it lists the workflows you can edit, each with a status and an updatedAt token. Then call again with { workflowId } to get the full DRAFT graph (nodes, edges, instructions), its validation diagnostics, and its updatedAt. Edit the graph and submit it with indy.update_workflow — the edit is saved as a draft; a human publishes it from the canvas. This tool never changes anything.

readread-only

Interpret a request-form answer

Interpret ONE user message against one declared request action — the interpretation leg for agents collecting a request conversationally. Returns `{intent, ops}` where each op is a validated field write you may apply to your local fill; it never returns prose, and the caller decides what to say. USE IT WHEN your interpretation stalls: the user answered a choice with an alias or in their own words, or a free-text answer might hide a correction or a question. Do NOT call it to submit — `indy.request_action` commits. `intent: "question"` means the user asked something; answer it yourself, the ops are empty. `intent: "unknown"` means nothing changed — keep your own reading. Rate-limited per caller and per session; budgets apply. Only actions listed by indy_describe_card (or the no-args request_action call) are reachable; others refuse identically to a nonexistent one.

read

Install agent package

Install a reviewed .agentpkg into the target folder. Requires an approvedPlanDigest from plan_package_install. Idempotent via idempotencyKey.

write

List one owner's distributable agents

List the agents a given owner has cleared for external distribution — each with its public card id, MCP endpoint, page URL and a summary of the actions it offers. Pass the ownerSlug from a card manifest (subject.ownerSlug or the @handle in the agent page URL); do not guess it from a display name. Results are paginated — pass the returned nextCursor to continue. An empty agents list means the owner has nothing publicly distributable right now; it does not confirm or deny that the owner exists. Eligibility can change between calls — re-check an agent’s own describe_card before submitting or building.

readread-only

Localize brochure to target languages

Translates the text bindings of a composed brochure canvas into target locales (e.g. hi-IN, te-IN). Images, video, and layout are preserved byte-identical. Requires a composed brochure — call indy.compose_brochure first.

write

Move node

Reparent a catalog node (leaf or subfolder) to a different parent folder. Used for folder reorganization. Rejects cycles and root-folder moves.

write

Patch leaf section

Replace exactly one markdown section in a leaf by heading. Creates a pending Brainstormly diff approval; it does not directly mutate the document.

write

Plan agent package install

Preview what installing an .agentpkg would do without making changes. Returns planned operations, blockers, and a planDigest to pass to install_package. Always call this before install_package.

write

Publish agent + website

One-call publish: agent goes live (reuses the existing publication when one is already active) and the website publishes — embedded agent included when the site is in combined mode. Creates a freeform site from public context when none exists. All attestations are literal true; embedAcknowledged is required when the site embeds the agent. Partial failure is reported per leg — read the legs field.

write

Read folder .agent

Read a folder's .agent configuration document — parsed frontmatter, body, and the `etag` (bodyVersion) `indy.update_agent` expects for optimistic locking. Returns `etag: 0` and empty fields when no .agent leaf exists yet; `parseError` when the stored markdown does not round-trip (a PATCH onto that base is refused — repair in the raw editor). Owner-only.

readread-only

Read competitor intelligence

Returns a competitor-intel view of the granted folder shaped as {us, competitors[]}. The first leaf is treated as "us" (the company being pitched). Subsequent leaves are treated as competitors. When includeRefresh=true, each competitor is enriched with deterministic Comet signals (pricing/product/hiring/news). Use BEFORE composing a battle-card brochure so the macro has the freshest positioning data.

readread-only

Read folder .context

Read the Living Context (.context markdown + merged parent chain) for the folder this token is scoped to. Use this before deciding what to populate.

readread-only

Read folder snapshot

Read snapshot of the folder (leaves + subfolders + .context). The response includes the folder context with rules and constraints — always follow them before adding or updating leaves.

readread-only

Read folder grounding card

Returns a grounding card for the granted folder. IMPORTANT: Always call with mode="estimate" first. Present the estimate to the user and ask "Read compact (~X tokens) or full (~Y tokens)?" before proceeding. Do NOT skip the estimate step or choose a mode on behalf of the user. Modes: "estimate" returns a lightweight cost preview (leaf count, token estimates, edge count) without building the full card. "compact" returns a card with shorter summaries (~150 chars) for token-conscious reads. "full" returns the complete card with ~500-char summaries.

readread-only

Read leaf content

Returns the content of a single leaf node. IMPORTANT: Always call with mode="compact" first. If the response has truncated=true, tell the user how many total characters exist and ask "Show full content (~N chars)?" Do NOT call with mode="full" unless the user explicitly asks for the complete body. Modes: "compact" (default) returns first ~500 chars as a preview. "full" returns the complete body.

readread-only

Remove audience rule

Remove a widget-owned audience policy for one leaf, tool, or action — the scope returns to ungoverned/inherited. scope=leaf: leafId; scope=tool: scopeId (agent:<toolId> or agent:inst:<slug>); scope=action: actionId (also lifts the .agent declaration). Rows owned by another writer (e.g. .context sync) are refused. Orphan rows stay removable. Idempotent when nothing is there. Requires manage on the folder; tool/action scopes need accessMatrix enabled. Owner-only.

write

Remove tool instance

Remove one Visitor Action (tool instance) from a folder by slug. Refuses when no instance carries that slug. The remaining instances are written through the same validated whole-array core as the owner UI; expectedUpdatedAt is a CAS precondition (omit to CAS on the version this call reads). Requires agents enabled and manage on the folder. Owner-only.

write

Make a request to the person behind this agent

Submit a REQUEST — a viewing, a table, an application, an RSVP — to the person behind this agent, for them to accept or decline. CALL IT WITH NO ARGUMENTS FIRST. Each agent declares its own set of requests, and the schema below cannot list them, so the no-argument call returns exactly what this agent accepts and which fields each one needs. Then call again with an actionId from that list. WHAT THIS DOES NOT DO: it does not check availability, hold a slot, or confirm anything. Nothing here can see the owner's calendar or booking system. Tell the user their request has been SENT and is awaiting the owner — never that it is booked, reserved or confirmed. If the response comes back auto_approved, the owner set a standing rule in advance that this request matched; say that, and nothing stronger.

read

Run an agent workflow

Discover and run this account's published agent workflows. Call with NO arguments first: it returns the list of published workflows, each with an inputSchema describing exactly what the workflow expects. Then call again with { workflowId, inputs } to execute one. The run is synchronous and may take up to a few minutes; the response contains the workflow's named result slots, a runId, and the cost. Runs spend real money and are subject to a daily per-workflow cost ceiling.

write

Set audience rule

Set who can reach one leaf, platform tool, or action on a folder. scope=leaf: leafId + visibility (public/authenticated/owner_approved) + optional authPrompt; restating the inherited default converges to inherits unless exact=true. scope=tool: scopeId (agent:<toolId> or agent:inst:<slug>) + visibility (public/authenticated only). scope=action: actionId + visibility (public/authenticated only); also stamps the audience into .agent. expectedVisibility is a CAS precondition ('inherits' = no row). Tool/action scopes need accessMatrix enabled. Requires manage on the folder. Owner-only.

write

Set grounding limits

Set a folder's grounding caps — maxLeaves (leaves read per answer) and/or tokenBudget. Values above the deployment ceiling are clamped and the response reports what was actually stored plus the effective ladder (saved → .context → default). Values below the floor are refused. Requires write on the folder. Owner-only.

write

Update folder .agent

Patch a folder's .agent configuration — name, greeting, skills, refusals, actions, listing consent. Supply frontmatterPatch (shallow merge; null removes a key) and/or bodyPatch (full body replacement). expectedVersion is the etag from read_agent (0 = create a missing .agent); a mismatch returns 409 — call read_agent and retry. kycStatus is derived and refused. Runs the same validation and CAS guards as the Configure editor: AgentConfigSchema, the writable listing rungs, action-block lint, and the knowledge-tag/action-audience policy bridges. Requires context.write on the folder. Owner-only.

write

Update folder .context

Patch a folder .context document. Supply frontmatterPatch (shallow merge; undefined removes a key) and/or bodyPatch (full body replacement). expectedVersion is the etag from a prior read; mismatched versions return 409 so the caller can reload. Requires the context.write capability on nodeId. Metadata writes are not metered against the folder cost cap.

write

Update leaf body

Replace the body of an existing leaf. Skipped (no error) if the user has edited the leaf since the last agent write. Citations required.

write

Edit an agent workflow (saves a draft)

Propose an edit to one of this account's agent workflows. First read it with indy.get_workflow, edit the returned `graph`, then call this with { workflowId, graph, expectedUpdatedAt } (the updatedAt from get_workflow). The edit is validated, screened for prompt injection, and authorized against every agent folder it binds, then saved as a DRAFT. It does NOT go live: a human reviews and publishes it from the canvas. The response returns a diff of what changed and a canvas URL to review it.

write

Upload media to leaf

Upload an image or video to a leaf. The file is stored in R2 and a structured reference is written to the leaf body. Images are appended as markdown image syntax, videos as links. Supported types: image/png, image/jpeg, image/webp, image/gif, image/svg+xml, video/mp4, video/webm, video/quicktime, video/x-msvideo. Images max 5 MB, videos max 50 MB. Base64-encoded data required.

write

Upload media to leaf from URL

Fetch an image or video from a URL and upload it to a leaf. The server fetches the media, stores it in R2, and writes a structured reference to the leaf body. Preferred over upload_leaf_media when the caller has a URL instead of base64 data. Supported types: image/png, image/jpeg, image/webp, image/gif, image/svg+xml, video/mp4, video/webm, video/quicktime, video/x-msvideo. Max fetch size: 5 MB. 10-second timeout.

write

Upsert tool instance

Add or replace one Visitor Action (tool instance) on a folder — matched by slug. Instanceable kinds are book_slot, decision_card, remind_me and start_playbook; start_workflow binds are normally created by the workflow publish surface — an enabled bind is still gated here to a published workflow that names this folder. The instance is validated and written through the same core as the owner UI: every enabled kindId lands on the tools allowlist, and capability-off enabled kinds are stored but reported in warnings. expectedUpdatedAt is a CAS precondition; omit it to CAS on the version this call reads. Requires agents enabled and manage on the folder. Owner-only.

write

Verify your email

Verify the user's email address via a one-time code. Call TWICE: 1. First call: `{email}` — sends a 6-digit code to the email address. 2. Second call: `{email, code}` — verifies the code and returns an authProof token. Pass this token as `authProof` to indy_request_action to access actions that require email verification. Ask the user for their email first, then for the code they received. The code expires in 10 minutes. If the code is wrong, they can retry. If expired, call again with just the email to get a new code.

read

Create or adopt website draft

Create this folder’s website draft (or return the existing one — one site per folder, `adopted: true`). `template` defaults to `freeform`, which auto-selects every currently public leaf plus the agent’s own context as the intro. `mode` is `website_only` or `website_with_agent` (embeds the live agent chat — requires the agent to be published, e.g. via indy.agent_publish, before the site can go live). Follow with indy.website_sources → indy.website_update → indy.website_publish.

write

Get website state

Read this folder’s website: status, draft selection and presentation, the consent/CAS versions (`draftVersion`, `stateVersion`, `consentGeneration`) every write needs, and the live URL once published. Returns `state: null` when no site exists yet — create one with indy.website_create.

readread-only

Publish website

Publish the draft website. All three attestations must be literal true — you are asserting the owner reviewed the facts, holds the rights, and accepts the content is public. For a site created with embed (website_with_agent) also set attestations.embedAcknowledged and publish the agent first (indy.agent_publish). expectedStateVersion is the CAS from indy.website_get.

write

List publishable website sources

List every leaf under this agent’s folder with its live publish eligibility (`ok`/`code`, `inboxPending`, `contextIdentity`), plus the site template’s slot contract (`slots[].key/max/identity`). Use the eligible leaf ids in indy.website_update `selection`; on the freeform template, the `contextIdentity` row may go ONLY in the `identity` slot.

readread-only

Unpublish website (and agent)

Take the website down immediately: `target: "website"` un-publishes the site only (the draft and address are kept — republish later); `target: "site_and_agent"` also revokes the embedded agent publication the site is bound to. `expectedStateVersion` is the CAS from indy.website_get. This is a withdrawal — it works even while the folder is paused or over its cost cap.

write

Update website draft

Save the website draft: `selection` maps slot keys (from indy.website_sources) to ordered leaf ids — `identity` is the intro, `sections` renders one section per leaf in array order. `sectionOrder` reorders the existing sections (exact permutation). `presentation` carries siteTitle/sectionTitles/hiddenSections/siteLanguage for the freeform template. `expectedDraftVersion` is the CAS from indy.website_get. To publish, also pass `deriveDisclosures: true` + `noOtherRestrictedDisclosureConfirmed: true` — the disclosure attestation lives here, not on publish.

write

Technical agent card

Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.

Provider
AgentTrove — what this agent says about itself; other agents claiming the same provider are not thereby related
Protocol
a2a
Version
0.1.0
Auth schemes
oauth2
Extensions
https://modelcontextprotocol.io/specification/2025-06-18 — required of clients
This interface speaks MCP JSON-RPC (initialize, tools/list, tools/call), not A2A task methods.
A2A protocol extensions the card declares. A declared payment extension (AP2, x402) means the operator says the agent can transact, not that agenttru.st has seen it do so.
Card completeness
complete all eight fields required by a2a.proto v1.0
View all card details
Capabilities
extensions
Agent card
https://agenttrove.ai/.well-known/agent-card.json

Operate this agent and would rather not be listed? Request removal.