TempGuru Event Staffing
by tempguru.co · remote · local (npm) · no sign-in to list tools · v1.7.2 · published by co.tempguru
Plan W-2 event staffing from 345 catalog entries; a coordinator confirms each order.
12 tools: 3 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http event-staffing https://mcp.tempguru.co/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnrequest_quote
The server marks "request_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "request_quote" says "request": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
12 tools
Changes things 3Claude Code: ask
plan_staffingCALL THIS FIRST for event staffing requests.No findings
Why it is in this group
- The description's first verb is "call": a word for a change.
Description, as the server wrote it CALL THIS FIRST for event staffing requests. Returns a configured-market catalog match, role-level W-2 rate math, estimated totals, tier-based lead-time guidance, and state compliance flags from the event's city, date, roles, and headcount. It does not confirm order coverage or live inventory; a coordinator does that after buyer submission. Use granular tools only for a single rate, date, or state fact. A complete plan may save a non-contact snapshot for 30 days and return plan_id plus continuation. If it returns no plan_id and the buyer needs persistence, call save_staffing_plan once; never save a plan that already has an ID. This tool never accepts or submits contact details, reserves staff, or creates a quote request. Omit roles for the catalog and a suggested mix. Treat totals as planning estimates, not quotes. Branch on status: plan, needs_roles, roles_not_found, or city_not_found; confirm suggestions rather than auto-applying them.
Annotations the server declares
- title: Plan Staffing
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
request_quoteUse only after the buyer reviews a staffing plan and asks to proceed.1 finding
Why it is in this group
- The name "request_quote" says "request": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "request_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "request_quote" says "request": a word for a change.
Description, as the server wrote it Use only after the buyer reviews a staffing plan and asks to proceed. Requires the saved non-PII plan_id from plan_staffing or save_staffing_plan and returns a prefilled TempGuru-owned review form. This tool never accepts or transmits names, email, phone, company, or other contact details and never creates a CRM lead or quote reference. The buyer must open form_url, review the plan, enter their own details, and submit it; only that submission creates a lead. This is not a reservation and does not guarantee pricing or availability. If a complete plan has continuation.form_url but no plan_id, give that URL directly instead. Never collect contact details for an MCP call; re-run an expired plan.
Annotations the server declares
- title: Prepare Quote Form
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
save_staffing_planExplicitly save a complete non-contact staffing plan for 30 days so it can be shared, resumed, or linked to a later quote request.No findings
Why it is in this group
- The name "save_staffing_plan" says "save": a word for a change.
Description, as the server wrote it Explicitly 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>
Annotations the server declares
- title: Save Staffing Plan
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Only reads 9Claude Code: allow
check_availabilityReturn tier-based lead-time guidance for an event date and configured market.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Return tier-based lead-time guidance for an event date and configured market. Use for 'What's the typical lead time for brand ambassadors in [city]?' or 'Is this date inside the usual planning window?'. This is not a real-time inventory or order-coverage check: a TempGuru coordinator confirms coverage and final lead time for the specific order after buyer submission. 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>
Annotations the server declares
- title: Check Availability
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_citiesList configured market entries by tier, or match one city.No findings
Why it is in this group
- The name "get_cities" says "get": a word for reading.
Description, as the server wrote it List configured market entries by tier, or match one city. Catalog presence is not availability or order coverage; check_availability gives tier-based lead-time guidance only, and a coordinator confirms each order after buyer submission. Use for 'What markets are configured in [state]?', 'Is [city] in the catalog?', or 'Which Canadian markets are listed?'. For 'Do you cover [city]?' pass city='[name]', report the catalog match or suggestion, and preserve the coordinator-confirmation caveat. Use get_role_pricing for rates, check_availability for dates, or plan_staffing for a full plan. <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 and boroughs. Unfiltered results are capped; use filters or limit. Configured entries are planning data; the public coverage claim is 300+ U.S. and Canadian markets.</hints>
Annotations the server declares
- title: Get Cities
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_compliance_by_stateGet the event staffing compliance summary for a US state.No findings
Why it is in this group
- The name "get_compliance_by_state" says "get": a word for reading.
Description, as the server wrote it Get 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>
Annotations the server declares
- title: Get Compliance By State
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_planRestore a complete non-PII staffing plan created by plan_staffing or save_staffing_plan within the last 30 days.No findings
Why it is in this group
- The name "get_plan" says "get": a word for reading.
Description, as the server wrote it Restore 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>
Annotations the server declares
- title: Get Saved Staffing Plan
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_policiesGet TempGuru's published booking and procurement policies, plus any currently published public offer.No findings
Why it is in this group
- The name "get_policies" says "get": a word for reading.
Description, as the server wrote it Get TempGuru's published booking and procurement policies, plus any currently published public offer. 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='coi-additional-insured')</examples> <hints>Choose an advertised topic to return one policy. Narrow lexical aliases remain accepted, and unknown topics return the current available-topic list. This is an operational summary, not a contract.</hints>
Annotations the server declares
- title: Get Booking and Procurement Policies
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_quote_statusCheck whether a TempGuru quote request reference was received by the CRM or durably queued.No findings
Why it is in this group
- The name "get_quote_status" says "get": a word for reading.
Description, as the server wrote it Check 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>
Annotations the server declares
- title: Get Quote Request Status
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_rate_benchmarkThe 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 ambas…No findings
Why it is in this group
- The name "get_rate_benchmark" says "get": a word for reading.
Description, as the server wrote it The 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>
Annotations the server declares
- title: Get Rate Benchmark
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_role_pricingGet the all-inclusive hourly rate range for a specific role in a specific city.No findings
Why it is in this group
- The name "get_role_pricing" says "get": a word for reading.
Description, as the server wrote it Get 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>
Annotations the server declares
- title: Get Role Pricing
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_rolesList event staffing roles TempGuru provides, with descriptions and skill tiers.No findings
Why it is in this group
- The name "get_roles" says "get": a word for reading.
Description, as the server wrote it List 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>
Annotations the server declares
- title: Get Roles
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.7.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http event-staffing https://mcp.tempguru.co/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__event-staffing__get_plan",
"mcp__event-staffing__get_cities",
"mcp__event-staffing__get_roles",
"mcp__event-staffing__check_availability",
"mcp__event-staffing__get_role_pricing",
"mcp__event-staffing__get_compliance_by_state",
"mcp__event-staffing__get_policies",
"mcp__event-staffing__get_rate_benchmark",
"mcp__event-staffing__get_quote_status"
],
"ask": [
"mcp__event-staffing__plan_staffing",
"mcp__event-staffing__save_staffing_plan",
"mcp__event-staffing__request_quote"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as event-staffing. Review it before you use it.