# TempGuru Event Staffing (remote · mcp.tempguru.co)

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

- Trust score: 76/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.tempguru.co`: 76/100 (this document), [markdown](https://verifymcp.io/servers/co-tempguru-event-staffing/mcp.md), [page](https://verifymcp.io/servers/co-tempguru-event-staffing/mcp)
- npm · `tempguru-mcp`: 39/100, [markdown](https://verifymcp.io/servers/co-tempguru-event-staffing/tempguru-mcp.md), [page](https://verifymcp.io/servers/co-tempguru-event-staffing/tempguru-mcp)

## Channel facts

- Endpoint: `https://mcp.tempguru.co/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.6.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 77/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4133 tokens (~206/item across 20 items; 12 tools + 8 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 22/100
  - Stability check failed: schema churn in the 8 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 1 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### Claude

```bash
claude mcp add --transport http co-tempguru-event-staffing https://mcp.tempguru.co/mcp
```

### Codex

```toml
[mcp_servers.co-tempguru-event-staffing]
url = "https://mcp.tempguru.co/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "co-tempguru-event-staffing": {
      "type": "remote",
      "url": "https://mcp.tempguru.co/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add co-tempguru-event-staffing --url https://mcp.tempguru.co/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  co-tempguru-event-staffing:
    url: "https://mcp.tempguru.co/mcp"
```

### Other

