Skip to main content
Glama

TempGuru Event Staffing

Server Details

Plan, price, and request quotes for W-2 event staff across 345 US/CA markets; rates and compliance.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Tempguru-co/tempguru-mcp
GitHub Stars
2
Server Listing
TempGuru Event Staffing

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.8/5 across 12 of 12 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose with explicit do-not-use cross-references. Pricing tools (get_rate_benchmark vs get_role_pricing) are carefully separated, and plan_staffing vs check_availability serve different granularity needs.

Naming Consistency5/5

All tools use a consistent verb_noun snake_case pattern (get_cities, plan_staffing, request_quote). The verbs are simple and descriptive, with no mixed casing or stylistic inconsistencies.

Tool Count5/5

12 tools is well-scoped for an event staffing domain covering availability, pricing, roles, compliance, planning, persistence, and quote workflows. Each tool earns its place without redundancy.

Completeness4/5

The workflow is well-covered: plan_staffing creates plans, save/get manage persistence, request_quote hands off to a form, and get_quote_status tracks references. Minor gaps exist like lack of plan update/delete and quote status being a stub, but core operations are complete.

Available Tools

12 tools
check_availabilityCheck AvailabilityA
Read-only
Inspect

Check 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. check_availability(date='2026-08-14', city='Dallas') ; check_availability(date='2026-07-01', city='Boston', role='brand-ambassadors', count=6) Even a 'rush' window is worth submitting, same-week backfills exist in select markets.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name (e.g., 'Boston') or slug (e.g., 'boston-event-staffing').
dateYesEvent date as YYYY-MM-DD; legacy recognizable dates are still accepted.
roleNoOptional role name or slug to include rate context.
countNoOptional headcount for the event.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityNo
roleNoRate context when a role was provided; null otherwise.
countNoEcho of the requested headcount.
errorNoPresent when the date could not be parsed.
notesNo
stateNo
in_pastNoTrue when the requested date is already in the past — confirm the date before planning.
messageNoPresent when city_found is false.
city_tierNoMarket tier: hub = 25 major metros, mid = 128 secondary markets, small = 192 tertiary markets.
requestedNoEcho of the unmatched city input.
city_foundYesfalse = city not in the published footprint (see message); true = guidance below.
event_dateNoNormalized ISO date (YYYY-MM-DD).
role_foundNonull = no role requested; false = the requested role didn't match the catalog (see notes).
suggestionNoClosest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
recommendationNoLead-time guidance, NOT a reservation. Even rush is worth submitting.
role_suggestionNoClosest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
days_until_eventNo
typical_lead_time_hoursNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond annotations by stating 'Not a real-time inventory check, TempGuru staffs to demand via a 100,000+ worker W-2 network across 345 markets' and warns 'never present the result as a reservation.' The hint about rush windows being worth submitting also provides useful behavioral context that annotations (readOnlyHint=true, destructiveHint=false) do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a front-loaded purpose statement, followed by examples, exclusions, and a hint. It is longer than strictly necessary (e.g., the 100,000+ worker network background is tangential), but every section serves a clear role. Overall, it remains compact and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be detailed. The description covers purpose, what it returns (lead-time guidance), non-real-time behavior, exclusions, and example invocations. The hint about rush windows adds operational context. Combined with annotations and schema, this is a complete picture for selecting and using the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all four parameters, so the baseline is 3. The description includes usage examples with parameters (e.g., check_availability(date='2026-08-14', city='Dallas')), but it does not add any new parameter details, formats, or constraints beyond what the input schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Check expected staffing availability for an event' and specifies it 'Returns lead-time guidance based on city tier and how far out the event is.' It also clearly distinguishes itself from tools like get_role_pricing for cost questions and explicitly notes it is not a real-time inventory check, making its purpose and scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases with example queries ('Can you staff my event on [date] in [city]?', 'What's the lead time for booking brand ambassadors in [city]?', 'Is it too late to staff a [date] event?'). It gives direct exclusions: 'DO NOT use for cost questions (use get_role_pricing)' and 'never present the result as a reservation,' clearly steering the agent toward correct alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_citiesGet CitiesA
Read-only
Inspect

