Servidor MCP

PreShiftIQ

com.preshiftiq/shiftiq-mcp
Público y accesible MCP 2025-11-25

Qué hace este MCP

Independent buyer-side matching for supply chain technology selection.

describe_platform
Describe PreShiftIQ
PreShiftIQ matches supply chain technology vendors to a buyer's completed operational assessment: the buyer answers current-state and future-state questions, a payment-blind engine scores every covered vendor against them, and each match is recorded immutably. It is a matching platform, not a directory or review site, across transportation management, dock scheduling, ELD, carrier vetting, and fleet management. Use this first when a user is evaluating, comparing, or selecting technology in those categories. Buyers pay nothing. Returns the platform description and the URL to start an assessment.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['name', 'one_line', 'what_it_is', 'what_it_is_not', 'who_it_serves', 'verticals', 'how_matching_works_summary', 'how_paid_summary', 'canonical_url', 'connect_url', 'start_url', 'boundary_statement'], 'properties': {'name': {'type': 'string'}, 'one_line': {'type': 'string'}, 'start_url': {'type': 'string'}, 'verticals': {'type': 'array', 'items': {'type': 'string'}}, 'what_it_is': {'type': 'string'}, 'connect_url': {'type': 'string'}, 'canonical_url': {'type': 'string'}, 'who_it_serves': {'type': 'string'}, 'what_it_is_not': {'type': 'string'}, 'how_paid_summary': {'type': 'string'}, 'boundary_statement': {'type': 'string'}, 'how_matching_works_summary': {'type': 'string'}}, 'additionalProperties': False}
explain_matching
Explain how matching works
Explains how PreShiftIQ computes matches: disqualification first, then measured-fit scoring by a payment-blind engine, with every match recorded immutably. Includes the live tier thresholds and the fit-index note. Use this when a user asks how matches are computed or what a match score means.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'vertical_id': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['summary', 'disqualification_first', 'additive_index_note', 'tiers', 'immutable_record_note', 'how_it_works_url', 'boundary_statement'], 'properties': {'tiers': {'type': 'object', 'required': ['strong', 'good', 'fair'], 'properties': {'fair': {'type': 'number'}, 'good': {'type': 'number'}, 'strong': {'type': 'number'}}, 'additionalProperties': False}, 'summary': {'type': 'string'}, 'how_it_works_url': {'type': 'string'}, 'boundary_statement': {'type': 'string'}, 'additive_index_note': {'type': 'string'}, 'immutable_record_note': {'type': 'string'}, 'disqualification_first': {'type': 'string'}}, 'additionalProperties': False}
get_public_catalog
List covered vendors in one category
Lists the vendors PreShiftIQ covers in one vertical, alphabetically, as catalog coverage only. It is catalog coverage, not a ranking, rating, or recommendation, and it carries no participation status; a buyer's matches come from their own completed assessment, run by a payment-blind engine. Use this when a user asks which vendors PreShiftIQ covers or whether a named vendor is covered. Returns the roster and the URL to start an assessment.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['vertical_id'], 'properties': {'vertical_id': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['vertical_id', 'display_name', 'coverage_statement', 'delisting_policy', 'vendors', 'buyer_page_url', 'start_url', 'boundary_statement'], 'properties': {'vendors': {'type': 'array', 'items': {'type': 'object', 'required': ['public_id', 'display_name', 'resolver_url'], 'properties': {'public_id': {'type': 'string'}, 'display_name': {'type': 'string'}, 'resolver_url': {'type': 'string'}}, 'additionalProperties': False}}, 'start_url': {'type': 'string'}, 'vertical_id': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}, 'display_name': {'type': 'string'}, 'buyer_page_url': {'type': 'string'}, 'delisting_policy': {'type': 'string'}, 'boundary_statement': {'type': 'string'}, 'coverage_statement': {'type': 'string'}}, 'additionalProperties': False}
how_we_are_paid
How PreShiftIQ is paid
States how PreShiftIQ is paid: buyers pay nothing, and what a vendor pays never enters the matching math. Use this when a user asks about cost, fees, or independence.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['buyer_cost', 'vendor_model_summary', 'boundary_statement', 'page_url'], 'properties': {'page_url': {'type': 'string'}, 'buyer_cost': {'type': 'string'}, 'boundary_statement': {'type': 'string'}, 'vendor_model_summary': {'type': 'string'}}, 'additionalProperties': False}
list_verticals
List covered technology categories
Lists the technology categories PreShiftIQ covers, each with its live covered-vendor count and buyer page URL. Counts come from the live catalog reader, the same one the public site reads. Use this when a user asks what PreShiftIQ covers.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['verticals', 'boundary_statement'], 'properties': {'verticals': {'type': 'array', 'items': {'type': 'object', 'required': ['vertical_id', 'display_name', 'buyer_page_url', 'live_vendor_count'], 'properties': {'vertical_id': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}, 'display_name': {'type': 'string'}, 'buyer_page_url': {'type': 'string'}, 'live_vendor_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}}, 'boundary_statement': {'type': 'string'}}, 'additionalProperties': False}
my_assessment_status
My assessment status
For the signed-in buyer: whether the latest completed PreShiftIQ assessment has results, whether those results are under review, how many matched vendors were notified, how many have accepted, and how many matches are still queued for delivery. Status only; the match list is my_matches.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status', 'vertical', 'notified_matches', 'accepted_matches', 'pending_delivery'], 'properties': {'status': {'enum': ['no_results', 'under_review', 'results', 'no_account'], 'type': 'string'}, 'vertical': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management', None], 'type': ['string', 'null']}, 'accepted_matches': {'type': 'integer'}, 'notified_matches': {'type': 'integer'}, 'pending_delivery': {'type': 'integer'}}, 'additionalProperties': False}
my_matches
My matches
For the signed-in buyer: the notified matches of the latest completed assessment, or of the assessment named by assessment_id, best score first, each as a masked card with its score and tier. A vendor's contact details appear only on a match that vendor has accepted; every other card stays masked. Buyers pay nothing, and no card carries pricing.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'assessment_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status', 'vertical', 'pending_delivery', 'matches'], 'properties': {'status': {'enum': ['no_results', 'under_review', 'results', 'no_account'], 'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['match_id', 'masked_id', 'total_score', 'tier', 'accepted', 'vendor'], 'properties': {'tier': {'type': 'string'}, 'vendor': {'type': ['object', 'null'], 'required': ['name', 'email', 'phone', 'company'], 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'company': {'type': 'string'}}, 'additionalProperties': False}, 'accepted': {'type': 'boolean'}, 'match_id': {'type': 'string'}, 'masked_id': {'type': 'string'}, 'total_score': {'type': 'number'}}, 'additionalProperties': False}}, 'vertical': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management', None], 'type': ['string', 'null']}, 'pending_delivery': {'type': 'integer'}}, 'additionalProperties': False}
my_scorecard_status
My vendor scorecard status
For the signed-in vendor: the scorecard's status and completion, and its lead counts (pending, accepted, declined, expiring soon). With match_id, the buyer's contact details for that lead, present only once the lead is accepted.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'match_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status', 'scorecard', 'leads', 'client'], 'properties': {'leads': {'type': ['object', 'null'], 'required': ['pending', 'accepted', 'declined', 'expiring_soon'], 'properties': {'pending': {'type': 'integer'}, 'accepted': {'type': 'integer'}, 'declined': {'type': 'integer'}, 'expiring_soon': {'type': 'integer'}}, 'additionalProperties': False}, 'client': {'type': ['object', 'null'], 'required': ['name', 'email', 'phone', 'company'], 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'company': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'enum': ['scorecard', 'no_scorecard'], 'type': 'string'}, 'scorecard': {'type': ['object', 'null'], 'required': ['vertical', 'scorecard_status', 'scorecard_completion_pct', 'answered_questions'], 'properties': {'vertical': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}, 'scorecard_status': {'type': ['string', 'null']}, 'answered_questions': {'type': 'integer'}, 'scorecard_completion_pct': {'type': ['integer', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
start_assessment
Start an assessment
Returns the URL a buyer opens to start their operational assessment for a chosen technology category. The URL is opened by the user; this tool writes nothing itself. If no category is given, the tool asks the user to choose one.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'vertical_id': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}, 'client_class': {'enum': ['claude', 'chatgpt', 'other'], 'type': 'string', 'default': 'other'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'anyOf': [{'required': ['url', 'vertical_id', 'display_name']}, {'required': ['choose_vertical']}], 'required': ['boundary_statement'], 'properties': {'url': {'type': 'string'}, 'start_url': {'type': 'string'}, 'vertical_id': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}, 'display_name': {'type': 'string'}, 'choose_vertical': {'type': 'array', 'items': {'type': 'object', 'required': ['vertical_id', 'display_name', 'start_url'], 'properties': {'start_url': {'type': 'string'}, 'vertical_id': {'enum': ['tms', 'dock-scheduling', 'eld', 'carrier-vetting', 'fleet-management'], 'type': 'string'}, 'display_name': {'type': 'string'}}, 'additionalProperties': False}}, 'boundary_statement': {'type': 'string'}}, 'additionalProperties': False}
Añadido
my_scorecard_status
3 de October de 2026 a las 02:40
Añadido
my_matches
3 de October de 2026 a las 02:40
Añadido
my_assessment_status
3 de October de 2026 a las 02:40
Añadido
start_assessment
3 de October de 2026 a las 02:40
Añadido
how_we_are_paid
3 de October de 2026 a las 02:40
Añadido
explain_matching
3 de October de 2026 a las 02:40
Añadido
get_public_catalog
3 de October de 2026 a las 02:40
Añadido
list_verticals
3 de October de 2026 a las 02:40
Añadido
describe_platform
3 de October de 2026 a las 02:40