PreShiftIQ

Independent buyer-side matching for supply chain technology selection.

我该使用它吗

质量与安全性

B
描述质量
97%
模式完整度
53%
命名质量
87%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'how_we_are_paid' description lacks action verb在 how_we_are_paid 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,815token 数(工具定义)
~2.4 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.20%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "shiftiq-mcp": {
      "url": "https://mcp.preshiftiq.com/mcp"
    }
  }
}

远程端点

https://mcp.preshiftiq.com/mcpstreamable-http

它能做什么

工具清单

工具(9)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢describe_platform

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.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "one_line": {
      "type": "string"
    },
    "what_it_is": {
      "type": "string"
    },
    "what_it_is_not": {
      "type": "string"
    },
    "who_it_serves": {
      "type": "string"
    },
    "verticals": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "how_matching_works_summary": {
      "type": "string"
    },
    "how_paid_summary": {
      "type": "string"
    },
    "canonical_url": {
      "type": "string"
    },
    "connect_url": {
      "type": "string"
    },
    "start_url": {
      "type": "string"
    },
    "boundary_statement": {
      "type": "string"
    }
  },
  "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"
  ],
  "additionalProperties": false
}
🟢list_verticals

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.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "verticals": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "vertical_id": {
            "type": "string",
            "enum": [
              "tms",
              "dock-scheduling",
              "eld",
              "carrier-vetting",
              "fleet-management"
            ]
          },
          "display_name": {
            "type": "string"
          },
          "buyer_page_url": {
            "type": "string"
          },
          "live_vendor_count": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "vertical_id",
          "display_name",
          "buyer_page_url",
          "live_vendor_count"
        ],
        "additionalProperties": false
      }
    },
    "boundary_statement": {
      "type": "string"
    }
  },
  "required": [
    "verticals",
    "boundary_statement"
  ],
  "additionalProperties": false
}
🟢get_public_catalog(vertical_id)

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.

输入模式

{
  "type": "object",
  "properties": {
    "vertical_id": {
      "type": "string",
      "enum": [
        "tms",
        "dock-scheduling",
        "eld",
        "carrier-vetting",
        "fleet-management"
      ]
    }
  },
  "required": [
    "vertical_id"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "vertical_id": {
      "type": "string",
      "enum": [
        "tms",
        "dock-scheduling",
        "eld",
        "carrier-vetting",
        "fleet-management"
      ]
    },
    "display_name": {
      "type": "string"
    },
    "coverage_statement": {
      "type": "string"
    },
    "delisting_policy": {
      "type": "string"
    },
    "vendors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "public_id": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "resolver_url": {
            "type": "string"
          }
        },
        "required": [
          "public_id",
          "display_name",
          "resolver_url"
        ],
        "additionalProperties": false
      }
    },
    "buyer_page_url": {
      "type": "string"
    },
    "start_url": {
      "type": "string"
    },
    "boundary_statement": {
      "type": "string"
    }
  },
  "required": [
    "vertical_id",
    "display_name",
    "coverage_statement",
    "delisting_policy",
    "vendors",
    "buyer_page_url",
    "start_url",
    "boundary_statement"
  ],
  "additionalProperties": false
}
🟢explain_matching(vertical_id)

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.

输入模式

{
  "type": "object",
  "properties": {
    "vertical_id": {
      "type": "string",
      "enum": [
        "tms",
        "dock-scheduling",
        "eld",
        "carrier-vetting",
        "fleet-management"
      ]
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "string"
    },
    "disqualification_first": {
      "type": "string"
    },
    "additive_index_note": {
      "type": "string"
    },
    "tiers": {
      "type": "object",
      "properties": {
        "strong": {
          "type": "number"
        },
        "good": {
          "type": "number"
        },
        "fair": {
          "type": "number"
        }
      },
      "required": [
        "strong",
        "good",
        "fair"
      ],
      "additionalProperties": false
    },
    "immutable_record_note": {
      "type": "string"
    },
    "how_it_works_url": {
      "type": "string"
    },
    "boundary_statement": {
      "type": "string"
    }
  },
  "required": [
    "summary",
    "disqualification_first",
    "additive_index_note",
    "tiers",
    "immutable_record_note",
    "how_it_works_url",
    "boundary_statement"
  ],
  "additionalProperties": false
}
🟢how_we_are_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.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "buyer_cost": {
      "type": "string"
    },
    "vendor_model_summary": {
      "type": "string"
    },
    "boundary_statement": {
      "type": "string"
    },
    "page_url": {
      "type": "string"
    }
  },
  "required": [
    "buyer_cost",
    "vendor_model_summary",
    "boundary_statement",
    "page_url"
  ],
  "additionalProperties": false
}
🟢start_assessment(vertical_id, client_class)

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.

输入模式

