Loop
How it worksThe loopWhy LoopPricingDocs
use case event discovery agent

Give your event discovery agent live venue data.

Static venue databases miss closures, changed hours, and new spots. Loop gives AI agents a real-time local business layer: search by intent, verify before recommending, and report outcomes to keep the data fresh.

Read the docs →Travel planner use case
The problem with static venue data

Places databases go stale within weeks. Bars close, hours change, new spots open. An event discovery agent that trusts stale records will confidently recommend a venue that no longer exists. Loop’s verify() tool re-checks records on demand, and report() lets agents feed real-world outcomes back — so data quality improves with every recommendation.

agent flow
STEP 01
search() — find venues by intent
const results = await mcp.search({
  query: "rooftop bar with outdoor seating",
  limit: 5
});
// returns: name, tags, address, confidence, observed_at

One free-text call returns venues ranked by relevance. Tags like outdoor_seating, vegan, or vegetarian let agents match user intent precisely.

STEP 02
get_details() — fetch hours and contact
const detail = await mcp.get_details({
  result_id: results[0].result_id
});
// adds: opening_hours, phone, website, result_token

get_details() returns a result_token valid for 30 minutes. Your agent needs this token to call report() after the user acts on the recommendation.

STEP 03
verify() — live-check before recommending
const checked = await mcp.verify({
  result_id: results[0].result_id
});
// returns updated confidence + observed_at

verify() triggers a real-time re-check of the venue. Use it before surfacing options to avoid sending users to a bar that closed last week.

STEP 04
report() — close the feedback loop
await mcp.report({
  result_token: detail.result_token,
  outcome: "correct"   // or: wrong | booked | closed | other
});

After the user visits or books, report the outcome. Loop updates the venue's confidence score and freshness — your agent's recommendations improve with every interaction.

why verify before recommending
ScenarioWithout verify()With verify()
Bar closed last monthAgent recommends it anywayverify() returns updated confidence; agent skips it
Hours changed for summerAgent shows stale hoursverify() refreshes observed_at; agent shows current hours
New outdoor terrace openedMissed — not in old snapshotverify() picks up the update; outdoor_seating tag added
User reports wrong infoNo feedback path — data stays wrongreport("wrong") lowers confidence; future agents skip it
common questions

What search queries work well for event discovery?

Free-text queries work best when they describe the event context: 'wine bar for a date night', 'café with outdoor seating for a work call', 'Turkish restaurant for a group dinner', or 'late-night bar with live music'. Loop's search() ranks by semantic relevance, so natural language queries return better results than keyword lists.

How should an agent handle an out-of-coverage area?

Loop returns a structured error with a suggested_action field when the query falls outside the covered area. The agent should surface this to the user explicitly rather than returning empty results silently. Example: 'I can only find venues in Kreuzberg Berlin right now — would you like recommendations there?'

What is the result_token and why does it expire?

result_token is an HMAC returned by get_details() that authorises a report() call. It expires after 30 minutes to prevent replay attacks. If the user takes longer than 30 minutes to visit a venue, call get_details() again to get a fresh token before reporting the outcome.

Can I build a multi-agent event discovery pipeline with Loop?

Yes. A common pattern is a finder agent that calls search() and surfaces options, and a verifier agent that calls verify() before the recommendation is sent. Both share the same MCP server at https://stayinloop.dev/mcp. See the AutoGen guide for a RoundRobinGroupChat example with finder and verifier agents.

Start building your event discovery agent.

Add https://stayinloop.dev/mcp to your MCP client, or call the REST API directly. Free tier, no credit card.

View docs →Concierge agentFood delivery agentAutoGen multi-agent guide