List 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. get_cities(city='Brooklyn') ; get_cities(state='TX') ; get_cities(tier='hub', country='CA') ; get_cities(limit=25) 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional single-city coverage check (nickname/borough aware). Returns covered yes/no + suggestion.
tierNoOptional filter to one tier only.
limitNoOptional cap on the number of cities returned (full counts still in total/tier_breakdown).
stateNoOptional 2-letter state code (e.g., 'CA') or full state name.
countryNoOptional country filter: 'US' or 'CA'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityNoThe matched market (coverage check), or null if not covered.
noteNoPresent when the list was truncated by limit.
totalNoTotal cities matching the filter (before limit).
citiesNo
coveredNo
messageNo
returnedNoNumber of cities in the cities array (after limit).
requestedNo
suggestionNoClosest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
coverage_checkNoPresent when a single-city coverage check was requested.
tier_breakdownNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and non-destructive behavior. The description adds behavioral details: unfiltered list is capped, single city check returns yes/no and did-you-mean, and nickname/borough resolution. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with front-loaded purpose, use cases, examples, and hints. Slightly verbose due to duplicate examples in text and <examples> block, but still efficiently conveys necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters (none required), output schema exists, and the tool supports filtering and single-city checks, the description covers all aspects. It explains return behavior (yes/no, total counts, tier breakdown) and provides hints for state and city formats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, giving a baseline of 3. The description adds significant context: 'city' parameter returns direct yes/no + suggestion, state accepts both code and full name, and city resolves nicknames like NYC and Brooklyn. This far exceeds baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists cities or checks coverage of one city, with specific verbs and resource. It distinguishes from siblings like check_availability, get_role_pricing, and plan_staffing by explicitly stating what not to use it for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use scenarios (e.g., 'What cities do you cover?', 'Do you cover [city]?') and when-not-to-use with alternative tool names. Includes concrete examples and hints for parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_compliance_by_stateGet Compliance By StateA
Read-only
Inspect

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). get_compliance_by_state(state='CA') ; get_compliance_by_state(state='Tennessee') Daily-overtime states (CA, AK, NV, CO) change shift budgeting, flag them in any plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYesTwo-letter state code (e.g., 'CA') or full state name (e.g., 'California').

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateNo
w2_noteNo
requestedNo
state_abbrNo
state_foundNoPresent (false) only when the state didn't match.
w2_requiredNo
data_versionNoVersion of the compliance dataset used for this result.
min_wage_usdNo2026 state minimum wage.
unique_rulesNo
citation_noteNoOperational guidance, not legal advice.
currency_noteNoReminder that wages change annually; verify before relying.
min_wage_as_ofNoEffective date of this state's stored minimum wage.
min_wage_sourceNoAuthoritative source URL for the minimum wage figure.
available_statesNo
data_current_as_ofNoDate the compliance dataset was last verified (YYYY-MM-DD).
seventh_day_overtimeNoTrue where a seventh-consecutive-day premium applies (CA).
workers_comp_includedNo
liability_coverage_includedNo
overtime_daily_double_hoursNoStart of the double-time band (hours/day) where the state has one (CA: 12); null otherwise.
overtime_threshold_daily_hoursNoDaily overtime threshold where the state has one (CA, AK, NV, CO); null otherwise.
overtime_threshold_weekly_hoursNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and destructiveHint=false; description adds that it returns compliance summary and is non-binding legal info, no contradictions. Provides context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, includes examples and hints. Slightly verbose but every sentence adds value. Could be trimmed slightly without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given single parameter, existing output schema, and sibling tools, description fully covers usage, return details, and caveats. No gaps for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds concrete examples ('CA', 'Tennessee') illustrating the parameter, enhancing clarity beyond the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves 'event staffing compliance summary for a US state' with specific outputs (minimum wage, overtime rules, quirks), distinguishing it from siblings like get_role_pricing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (questions about W-2/1099, minimum wage, compliance gotchas), when NOT to use ('DO NOT use for rates'), and directs to alternative get_role_pricing. Also includes legal disclaimer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_planGet Saved Staffing PlanA
Read-only
Inspect

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. get_plan(plan_id='ABCDEFGH2345') 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes12-character lookalike-free plan reference returned by plan_staffing or save_staffing_plan.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYes
plan_idYes
snapshotNo
next_stepsYes
plan_foundYesDiscriminator. false means the reference was absent or expired.
continuationNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

