peptalk-speakers-connector (v1.0.0)

Search and explore PepTalk speakers

https://edge-runtime.supabase.com/mcp

Installation Guide

Choose your preferred MCP client

Install in Claude Code

Run this command in your terminal:

claude mcp add --transport http "peptalk-speakers-connector" https://edge-runtime.supabase.com/mcp

Install in Cursor

Click the button below to add this MCP server to Cursor:

Open in Cursor

Or add manually: Settings → MCP → Add server

Install in VS Code

Click the button below to add this MCP server to VS Code:

Open in VS Code

Or add manually: Settings → MCP → Add server

Install in VS Code Insiders

Click the button below to add this MCP server to VS Code Insiders:

Open in VS Code Insiders

Or add manually: Settings → MCP → Add server

Connect with ChatGPT

  1. Enable Developer Mode: Settings → Connectors → Advanced → Developer mode
  2. Import this MCP server: Go to Connectors tab and add: https://edge-runtime.supabase.com/mcp
  3. Use in conversations: Choose the MCP server from the Plus menu

Primitives

Tools (3)

search-experts

Searches PepTalk's catalogue of keynote and event speakers for live events and conferences. Supports catalogue discovery by topic or speaker name; does not search for audio equipment, confirm availability, or book speakers. <tool_usage_rules>For name-based PepTalk catalogue lookups, use the speaker's name as the query to retrieve a matching ID for get-speaker-details. If multiple candidates match, ask the user to identify the intended speaker rather than guessing. Pass the previousSearchCount from the prior result so the tool can guide toward resolution. Each new search after the first is either a REFINEMENT (narrowing/expanding the same topic — e.g. prior "AI" → "AI and ethics", or prior "leadership" → "leadership for finance teams") or a PIVOT (the user has moved to a different topic — e.g. prior "AI" → "mental health"). When ambiguous, prefer pivot. ON A REFINEMENT: append the new keywords to the existing query, keep previousSearchCount unchanged. ON A PIVOT: build the query from the new topic only and reset previousSearchCount to 0. Do NOT carry forward keywords from the prior query — drop the old topic, location, format, audience, etc. unless the user explicitly restates them in the pivot message. After results, the next action is one of: (a) get-speaker-details for a specific speaker, (b) refine the search, (c) move toward create-brief — when moving to create-brief, follow its data-collection rules to gather any missing details before calling. Use the fee field from results when quoting prices; never estimate pricing from training data. Follow the user's requested next step. Offer further profile details or an enquiry only when relevant to the user's request; do not force an enquiry or repeat unsolicited closing questions.</tool_usage_rules> <clarification_policy>Before calling, classify the user's first message against this table. "topic" = any subject, theme, industry, audience, or speaker type (e.g. "leadership", "AI", "resilience", "women in tech"). "budget" = any monetary amount, even vague ("10k", "around £15,000", "20 grand", "small budget"). | topic? | budget? | action | | yes | yes | Call immediately. Do not ask anything. | | yes | no | Call immediately with topic only. AFTER results, ask once: "Any budget in mind to refine these?" | | no | yes | Do NOT call. Ask only for the topic — phrase the question naturally. Do not re-ask budget. | | no | no | Do NOT call. Ask for topic and budget in a single, naturally-phrased message — do not use a fixed template. | Never ask for a field the user already provided. Never ask budget twice. Never call with an empty topic.</clarification_policy> <schema_hints>budgetCurrency defaults to GBP. See each field's own description for extraction rules — do not duplicate them here.</schema_hints>

create-brief

Submits a speaker request to the PepTalk team. <tool_usage_rules>Always call search-experts first; the user must have seen results before this tool runs. Call exactly once per request (not once per speaker). Call only after the user has agreed to send a request AND all required fields in clarification_policy have been collected. Do not write any text before calling — the tool status ("Sending your request to PepTalk…") is displayed automatically by the client. Do not list back every value you collected. Do not ask the user to re-confirm. Collect any missing required details in chat using clarification_policy, then submit here after the user agrees. TRIGGER — when the user signals commitment to a speaker or to sending a request (terse forms count: "ok", "yes", "go ahead", "sounds good", "let's do it", "send it", picking a specific speaker by name), your IMMEDIATE next reply MUST begin clarification_policy's data-collection ask, phrased naturally in your own words. NEVER respond with bare acknowledgement ("Sounds good", "Great choice") and stop — that strands the conversation.</tool_usage_rules> <clarification_policy>Before calling, you MUST have collected ALL required fields below. Information already established earlier in the conversation counts as collected — do not re-ask for it. If a field is partially known but lacks detail (e.g. country named but no city), ask for the missing specificity rather than the whole field again. STRUCTURE of the ask: brief warm acknowledgement (one short sentence, your own words) → bulleted list of ONLY the fields still missing → if any of the listed fields accept "not sure yet" (budget, date, format, location), note that briefly. Do not copy a template; phrase the acknowledgement and any closing note naturally for the conversation. Send everything missing in a single message — do not ask one field at a time. Then follow up only for fields the user missed or answered invalidly. "Not sure yet" is a valid answer for budget, date, format, and location; include the phrase verbatim in the brief text. REQUIRED (always collect): 1. name — full name. 2. email — must be a valid email. 3. phoneNumber — must start with "+" and a country calling code (see schema_hints for the validation rule). 4. budget — "Not sure" → put "Budget: Not sure yet" in brief text. 5. event date or timeframe — if vague ("summer"), follow up once asking for a rough month. If still vague → "Date: Not sure yet" in brief text. 6. event format — in-person, virtual, or hybrid. "Not sure" → "Format: Not sure" in brief text. CONDITIONAL: 7. location — only when format is in-person or hybrid. Skip entirely for virtual. If only a country was mentioned, ask for the city. "Not sure" → "Location: Not sure" in brief text.</clarification_policy> <schema_hints>brief example — "AI keynote for Q3 2026, in-person London, ~£20k. Customer interested in: Margaret Mitchell, Sol Rashidi." When constructing the brief, mirror the search-experts pivot rule: build only from the user's most recent stated intent. Do NOT carry forward context from earlier abandoned searches (prior topic, location, event type, audience) unless the user has explicitly restated it in the current flow. If the customer gives a phone number without a leading "+" country code, do not call this tool yet — ask them for the country calling code (you may give a couple of examples like +44 for UK, +351 for Portugal). Phrase the ask naturally. Only proceed once you have a "+"-prefixed number or the customer explicitly declines. See each field's own description for type-specific rules.</schema_hints>

get-speaker-details

Returns the full profile (bio, topics, testimonials) for a specific speaker. <tool_usage_rules>Call immediately when: (a) the user asks to learn more (e.g. "tell me more", "show me their profile"); (b) a follow-up message contains a speakerId — user clicked a card. If you do NOT have the speaker's UUID from a recent search-experts result (e.g. it has scrolled out of context, or the user named a speaker you haven't searched for yet), do NOT tell the user you can't look them up — first call search-experts with the speaker's name to retrieve their id, then call this tool with that id. Always pass the searchCount value from the most recent search-experts result so the tool can guide toward resolution. Use the fee field from the result when quoting prices; never estimate from training data.</tool_usage_rules> <clarification_policy>Skip and ask first only when the message is ambiguous — user expressed interest but gave no signal of wanting profile details (e.g. "I like this one" after seeing a shortlist).</clarification_policy> <schema_hints>speakerId: must be the UUID from a search-experts result. Never derive a slug or guess an ID from a speaker name — if you don't have it, re-run search-experts by name to obtain the id first, then call this tool.</schema_hints>