Upshift
Audit a site's structured data and llms.txt, match a trade to a template, and quote real prices.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"upshift-mcp"
]
}
}
}실행 가능한 패키지
1.0.3stdio원격 엔드포인트
https://mcp.upshiftsites.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (3)
🟢upshift_site_audit(url)
Fetch a live website and report how legible it is to search engines and AI assistants: structured data (JSON-LD), llms.txt, robots.txt, title and meta description, headings, image alt text, HTTPS and document weight. Returns findings with severity and a 0-100 score. Use this to check a real site before recommending changes to it. Makes one outbound request to the URL given, so it only sees what a fetch can establish — never rendering or browser metrics. Refuses private, loopback and link-local addresses, and reports a page as unreachable rather than scoring the error body.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to audit, e.g. https://example.com"
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"reachable": {
"type": "boolean"
},
"score": {
"type": "number"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"critical",
"warn",
"ok"
]
},
"label": {
"type": "string"
},
"detail": {
"type": "string"
},
"fix": {
"type": "string"
}
},
"required": [
"id",
"severity",
"label",
"detail"
],
"additionalProperties": false
}
},
"structuredData": {
"type": "object",
"properties": {
"blocks": {
"type": "number"
},
"types": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"blocks",
"types"
],
"additionalProperties": false
},
"summary": {
"type": "string"
}
},
"required": [
"url",
"reachable",
"score",
"findings",
"structuredData",
"summary"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢upshift_template_match(industry, needs)
Given an industry or trade (and optionally what the business needs), rank Upshift's 14 website template lines and return the best three, each with a live demo link, the store link, real prices, and the words that made it match. Use when someone asks what a website for a given trade should look like or cost. Answers from a catalog held in the server, so it makes no network call and returns no matches — rather than a forced one — when the trade is outside the 14 lines.
입력 스키마
{
"type": "object",
"properties": {
"industry": {
"type": "string",
"description": "The trade or industry, e.g. \"roofing\", \"collision repair\", \"med spa\"."
},
"needs": {
"description": "Optional: what the business needs, e.g. \"online booking, before/after photos\".",
"type": "string"
}
},
"required": [
"industry"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"line": {
"type": "string"
},
"tagline": {
"type": "string"
},
"demo": {
"type": "string"
},
"store": {
"type": "string"
},
"priceFrom": {
"type": "number"
},
"doneForYou": {
"type": "number"
},
"because": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"slug",
"line",
"tagline",
"demo",
"store",
"priceFrom",
"doneForYou",
"because"
],
"additionalProperties": false
}
}
},
"required": [
"query",
"matches"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢upshift_quote(job_type, scope)
Return Upshift's real prices. job_type 'mcp' covers MCP server work (registry listing, live tool preview, spec upgrade, full build); 'website' covers website templates and done-for-you launches. These are the actual listed prices, not estimates. Use when someone asks what a job costs, what a tier includes, or how long it takes. The figures are generated from the live store catalog, so this cannot quote a price that is not sold; it makes no network call and the same arguments always return the same answer.
입력 스키마
{
"type": "object",
"properties": {
"job_type": {
"type": "string",
"enum": [
"mcp",
"website"
],
"description": "'mcp' for MCP server work, 'website' for website work."
},
"scope": {
"description": "Optional free text about the situation, used to pick which tier to lead with and to explain why, e.g. \"we have a server on stdio\" or \"roofing company, no site\". Never changes the prices themselves.",
"type": "string"
}
},
"required": [
"job_type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"jobType": {
"type": "string"
},
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "number"
},
"priceMax": {
"type": "number"
},
"credited": {
"type": "boolean"
},
"turnaround": {
"type": "string"
},
"forWhom": {
"type": "string"
},
"includes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"name",
"price",
"credited",
"turnaround",
"forWhom",
"includes"
],
"additionalProperties": false
}
},
"note": {
"type": "string"
}
},
"required": [
"jobType",
"offers",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}커뮤니티
증거