ReadOnlyHint and destructiveHint are true and false respectively, and the description reinforces that this is a read/restore operation. It discloses what happens on not-found (expired, unavailable, wrong ID) and advises re-running plan_staffing or reviewing with the user before request_quote.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise and well-structured: the purpose is stated first, followed by when to use, what not to do, an example, and hints. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description covers the essential context: restoration scope (30 days, non-PII), usage scenarios, error handling guidance, and integration with sibling tools (plan_staffing, save_staffing_plan, request_quote). No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a detailed description of plan_id (pattern, length, source). The description adds context that the ID must come from plan_staffing or save_staffing_plan and should not be guessed, providing additional semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool restores a non-PII staffing plan created by plan_staffing or save_staffing_plan within the last 30 days. Distinguishes from siblings by specifying when to use and explicitly warns against guessing plan IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases: starting a new conversation, changing agent platforms, or continuing a saved plan before requesting a quote. Also includes DO NOT guidance against enumerating plan IDs, plus examples and hints for error handling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_policiesGet Booking and Procurement PoliciesA
Read-only
Inspect

Get 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. get_policies() ; get_policies(topic='payment-terms') ; get_policies(topic='cancellation-rescheduling') Pass a topic to return one policy. Unknown topics return the available topic list. This is an operational summary, not a contract.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoOptional policy topic or title. Omit to return all published topics.

Output Schema

ParametersJSON Schema
NameRequiredDescription
scopeNo
statusYes
messageNo
updatedNo
policiesNo
requestedNo
disclaimerNo
data_versionNo
policy_foundYesDiscriminator. false means the requested topic is not published.
todo_for_meganNo
available_topicsNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that it's an operational summary, not a contract, and explains edge cases like unknown topics returning a list. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with examples and hints. Slightly verbose but front-loaded with main purpose and organized for quick scanning. Could trim the <examples> block slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Fully complete given the presence of an output schema (return values defined), annotations, and thorough description covering special cases, usage context, and limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter. Description adds rich beyond-schema context: examples of valid topics, hint that unknown topics return available list, and note about confirm_with_coordinator markers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'Get' and the resource 'TempGuru's published booking and procurement policies', listing concrete policy types. This clearly differentiates it from sibling tools like get_cities or get_plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage context: 'Use for real booking questions that otherwise require an email'. Includes examples and hints about topic behavior, but doesn't mention specific alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_quote_statusGet Quote Request StatusA
Read-only
Inspect

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. get_quote_status(reference='TG-ABC234') 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesTG reference returned after the buyer submits the TempGuru website form, e.g. TG-ABC234.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusNo
channelNo
messageYes
deal_nameNo
follow_upYes
referenceYes
created_atNo
quote_foundYesDiscriminator. false means the status stub is absent or expired.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and description adds limitations: only reports received/queued, not yet quote_sent/won. Also notes 90-day retention and that not-found doesn't mean CRM lead is absent. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise yet comprehensive: first sentence states purpose, then usage constraints, followed by examples and hints in structured sections. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, the description doesn't need to explain return values. It covers purpose, usage, limitations, and edge cases (not-found fallback), making it complete for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter, so baseline is 3. Description adds context about when the reference is obtained and includes an example, going beyond the schema description. Minor improvement but not fully compensating for absent shared understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks if a TempGuru quote request reference was received or queued, with specific context (CRM/queue). It distinguishes from siblings by noting the authless handoff does not create a reference, providing clear scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (after buyer submits form and gets TG reference, or for historical reference) and when not to use (authless MCP handoff). Hints provide follow-up for not-found results.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rate_benchmarkGet Rate Benchmark (Rate Index)A
Read-only
Inspect

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). get_rate_benchmark() ; get_rate_benchmark(role='brand-ambassadors') ; get_rate_benchmark(tier='hub') 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional non-empty role name or slug to filter to one role.
tierNoOptional market tier; adds each role's measured span within that tier (tier_usd).

