Shodan vs TempGuru Event Staffing

A side-by-side look at the Shodan and TempGuru Event Staffing MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Shodan logoShodanSecurity · Local subprocess (stdio)MCP server for Shodan API — device search, IP lookup, DNS, and CVE/CPE queries.68GreatAuth: not declaredTempGuru Event Staffing logoTempGuru Event StaffingSecurity · Remote HTTP/SSEW-2 event staffing data for agents: 300+ US/CA markets, roles, rates, lead times, compliance.56GoodAuth: not declared

Verdict: choose Shodan for security work as a local process; choose TempGuru Event Staffing for security over a hosted endpoint. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Shodan logoChoose Shodan when

  • You need dedicated capabilities in the Security domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: SHODAN_API_KEY.
  • You want tools like ip_lookup, shodan_search, cve_lookup.
Explore Shodan

TempGuru Event Staffing logoChoose TempGuru Event Staffing when

  • You need dedicated capabilities in the Security domain.
  • You prefer a remote HTTP/SSE transport.
  • You want tools like plan_staffing, save_staffing_plan, get_plan.
Explore TempGuru Event Staffing

Feature & specification comparison

Rows where the two servers differ are marked.

SpecShodan logoShodanTempGuru Event Staffing logoTempGuru Event Staffing
CategorySecuritySecurity
Quality signal68/100 · Great56/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Remote HTTP/SSE
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsSHODAN_API_KEYNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars1791
Directory activity 1 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools1112

Tools & capabilities

Shodan tools 11

  • ip_lookupRetrieve comprehensive information about an IP address, including geolocation, operating system, open ports, running services (product, version, CPE), known vulnerabilities (CVEs), SSL certificates, hostnames, and cloud provider details if available. Returns service banners and HTTP server information when present. Optional history returns historical banners; minify omits banners.
  • shodan_searchSearch Shodan's database of internet-connected devices. Returns detailed information about matching devices including services, vulnerabilities, and geographic distribution. Supports advanced search filters and returns facet statistics (default: by country). Costs 1 query credit when the query uses filters, plus 1 per page beyond the first. Use shodan_count (free) to get totals and facets without results.
  • cve_lookupQuery detailed vulnerability information from Shodan's CVEDB. Returns comprehensive CVE details including CVSS scores (v4/v3/v2), EPSS probability and ranking, KEV status, proposed mitigations, ransomware associations, and affected products (CPEs).
  • dns_lookupResolve domain names to IP addresses using Shodan's DNS service. Supports batch resolution of multiple hostnames in a single query. Returns IP addresses mapped to their corresponding hostnames.
  • reverse_dns_lookupPerform reverse DNS lookups to find hostnames associated with IP addresses. Supports batch lookups of multiple IP addresses in a single query. Returns all known hostnames for each IP address, with clear indication when no hostnames are found.
  • cpe_lookupSearch for Common Platform Enumeration (CPE) entries by product name in Shodan's CVEDB. Supports pagination and can return either full CPE details or just the total count. Useful for identifying specific versions and configurations of software and hardware.
  • cves_by_productSearch for vulnerabilities affecting specific products or CPEs. Supports filtering by KEV status, sorting by EPSS score, date ranges, and pagination. Can search by product name or CPE 2.3 identifier. Returns detailed vulnerability information including severity scores and impact assessments.
  • shodan_countGet the total number of Shodan results for a query, with optional facet breakdowns (e.g. by country, org, port). Free: does not consume query credits. Use search_filters to list valid filters and facets.
  • domain_infoGet subdomains and DNS records for a domain from Shodan. Costs 1 query credit per lookup.
  • api_infoShow the Shodan API plan, remaining query and scan credits, monitored IPs, and usage limits for the configured API key. Free: does not consume credits.
  • search_filtersList the search filters and facets Shodan supports. Use this to build valid shodan_search and shodan_count queries and facets. Free: does not consume credits.

TempGuru Event Staffing tools 12

  • plan_staffingCALL 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.
  • 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. 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>
  • get_planRestore a complete non-PII staffing plan created by plan_staffing or save_staffing_plan within the last 30 days. Use when a buyer starts a new conversation, changes agent platforms, or wants to continue a saved plan before requesting a quote. DO NOT guess or enumerate plan IDs; use only the 12-character plan_id the user, plan_staffing, or save_staffing_plan supplied. <examples>get_plan(plan_id='ABCDEFGH2345')</examples> <hints>A not-found result means the plan expired, storage was unavailable, or the ID is wrong; re-run plan_staffing. Review the restored plan with the user before request_quote.</hints>
  • get_citiesList 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>
  • get_rolesList 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>
  • check_availabilityReturn 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>
  • get_role_pricingGet the all-inclusive hourly rate range for a specific role in a specific city. Perfect for 'What does it cost to hire brand ambassadors in [city]?', 'How much are registration workers in [city]?', or 'What's the rate for ushers at a [city] stadium event?' questions. All rates include W-2 worker pay, workers comp, general liability, and payroll taxes. DO NOT use for availability or dates (use check_availability) and never present the range as a binding quote. For a multi-role budget, use plan_staffing. <examples>get_role_pricing(role='Brand Ambassadors', city='Boston') ; get_role_pricing(role='registration-staff', city='nashville-event-staffing')</examples> <hints>Role and city accept names or slugs. Brand Ambassadors floor at $40/hour in every market.</hints>
  • get_compliance_by_stateGet the event staffing compliance summary for a US state. Returns minimum wage, overtime rules, and state-specific quirks. Perfect for 'What are the W-2 vs 1099 rules for event workers in [state]?', 'What's the minimum wage for event staff in [state]?', or 'Are there compliance gotchas for hiring event workers in [state]?' questions. NOT legal advice, consult employment counsel for binding interpretation. DO NOT use for rates (use get_role_pricing). <examples>get_compliance_by_state(state='CA') ; get_compliance_by_state(state='Tennessee')</examples> <hints>Daily-overtime states (CA, AK, NV, CO) change shift budgeting, flag them in any plan.</hints>
  • get_policiesGet 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>
  • 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 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>
  • request_quoteUse 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.
  • get_quote_statusCheck 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>

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Shodan

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "shodan-2": {
      "command": "npx",
      "args": [
        "-y",
        "@burtthecoder/mcp-shodan"
      ],
      "env": {
        "SHODAN_API_KEY": "YOUR_SHODAN_API_KEY_HERE"
      }
    }
  }
}

TempGuru Event Staffing

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "tempguru-event-staffing-2": {
      "url": "https://mcp.tempguru.co/mcp"
    }
  }
}

Frequently asked questions

Shodan is categorized under Security and uses a local stdio subprocess. TempGuru Event Staffing belongs to Security and uses a remote HTTP/SSE transport. Pick Shodan for security work and TempGuru Event Staffing for security.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Shodan has no declared pricing — check the project's own site. TempGuru Event Staffing has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add shodan-2 and tempguru-event-staffing-2 as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Shodan has a quality signal of 68/100 (Great) with 1 views, 0 installs and 179 GitHub stars. TempGuru Event Staffing has 56/100 (Good) with 1 views, 0 installs and 1 GitHub stars.