{
  "type": "object",
  "properties": {
    "vertical_id": {
      "type": "string",
      "enum": [
        "tms",
        "dock-scheduling",
        "eld",
        "carrier-vetting",
        "fleet-management"
      ]
    },
    "client_class": {
      "type": "string",
      "enum": [
        "claude",
        "chatgpt",
        "other"
      ],
      "default": "other"
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "vertical_id": {
      "type": "string",
      "enum": [
        "tms",
        "dock-scheduling",
        "eld",
        "carrier-vetting",
        "fleet-management"
      ]
    },
    "display_name": {
      "type": "string"
    },
    "choose_vertical": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "vertical_id": {
            "type": "string",
            "enum": [
              "tms",
              "dock-scheduling",
              "eld",
              "carrier-vetting",
              "fleet-management"
            ]
          },
          "display_name": {
            "type": "string"
          },
          "start_url": {
            "type": "string"
          }
        },
        "required": [
          "vertical_id",
          "display_name",
          "start_url"
        ],
        "additionalProperties": false
      }
    },
    "start_url": {
      "type": "string"
    },
    "boundary_statement": {
      "type": "string"
    }
  },
  "required": [
    "boundary_statement"
  ],
  "additionalProperties": false,
  "anyOf": [
    {
      "required": [
        "url",
        "vertical_id",
        "display_name"
      ]
    },
    {
      "required": [
        "choose_vertical"
      ]
    }
  ]
}
🟢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. When no assessment has been submitted but one has been started, the status is in_progress, with its completion percentage and the URL to resume it. An assessment that was submitted and has no matches to show yet is submitted_pending. Status only; the match list is my_matches. The result carries a summary sentence: relay it to the user in your own words, and treat a count of zero as a normal state, not a problem.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "no_results",
        "under_review",
        "results",
        "no_account",
        "in_progress",
        "submitted_pending"
      ]
    },
    "vertical": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "tms",
        "dock-scheduling",
        "eld",
        "carrier-vetting",
        "fleet-management",
        null
      ]
    },
    "notified_matches": {
      "type": "integer"
    },
    "accepted_matches": {
      "type": "integer"
    },
    "pending_delivery": {
      "type": "integer"
    },
    "completion_pct": {
      "type": "integer"
    },
    "resume_url": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "vertical",
    "notified_matches",
    "accepted_matches",
    "pending_delivery",
    "summary"
  ],
  "additionalProperties": false
}
🟢my_matches(assessment_id)

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. The result carries a summary sentence: relay it to the user in your own words, and treat a count of zero as a normal state, not a problem.

输入模式

{
  "type": "object",
  "properties": {
    "assessment_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "no_results",
        "under_review",
        "results",
        "no_account"
      ]
    },
    "vertical": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "tms",
        "dock-scheduling",
        "eld",
        "carrier-vetting",
        "fleet-management",
        null
      ]
    },
    "pending_delivery": {
      "type": "integer"
    },
    "matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "match_id": {
            "type": "string"
          },
          "masked_id": {
            "type": "string"
          },
          "total_score": {
            "type": "number"
          },
          "tier": {
            "type": "string"
          },
          "accepted": {
            "type": "boolean"
          },
          "vendor": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "company": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "email",
              "phone",
              "company"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "match_id",
          "masked_id",
          "total_score",
          "tier",
          "accepted",
          "vendor"
        ],
        "additionalProperties": false
      }
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "vertical",
    "pending_delivery",
    "matches",
    "summary"
  ],
  "additionalProperties": false
}
🟢my_scorecard_status(match_id)

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. On a buyer account the summary says so; a buyer's matches are under my_assessment_status. The result carries a summary sentence: relay it to the user in your own words, and treat a count of zero as a normal state, not a problem.

输入模式

{
  "type": "object",
  "properties": {
    "match_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "scorecard",
        "no_scorecard"
      ]
    },
    "scorecard": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "vertical": {
          "type": "string",
          "enum": [
            "tms",
            "dock-scheduling",
            "eld",
            "carrier-vetting",
            "fleet-management"
          ]
        },
        "scorecard_status": {
          "type": [
            "string",
            "null"
          ]
        },
        "scorecard_completion_pct": {
          "type": [
            "integer",
            "null"
          ]
        },
        "answered_questions": {
          "type": "integer"
        }
      },
      "required": [
        "vertical",
        "scorecard_status",
        "scorecard_completion_pct",
        "answered_questions"
      ],
      "additionalProperties": false
    },
    "leads": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "pending": {
          "type": "integer"
        },
        "accepted": {
          "type": "integer"
        },
        "declined": {
          "type": "integer"
        },
        "expiring_soon": {
          "type": "integer"
        }
      },
      "required": [
        "pending",
        "accepted",
        "declined",
        "expiring_soon"
      ],
      "additionalProperties": false
    },
    "client": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "company": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "email",
        "phone",
        "company"
      ],
      "additionalProperties": false
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "scorecard",
    "leads",
    "client",
    "summary"
  ],
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具