```json
{
  "mcpServers": {
    "co-tempguru-event-staffing": {
      "type": "http",
      "url": "https://mcp.tempguru.co/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 19 to 22.

### 2026-08-01 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 12 to 15.

### 2026-07-31 (score 74, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 71, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 72, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “plan_staffing” rewrote its description, which is the text the model reads
- [security] Tool “get_plan” rewrote its description, which is the text the model reads
- [security] Tool “request_quote” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 4002 → 4431
- [functional] Server version: 1.5.1 → 1.6.0
- [functional] New tool “save_staffing_plan”
- [cosmetic] “get_plan” reworded the description of “plan_id”
- [cosmetic] “request_quote” reworded the description of “plan_id”

### 2026-07-28 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 70, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 70)

First indexed and scored.

## MCP tools (12)

### `plan_staffing` (~482 tokens)

Plan Staffing

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

Input parameters:

- `attendees` (integer): Expected attendee count.
- `city` (string, required): Event city, name or slug (e.g., 'Chicago').
- `description` (string): Optional free-text event description, echoed into the plan.
- `event_date` (string): Event date, ISO YYYY-MM-DD preferred.
- `event_type` (string): trade-show, conference, festival, concert, sporting-event, corporate, brand-activation, or other.
- `roles` (array): Roles and headcount. Omit to receive the role catalog and a suggested mix.

Output parameters:

- `available_roles`
- `compliance`
- `continuation` (object): Complete plans only. Prefilled website handoff; may be present without plan_id when storage fails open.
- `estimated_total_range` (object)
- `event` (object)
- `lead_time`
- `message` (string)
- `next_steps` (array)
- `overtime_adjusted_total_range`: Present (non-null) only when daily/weekly OT (or a double-time band) applies to the schedule.
- `plan_complete` (boolean): status: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.
- `plan_id` (string): Complete plans only. Non-PII plan reference retained for 30 days when Redis persistence succeeds.
- `plan_lines` (array)
- `requested_city` (string)
- `requested_roles` (array)
- `staffing_notes` (array)
- `status` (string): Discriminator. Branch on this before reading the rest.
- `suggestion` (object): Closest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
- `tip` (string)
- `unpriced_roles` (array): status:plan with plan_complete:false — the requested lines missing from every total.
- `unresolved_roles` (array)

### `save_staffing_plan` (~290 tokens)

Save Staffing Plan

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>

Input parameters:

- `attendees` (integer): Expected attendee count.
- `city` (string, required): Event city, name or slug (e.g. Chicago).
- `event_date` (string): Event date, ISO YYYY-MM-DD preferred.
- `event_type` (string): trade-show, conference, festival, concert, sporting-event, corporate, brand-activation, or other.
- `roles` (array, required): Confirmed roles, headcount, hours, and days to recompute and save.

Output parameters:

- `continuation` (object)
- `created_at` (string)
- `expires_at` (string): Conservative 30-day expiry for the saved snapshot.
- `message` (string)
- `next_actions` (array)
- `plan_id` (string): 12-character reference for the saved non-PII snapshot.
- `plan_status` (string): Planner branch that prevented persistence.
- `quote_readiness` (string): The buyer must open the handoff form and personally submit their contact details.
- `resource_uri` (string): Public no-store REST URI that restores the saved artifact.
- `retry_after_seconds` (integer)
- `schema_version` (string)
- `status` (string): Discriminator. Only status:saved means a resumable plan_id exists.

### `get_plan` (~173 tokens)

Get Saved Staffing Plan

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>

Input parameters:

- `plan_id` (string, required): 12-character lookalike-free plan reference returned by plan_staffing or save_staffing_plan.

Output parameters:

- `continuation` (object)
- `message` (string)
- `next_steps` (array)
- `plan_found` (boolean): Discriminator. false means the reference was absent or expired.
- `plan_id` (string)
- `snapshot` (object)

### `get_cities` (~330 tokens)

Get Cities

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

Input parameters:

- `city` (string): Optional single-city coverage check (nickname/borough aware). Returns covered yes/no + suggestion.
- `country` (string): Optional country filter: 'US' or 'CA'.
- `limit` (integer): Optional cap on the number of cities returned (full counts still in total/tier_breakdown).
- `state` (string): Optional 2-letter state code (e.g., 'CA') or full state name.
- `tier` (string): Optional filter to one tier only.

Output parameters:

- `cities` (array)
- `city`: The matched market (coverage check), or null if not covered.
- `coverage_check` (boolean): Present when a single-city coverage check was requested.
- `covered` (boolean)
- `message` (string)
- `note` (string): Present when the list was truncated by limit.
- `requested` (string)
- `returned` (integer): Number of cities in the cities array (after limit).
- `suggestion` (object): Closest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
- `tier_breakdown` (object)
- `total` (integer): Total cities matching the filter (before limit).

### `get_roles` (~118 tokens)

Get Roles

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>

Output parameters:

- `roles` (array)
- `total` (integer)

### `check_availability` (~289 tokens)

Check Availability

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

Input parameters:

- `city` (string, required): City name (e.g., 'Boston') or slug (e.g., 'boston-event-staffing').
- `count` (integer): Optional headcount for the event.
- `date` (string, required): Event date in ISO format (YYYY-MM-DD) or any date string parseable by Date().
- `role` (string): Optional role name or slug to include rate context.

Output parameters:

- `city` (string)
- `city_found` (boolean): false = city not in the published footprint (see message); true = guidance below.
- `city_tier` (string): Market tier: hub = 25 major metros, mid = 128 secondary markets, small = 192 tertiary markets.
- `count`: Echo of the requested headcount.
- `days_until_event` (integer)
- `error` (string): Present when the date could not be parsed.
- `event_date` (string): Normalized ISO date (YYYY-MM-DD).
- `in_past` (boolean): True when the requested date is already in the past — confirm the date before planning.
- `message` (string): Present when city_found is false.
- `notes` (array)
- `recommendation` (string): Lead-time guidance, NOT a reservation. Even rush is worth submitting.
- `requested` (string): Echo of the unmatched city input.
- `role`: Rate context when a role was provided; null otherwise.
- `role_found`: null = no role requested; false = the requested role didn't match the catalog (see notes).
- `role_suggestion` (object): Closest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
- `state` (string)
- `suggestion` (object): Closest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
- `typical_lead_time_hours` (integer)

### `get_role_pricing` (~250 tokens)

Get Role Pricing

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>

Input parameters:

- `city` (string, required): City name (e.g., 'Boston') or slug (e.g., 'boston-event-staffing').
- `role` (string, required): Role name (e.g., 'Brand Ambassadors') or slug (e.g., 'brand-ambassadors').

Output parameters:

- `all_inclusive` (string)
- `all_tiers_for_context` (object): Rate bands across all three market tiers for context.
- `available_roles` (array): The valid role catalog, returned when the role didn't match.
- `city` (string)
- `city_found` (boolean): Present (false) only when the city didn't match.
- `city_tier` (string): Market tier: hub = 25 major metros, mid = 128 secondary markets, small = 192 tertiary markets.
- `currency` (string)
- `error` (string)
- `fallback_pricing` (object): All-tier pricing shown when the city didn't match.
- `hourly_range_high` (number)
- `hourly_range_low` (number)
- `note` (string)
- `pricing_notes` (string)
- `requested` (string): Echo of the unmatched input.
- `role` (string)
- `role_found` (boolean): Present (false) only when the role didn't match.
- `role_note` (string): Caveat about the resolved role (e.g. 'security' maps to unarmed Crowd Control, not licensed security).
- `role_slug` (string)
- `state` (string)
- `suggestion` (object): Closest known city/role for a miss. Confirm with the user before using it; do not auto-apply.
- `tier_definition` (string)

### `get_compliance_by_state` (~194 tokens)

Get Compliance By State

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>

Input parameters:

- `state` (string, required): Two-letter state code (e.g., 'CA') or full state name (e.g., 'California').

Output parameters:

- `available_states` (array)
- `citation_note` (string): Operational guidance, not legal advice.
- `currency_note` (string): Reminder that wages change annually; verify before relying.
- `data_current_as_of` (string): Date the compliance dataset was last verified (YYYY-MM-DD).
- `data_version` (string): Version of the compliance dataset used for this result.
- `liability_coverage_included` (boolean)
- `min_wage_as_of`: Effective date of this state's stored minimum wage.
- `min_wage_source`: Authoritative source URL for the minimum wage figure.
- `min_wage_usd` (number): 2026 state minimum wage.
- `overtime_daily_double_hours`: Start of the double-time band (hours/day) where the state has one (CA: 12); null otherwise.
- `overtime_threshold_daily_hours`: Daily overtime threshold where the state has one (CA, AK, NV, CO); null otherwise.
- `overtime_threshold_weekly_hours` (integer)
- `requested` (string)
- `seventh_day_overtime` (boolean): True where a seventh-consecutive-day premium applies (CA).
- `state` (string)
- `state_abbr` (string)
- `state_found` (boolean): Present (false) only when the state didn't match.
- `unique_rules` (array)
- `w2_note` (string)
- `w2_required` (boolean)
- `workers_comp_included` (boolean)

### `get_policies` (~171 tokens)

Get Booking and Procurement Policies

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

Input parameters:

- `topic` (string): Optional policy topic or title. Omit to return all published topics.

Output parameters:

- `available_topics` (array)
- `data_version` (string)
- `disclaimer` (string)
- `message` (string)
- `policies` (array)
- `policy_found` (boolean): Discriminator. false means the requested topic is not published.
- `requested` (string)
- `scope` (string)
- `status` (string)
- `todo_for_megan` (array)
- `updated` (string)

### `get_rate_benchmark` (~268 tokens)

Get Rate Benchmark (Rate Index)

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>

Input parameters:

- `role` (string): Optional non-empty role name or slug to filter to one role.
- `tier` (string): Optional market tier; adds each role's measured span within that tier (tier_usd).

Output parameters:

- `available_roles` (array)
- `basis` (string)
- `citation` (string)
- `data_version` (string)
- `edition` (string)
- `floors` (string)
- `index` (string)
- `markets_measured` (object)
- `methodology` (string)
- `methodology_url` (string)
- `rates` (array)
- `reading_note` (string)
- `requested` (string)
- `requested_tier` (string)
- `role_found` (boolean)
- `updated` (string)

### `request_quote` (~358 tokens)

Request Quote

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

Input parameters:

- `plan_id` (string, required): Saved non-PII plan reference returned by plan_staffing or save_staffing_plan.
- `skill_id` (string): Optional canonical TempGuru skill that assembled the plan.
- `skill_version` (string): Optional version of the TempGuru staffing skill used.
- `source_platform` (string): Optional agent/platform attribution, e.g. claude-ai, openclaw, or hermes.

Output parameters:

- `buyer_submission_required` (boolean): Always true. The buyer, not the agent, must enter contact details and submit the form.
- `form_url` (string): Prefilled TempGuru-owned review form. Present only when handoff_ready is true.
- `handoff_ready` (boolean): true when the saved plan resolved and a prefilled buyer form URL was created.
- `message` (string): Human-readable outcome to relay to the buyer.
- `next_steps` (array): Safe next actions; no agent-side contact collection.
- `plan_found` (boolean): Whether the supplied non-PII plan_id resolved before expiry.
- `plan_id` (string)

### `get_quote_status` (~170 tokens)

Get Quote Request Status

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>

Input parameters:

- `reference` (string, required): TG reference returned after the buyer submits the TempGuru website form, e.g. TG-ABC234.

Output parameters:

- `channel` (string)
- `created_at` (string)
- `deal_name` (string)
- `follow_up` (string)
- `message` (string)
- `quote_found` (boolean): Discriminator. false means the status stub is absent or expired.
- `reference` (string)
- `status` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/co-tempguru-event-staffing/mcp#diagnostics

## Score history

- 2026-08-03: 76
- 2026-08-02: 75
- 2026-08-01: 75
- 2026-07-31: 74
- 2026-07-30: 71
- 2026-07-29: 72
- 2026-07-28: 71
- 2026-07-27: 70
- 2026-07-26: 70

## Links

- Remote endpoint: https://mcp.tempguru.co/mcp
- Repository: https://github.com/tempguru-co/tempguru-mcp
- Website: https://tempguru.co/ai
- Changelog RSS feed: https://verifymcp.io/servers/co-tempguru-event-staffing/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/co-tempguru-event-staffing/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/co-tempguru-event-staffing/mcp
