LanternDOCS

Marketplace & A2A

The Lantern Marketplace is a registry of public agents and MCP servers that you can discover, preview, and deploy to your own tenant. Combined with A2A Agent Cards, it enables cross-platform agent discovery and interop.

In plain termsThe marketplace is an app store for agents. Instead of building from scratch, browse what others have published, fork one into your own workspace (your private copy — the author never sees your data), and customize it. "A2A" is the emerging open standard that lets agents discover and call each other across platforms — an agent card is simply the public résumé an agent publishes so others know what it can do.

What is the Marketplace

The Marketplace is accessible from the dashboard sidebar under Marketplace. It contains two sections:

  • Agent Marketplace -- community-published agents that you can preview, fork, and customize. Each listing shows the agent's description, connectors, model requirements, and average cost per run.
  • MCP Marketplace -- a registry of Model Context Protocol servers you can add as connectors. Browse by category (search, data, code, productivity) and install with a single click.
Note: Marketplace content is tenant-isolated. When you fork an agent, a private copy is created in your tenant. The original author cannot see your data or runs.

A2A Agent Cards and visibility

Lantern implements the Agent-to-Agent (A2A) protocol for cross-platform agent discovery. Agents are private by default (agents.is_public = false). The card, the well-known directory, and A2A invoke only expose an agent to a non-owner when it is explicitly made public.

Visibility rules

  • An authenticated caller always sees and can invoke their own agents regardless of visibility.
  • A card or invoke for another tenant's agent returns 404 (not 403) when the agent is not public — to avoid leaking that the agent exists.
  • GET /.well-known/agent.json lists only is_public = true agents.

Agent Card endpoints

GET /v1/agents/{name}/card          — own agent or is_public; else 404
GET /.well-known/agent.json          — lists only public agents

Publishing your agent

To publish an agent to the Marketplace:

  1. Navigate to your agent's detail page in the dashboard.
  2. Click Publish to Marketplace in the agent settings.
  3. Fill in the listing metadata: category, tags, example inputs, and a README describing what the agent does.
  4. Choose a visibility level: Public (anyone can see and fork) or Unlisted (only accessible via direct link).
  5. Submit for review. Published agents appear in the Marketplace within minutes.
Warning: Publishing an agent makes its configuration, system prompt, and instructions visible to other users. Secrets and API keys are never included -- they are resolved at runtime from each tenant's own secret store.

Discovering and forking agents

From the Marketplace page, you can:

  • Browse agents by category (research, automation, customer support, coding, data analysis)
  • Search by name, description, or tags
  • Preview an agent's configuration, connectors, and sample outputs before forking
  • Fork an agent to create a private copy in your tenant that you can customize

Forked agents are fully independent. You can modify instructions, swap models, add connectors, and redeploy without affecting the original.

Cross-tenant invocation (commerce)

Buyers can invoke a published marketplace agent without forking it. The run executes on the seller's tenant (their LLM keys, their budgets); the buyer receives the output plus an HMAC-signed receipt verifiable via the same /proof endpoint as run receipts.

POST /v1/marketplace/{slug}/invoke
{ "input": { "topic": "..." } }

Response:
{
  "output": { "summary": "..." },
  "receipt": { "signature": "...", "payload": {...} }
}

GET /v1/marketplace/invocations?role=buyer   — buyer-side history
GET /v1/marketplace/invocations?role=seller  — seller-side history

Cross-platform interop

A2A Agent Cards enable interoperability beyond the Lantern ecosystem:

  • Inbound -- external platforms can discover your Lantern agent via its /.well-known/agent.json endpoint and invoke it using the standard A2A protocol.
  • Outbound -- Lantern agents can call external A2A agents using the ctx.subagent() API with a remote agent URL. The runtime fetches the remote card, validates compatibility, and routes the request.
  • Composition -- build multi-agent workflows that span platforms. A Lantern orchestrator agent can delegate tasks to agents running on other frameworks, and vice versa.
Tip: The /.well-known/agent.json endpoint is compatible with any A2A-aware platform. External orchestrators can discover and invoke your public Lantern agents without a Lantern account.