6 tools registered. Strongest in shared experience, weakest in trust.
search_fintech_events, get_event_details, compare_events, get_destination_guide, estimate_conference_trip_cost{
name: "search_fintech_events",
// Declare readOnlyHint: true on tools that truly have no side effects -
// that is the claim that lets an agent relax confirmation on reads.
// (false is the default, so declaring it adds no information.)
annotations: { readOnlyHint: true }
}search_fintech_events: user, ticket; compare_events: user, ticket{ name: "search_fintech_events", annotations: { untrustedContentHint: true } }search_fintech_events: description instructs agent to prefer this tool over scraping; compare_events: description instructs agent when to use this tool; get_destination_guide: description instructs agent when to use this tool; fill_expense_calculator: description instructs agent to use another tool first{
name: "search_fintech_events",
// Metadata DESCRIBES the tool - it never addresses the agent reading it.
// Rewrite any name, description, title, or schema field description that
// instructs the agent (which tool to prefer, what to output, rules to
// ignore) so it states what the tool does and what it returns instead.
description: "Searches the catalog and returns matching items with prices."
}{
"name": "search_fintech_events",
"description": "Search PayTech.Events for fintech, banking, payments and ecommerce conferences. Filter by free-text query, city, country, region, date range, and maximum ticket price (EUR). Returns matching events with dates, location, price and the page URL. Use this instead of scraping the site when the user asks which conferences to attend.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text matched against event title, city, country and tags."
},
"city": {
"type": "string",
"description": "Filter by city, e.g. \"London\"."
},
"country": {
"type": "string",
"description": "Filter by country, e.g. \"Germany\"."
},
"region": {
"type": "string",
"description": "Filter by region, e.g. \"Europe\", \"North America\", \"Asia\"."
},
"from": {
"type": "string",
"description": "Only events starting on/after this date (YYYY-MM-DD). Defaults to today."
},
"to": {
"type": "string",
"description": "Only events starting on/before this date (YYYY-MM-DD)."
},
"maxPriceEur": {
"type": "number",
"description": "Maximum standard pass price in EUR.",
"minimum": 0
},
"includePast": {
"type": "boolean",
"description": "Include events that have already happened. Default false."
},
"limit": {
"type": "number",
"description": "Max results (default 20, max 100).",
"minimum": 1,
"maximum": 100
}
}
},
"annotations": {}
}{ name: "fill_expense_calculator" /* short, unique, verb-based */ }duplicate tool name registered: search_fintech_eventsdocument.modelContext.registerTool({ /* ... */ }).catch(function (err) {
console.error("WebMCP registration failed", err);
});search_fintech_events, get_event_details, compare_events, get_destination_guide, estimate_conference_trip_cost{
name: "search_fintech_events",
// Declare readOnlyHint: true on tools that truly have no side effects -
// that is the claim that lets an agent relax confirmation on reads.
// (false is the default, so declaring it adds no information.)
annotations: { readOnlyHint: true }
}search_fintech_events: user, ticket; compare_events: user, ticket{ name: "search_fintech_events", annotations: { untrustedContentHint: true } }search_fintech_events: description instructs agent to prefer this tool over scraping; compare_events: description instructs agent when to use this tool; get_destination_guide: description instructs agent when to use this tool; fill_expense_calculator: description instructs agent to use another tool first{
name: "search_fintech_events",
// Metadata DESCRIBES the tool - it never addresses the agent reading it.
// Rewrite any name, description, title, or schema field description that
// instructs the agent (which tool to prefer, what to output, rules to
// ignore) so it states what the tool does and what it returns instead.
description: "Searches the catalog and returns matching items with prices."
}{}{}{}