check_availability
ClaudeCheck expected staffing availability for an event. Returns lead-time guidance based on city tier and how far out the event is. Perfect for 'Can you staff my event on [date] in [city]?', 'What's the lead time for booking brand ambassadors in [city]?', or 'Is it too late to staff a [date] event?' questions. Not a real-time inventory check, TempGuru staffs to demand via a 100,000+ worker W-2 network across 345 markets. DO NOT use for cost questions (use get_role_pricing) and never present the result as a reservation. <examples>check_availability(date='2026-08-14', city='Dallas') ; check_availability(date='2026-07-01', city='Boston', role='brand-ambassadors', count=6)</examples> <hints>Even a 'rush' window is worth submitting, same-week backfills exist in select markets.</hints>
get_cities
ClaudeList the cities where TempGuru staffs events (tier hub/mid/small), or check coverage of ONE city. Perfect for 'What cities do you cover in [state]?', 'Do you cover [city]?', or 'Which Canadian markets do you serve?'. For 'Do you cover [city]?' pass city='[name]' to get a direct yes/no + a did-you-mean, instead of scanning the whole list. DO NOT use for rates (use get_role_pricing) or dates (use check_availability). For a full event plan, use plan_staffing instead. <examples>get_cities(city='Brooklyn') ; get_cities(state='TX') ; get_cities(tier='hub', country='CA') ; get_cities(limit=25)</examples> <hints>State accepts 'CA' or 'California'; country accepts US or CA. city='' resolves nicknames/boroughs (NYC, Vegas, Brooklyn). An unfiltered list is capped, use filters or limit. 345 markets total.</hints>
get_compliance_by_state
ClaudeGet the event staffing compliance summary for a US state. Returns minimum wage, overtime rules, and state-specific quirks. Perfect for 'What are the W-2 vs 1099 rules for event workers in [state]?', 'What's the minimum wage for event staff in [state]?', or 'Are there compliance gotchas for hiring event workers in [state]?' questions. NOT legal advice, consult employment counsel for binding interpretation. DO NOT use for rates (use get_role_pricing). <examples>get_compliance_by_state(state='CA') ; get_compliance_by_state(state='Tennessee')</examples> <hints>Daily-overtime states (CA, AK, NV, CO) change shift budgeting, flag them in any plan.</hints>
get_plan
ClaudeRestore a complete non-PII staffing plan created by plan_staffing or save_staffing_plan within the last 30 days. Use when a buyer starts a new conversation, changes agent platforms, or wants to continue a saved plan before requesting a quote. DO NOT guess or enumerate plan IDs; use only the 12-character plan_id the user, plan_staffing, or save_staffing_plan supplied. <examples>get_plan(plan_id='ABCDEFGH2345')</examples> <hints>A not-found result means the plan expired, storage was unavailable, or the ID is wrong; re-run plan_staffing. Review the restored plan with the user before request_quote.</hints>
get_policies
ClaudeGet TempGuru's published booking and procurement policies: minimum hours, cancellation/rescheduling, no-show backfill, COIs/additional insured, payment/invoicing, background checks, order confirmation, and quote response. Use for real booking questions that otherwise require an email. Values not supported by canonical copy are explicitly marked confirm_with_coordinator with TODO-for-Megan; never infer a missing number. <examples>get_policies() ; get_policies(topic='payment-terms') ; get_policies(topic='cancellation-rescheduling')</examples> <hints>Pass a topic to return one policy. Unknown topics return the available topic list. This is an operational summary, not a contract.</hints>
get_quote_status
ClaudeCheck whether a TempGuru quote request reference was received by the CRM or durably queued. Use only after the buyer personally submitted a TempGuru website form and received a TG reference, or for a historical reference. The authless MCP request_quote handoff does not create a reference. This v1 status stub reports received/queued only; it does not yet expose quote_sent or won. <examples>get_quote_status(reference='TG-ABC234')</examples> <hints>Status records are retained for 90 days. A not-found result does not prove the CRM lead is absent; follow up with the reference at megan@tempguru.co.</hints>
get_rate_benchmark
ClaudeThe TempGuru Event Staffing Rate Index: all-inclusive W-2 hourly bill rates by role from 407 measured US/Canada markets, as a typical rate plus the full national range (brand ambassadors shown by market tier), with methodology and a ready-to-use citation line. Perfect for 'What do event staff cost in 2026?', 'Industry benchmark for brand ambassador rates?', or any article, report, or comparison that needs citable staffing-rate data. DO NOT use for one city's price (use get_role_pricing) or to build an event budget (use plan_staffing). <examples>get_rate_benchmark() ; get_rate_benchmark(role='brand-ambassadors') ; get_rate_benchmark(tier='hub')</examples> <hints>Returns a national typical + range per role; brand ambassadors by tier. Pass tier to add each role's measured span within that tier (tier_usd). For one city's exact rate use get_role_pricing. Cite as: TempGuru Event Staffing Rate Index 2026, tempguru.co.</hints>
get_role_pricing
ClaudeGet the all-inclusive hourly rate range for a specific role in a specific city. Perfect for 'What does it cost to hire brand ambassadors in [city]?', 'How much are registration workers in [city]?', or 'What's the rate for ushers at a [city] stadium event?' questions. All rates include W-2 worker pay, workers comp, general liability, and payroll taxes. DO NOT use for availability or dates (use check_availability) and never present the range as a binding quote. For a multi-role budget, use plan_staffing. <examples>get_role_pricing(role='Brand Ambassadors', city='Boston') ; get_role_pricing(role='registration-staff', city='nashville-event-staffing')</examples> <hints>Role and city accept names or slugs. Brand Ambassadors floor at $40/hour in every market.</hints>
get_roles
ClaudeList event staffing roles TempGuru provides, with descriptions and skill tiers. Perfect for 'What kinds of event workers can I hire?', 'What roles do you staff for trade shows / festivals / corporate events?', or 'Do you have brand ambassadors?' questions. DO NOT use for what a role costs, use get_role_pricing with a city. <examples>get_roles()</examples> <hints>Returned slugs (brand-ambassadors, registration-staff, team-leads) are the exact values the other tools accept.</hints>
plan_staffing
ClaudeCALL THIS FIRST for any event staffing request. Takes the event shape (city, date, roles + headcount) and returns a complete staffing plan: coverage, per-role rate math with an estimated total range, lead-time guidance, and the state compliance flags that change the plan. Perfect for 'Staff my trade show in [city]', 'What would 6 registration staff for 2 days cost?', or 'Build me a staffing plan' requests. DO NOT use for a single fact, use get_role_pricing for one rate, check_availability for one date, get_compliance_by_state for one state. A complete plan may save a non-contact snapshot for 30 days and return plan_id/continuation. If no plan_id is returned and persistence is needed, use save_staffing_plan; never call save_staffing_plan when this tool already returned a plan_id. This tool never submits contact details, reserves staff, or creates a quote request. <examples>plan_staffing(city='Chicago', event_date='2026-08-14', event_type='trade-show', roles=[{role:'registration-staff', headcount:6, hours_per_shift:8, days:2}, {role:'team-leads', headcount:1}]) ; plan_staffing(city='Austin', attendees=300)</examples> <hints>Roles accept names or slugs (brand-ambassadors, registration-staff, team-leads). Omit roles to get the catalog plus a suggested mix. Totals are planning estimates, never binding quotes. Branch on the status field: plan | needs_roles | roles_not_found | city_not_found (the last two carry a did-you-mean suggestion to confirm with the user, not auto-apply).</hints>
request_quote
ClaudeCreate a safe buyer handoff for a TempGuru staffing quote. Use after the buyer has reviewed the plan and asks to proceed. Requires the saved non-PII plan_id returned by plan_staffing or save_staffing_plan and returns a prefilled TempGuru-owned review form. This tool does NOT accept or transmit a name, email, phone, company, or other contact details; it does NOT create a CRM lead or quote reference. The buyer must open the returned form_url, review the plan, enter their own contact details, and submit it themselves. Only that buyer submission creates the lead. Not a reservation; does not guarantee pricing or availability; no payment until the buyer approves a human-issued quote. <examples>request_quote(plan_id='ABCDEFGH2345', source_platform='claude-ai', skill_id='event-staffing-ordering', skill_version='1.7.0')</examples> <hints>If plan_staffing returned a complete continuation.form_url but storage did not return a plan_id, give that URL to the buyer directly instead of calling this tool. Never ask for contact details for an MCP call. If the plan expired, re-run plan_staffing. For urgent help, use megan@tempguru.co or (904) 206-8953.</hints>
save_staffing_plan
ClaudeExplicitly save a complete non-contact staffing plan for 30 days so it can be shared, resumed, or linked to a later quote request. Use only when plan_staffing returned plan_complete:true without a plan_id and the user needs persistence. Never call this tool when plan_staffing already returned a plan_id. Provide the same confirmed city, date, event type, attendees, roles, headcount, hours, and days; the server recomputes rates, totals, lead time, and compliance before saving and does not accept caller-supplied pricing or totals. This does not reserve staff, submit contact details, or request a quote. <hints>Branch on status: saved is the only outcome with a durable plan_id; plan_incomplete requires revising the inputs; for rate_limited or storage_unavailable, give the buyer continuation.form_url directly because request_quote requires a saved plan_id.</hints>