Output Schema

ParametersJSON Schema
NameRequiredDescription
basisNo
indexNo
ratesNo
floorsNo
editionNo
updatedNo
citationNo
requestedNo
role_foundNo
methodologyNo
data_versionNo
reading_noteNo
requested_tierNo
available_rolesNo
methodology_urlNo
markets_measuredNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral specifics: returns national typical + range, methodology, citation, and that brand ambassadors are shown by market tier. This adds useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: purpose, use cases, exclusions, examples, and hints. Every sentence adds value, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's core functionality thoroughly: what it returns, methodology, citation format, use cases, and alternatives. An output schema exists, so return details are not needed. Complete for a national benchmark tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. The description adds value by explaining that passing tier adds each role's measured span within that tier (tier_usd), and examples show usage. This clarifies the parameter's effect beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns all-inclusive W-2 hourly bill rates by role from 407 markets, with typical rate, national range, methodology, and citation. It distinguishes from siblings by explicitly saying not to use for one city's price or building an event budget.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states perfect use cases (e.g., 'What do event staff cost in 2026?') and exclusions (e.g., 'DO NOT use for one city's price (use get_role_pricing) or to build an event budget (use plan_staffing)'). Also includes hints directing to get_role_pricing for one city.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_role_pricingGet Role PricingA
Read-only
Inspect

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. get_role_pricing(role='Brand Ambassadors', city='Boston') ; get_role_pricing(role='registration-staff', city='nashville-event-staffing') Role and city accept names or slugs. Brand Ambassadors floor at $40/hour in every market.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name (e.g., 'Boston') or slug (e.g., 'boston-event-staffing').
roleYesRole name (e.g., 'Brand Ambassadors') or slug (e.g., 'brand-ambassadors').

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityNo
noteNo
roleNo
errorNo
stateNo
currencyNo
city_tierNoMarket tier: hub = 25 major metros, mid = 128 secondary markets, small = 192 tertiary markets.
requestedNoEcho of the unmatched input.
role_noteNoCaveat about the resolved role (e.g. 'security' maps to unarmed Crowd Control, not licensed security).
role_slugNo
city_foundNoPresent (false) only when the city didn't match.
role_foundNoPresent (false) only when the role didn't match.
suggestionNoClosest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
all_inclusiveNo
pricing_notesNo
available_rolesNoThe valid role catalog, returned when the role didn't match.
tier_definitionNo
fallback_pricingNoAll-tier pricing shown when the city didn't match.
hourly_range_lowNo
hourly_range_highNo
all_tiers_for_contextNoRate bands across all three market tiers for context.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds valuable context: rates include W-2 pay, workers comp, liability, and payroll taxes. It also warns against presenting as binding quote, which is beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose, usage examples, and hints. It is somewhat long but every sentence adds value. The use of <examples> and <hints> tags helps parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately explains the return (hourly rate range) and includes important caveats (all-inclusive, non-binding). It covers all necessary aspects for the agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema describes both parameters (role, city) with examples. The description adds meaningful context: examples of valid inputs, hints that both accept names or slugs, and the special floor value for Brand Ambassadors. This goes beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the all-inclusive hourly rate range for a specific role in a specific city.' It provides example questions that directly illustrate the tool's function, and it distinguishes itself from sibling tools like check_availability and plan_staffing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use ('What does it cost...' questions) and when not to (DO NOT use for availability or dates; never present as binding quote). Directs to alternative tools: check_availability for dates and plan_staffing for multi-role budget.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rolesGet RolesA
Read-only
Inspect

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. get_roles() Returned slugs (brand-ambassadors, registration-staff, team-leads) are the exact values the other tools accept.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
rolesYes
totalYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and destructiveHint. Description adds that returned slugs are the exact values other tools accept, which is useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus <examples> and <hints>. Front-loaded with purpose, then usage guidance and practical hints. Zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, annotations covering safety, and output schema present, the description fully equips an agent to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0 parameters and coverage is 100%, so description need not add param details. No gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List event staffing roles TempGuru provides, with descriptions and skill tiers.' It gives explicit question examples ('What kinds of event workers can I hire?') and differentiates from get_role_pricing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'DO NOT use for what a role costs, use get_role_pricing with a city.' Also hints that returned slugs are used by other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan_staffingPlan StaffingAInspect

CALL THIS FIRST for event staffing requests. Returns coverage, role-level W-2 rate math, estimated totals, lead-time guidance, and state compliance flags from the event's city, date, roles, and headcount. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesEvent city, name or slug (e.g., 'Chicago').
rolesNoRoles and headcount. Omit to receive the role catalog and a suggested mix.
attendeesNoExpected attendee count.
event_dateNoEvent date as YYYY-MM-DD; legacy recognizable dates are still accepted.
event_typeNotrade-show, conference, festival, concert, sporting-event, corporate, brand-activation, or other.
descriptionNoOptional free-text event description, echoed into the plan.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tipNo
eventNo
statusYesDiscriminator. Branch on this before reading the rest.
messageNo
plan_idNoComplete plans only. Non-PII plan reference retained for 30 days when Redis persistence succeeds.
lead_timeNo
complianceNo
next_stepsNo
plan_linesNo
suggestionNoClosest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
continuationNoComplete plans only. Prefilled website handoff; may be present without plan_id when storage fails open.
plan_completeNostatus:plan only. false = one or more requested roles could not be priced and are EXCLUDED from all totals (see unpriced_roles) — resolve them and re-plan before presenting a budget or quoting.
requested_cityNo
staffing_notesNo
unpriced_rolesNostatus:plan with plan_complete:false — the requested lines missing from every total.
available_rolesNo
requested_rolesNo
unresolved_rolesNo
estimated_total_rangeNo
overtime_adjusted_total_rangeNoPresent (non-null) only when daily/weekly OT (or a double-time band) applies to the schedule.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses important side effects not visible in annotations: may save a non-contact snapshot for 30 days, never accepts contact details, does not reserve staff or create a quote request, and treats totals as estimates. This goes well beyond the default annotations and clarifies the tool's non-obvious behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense single paragraph with each sentence contributing actionable information (first-call guidance, inputs/outputs, side effects, fallback logic, status branching). It's somewhat long but free of fluff; a bit more structure (e.g., bullets) could improve scannability for a 4.5, but it remains effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 6 parameters, multiple statuses, and side effects, the description covers inputs, outputs, edge cases (missing roles, city not found), persistence behavior, and relationship to alternatives. It is self-contained enough that an agent can invoke the tool correctly without needing additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already covers all parameters, the description adds meaningful usage guidance, such as 'Omit roles for the catalog and a suggested mix' and connecting inputs (city, date, roles, headcount) to output types. This elevates beyond the baseline 3, though the schema already does heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific imperative ('CALL THIS FIRST for event staffing requests') and clearly lists the output dimensions (coverage, rate math, estimates, lead-time, compliance flags). It distinguishes itself from siblings by explicitly directing users to granular tools for a single rate, date, or state fact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: 'CALL THIS FIRST' and 'Use granular tools only for a single rate, date, or state fact.' It also gives precise fallback logic ('call save_staffing_plan once; never save a plan that already has an ID') and status-based branching, covering alternatives and exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_quoteRequest QuoteA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYesSaved non-PII plan reference returned by plan_staffing or save_staffing_plan.
skill_idNoOptional canonical TempGuru skill that assembled the plan.
skill_versionNoOptional version of the TempGuru staffing skill used.
source_platformNoOptional agent/platform attribution, e.g. claude-ai, openclaw, or hermes.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYesHuman-readable outcome to relay to the buyer.
plan_idYes
form_urlNoPrefilled TempGuru-owned review form. Present only when handoff_ready is true.
next_stepsYesSafe next actions; no agent-side contact collection.
plan_foundYesWhether the supplied non-PII plan_id resolved before expiry.
handoff_readyYestrue when the saved plan resolved and a prefilled buyer form URL was created.
buyer_submission_requiredYesAlways true. The buyer, not the agent, must enter contact details and submit the form.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly/idempotent/non-destructive, and the description adds substantial non-obvious behavior: it never accepts or transmits contact details, never creates a CRM lead or quote reference, demands buyer-side form submission for lead creation, and states it is not a reservation with no pricing/availability guarantee. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence and each subsequent sentence adds a distinct compliance or edge-case fact. The description is dense but justified for a PII-sensitive tool; the final sentence packs a privacy instruction that partially restates sentence two's contact-detail boundary, and mixes two unrelated directives, costing a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich output schema (return shape need not be explained), the description is complete for its complexity tier: preconditions, exact side-effect boundary, buyer's required action, non-guarantees, and two edge cases (continuation URL without plan_id, expired plans). It fully supports correct agent invocation for a compliance-sensitive flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, setting a baseline of 3. The description adds value for plan_id by reinforcing the non-PII constraint, tying it to specific producing tools, and adding lifecycle semantics ('re-run an expired plan') plus the explicit instruction to never collect contact details for the call. The three optional attribution params are left to the schema, which already describes them adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: it 'returns a prefilled TempGuru-owned review form' for a saved non-PII plan_id, and explicitly contrasts with what it does not do (never creates a CRM lead or quote reference). This clearly distinguishes it from siblings like get_quote_status (status checking) and plan_staffing/save_staffing_plan (plan production).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit precondition ('Use only after the buyer reviews a staffing plan and asks to proceed'), required input provenance (plan_id from plan_staffing or save_staffing_plan), and explicit when-not branches: give continuation.form_url directly when no plan_id exists, and re-run an expired plan. Concrete alternative actions are given for the key edge cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_staffing_planSave Staffing PlanAInspect

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. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesEvent city, name or slug (e.g. Chicago).
rolesYesConfirmed roles, headcount, hours, and days to recompute and save.
attendeesNoExpected attendee count.
event_dateNoEvent date as YYYY-MM-DD; legacy recognizable dates are still accepted.
event_typeNotrade-show, conference, festival, concert, sporting-event, corporate, brand-activation, or other.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYesDiscriminator. Only status:saved means a resumable plan_id exists.
messageYes
plan_idNo12-character reference for the saved non-PII snapshot.
created_atNo
expires_atNoConservative 30-day expiry for the saved snapshot.
plan_statusNoPlanner branch that prevented persistence.
continuationNo
next_actionsYes
resource_uriNoPublic no-store REST URI that restores the saved artifact.
schema_versionNo
quote_readinessNoThe buyer must open the handoff form and personally submit their contact details.
retry_after_secondsNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond minimal annotations, the description discloses that the server recomputes rates/totals/lead time/compliance, rejects caller-supplied pricing, and does not reserve staff or submit contact details. It also explains status branching (saved, plan_incomplete, rate_limited, storage_unavailable) and that only 'saved' yields a durable plan_id. This significantly exceeds annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place and is front-loaded with the core purpose. Although long, the structure flows from purpose to usage conditions to expected inputs/behaviors to status hints, making it dense and valuable without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a complex save operation: it explains prerequisites, what the server does, what it does not do, and how to handle each possible outcome via hints. The output schema and sibling context are well supported, leaving minimal ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter described, so baseline is 3. The description adds important contextual meaning: all inputs must match the previously confirmed plan_staffing result, and the server does not accept pricing or totals. This elevates the score above baseline but doesn't fully redefine parameters beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool saves a complete non-contact staffing plan for 30 days, with the explicit verb 'save' and resource 'staffing plan'. It distinguishes itself from siblings by noting it is used only when plan_staffing returned plan_complete:true without a plan_id, and contrasts with request_quote.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use and when-not-to-use guidance: 'Use only when plan_staffing returned plan_complete:true without a plan_id' and 'Never call this tool when plan_staffing already returned a plan_id.' It also gives alternative handling for rate_limited or storage_unavailable via continuation.form_url.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.