Upshift
upshift-mcp
Эталонный MCP-сервер Upshift. Три инструмента, развернутые удаленно, по спецификации MCP редакции 2026-07-28.
Он существует для выполнения двух задач одновременно: быть действительно полезным агенту и служить рабочим примером, который покупатель изучает, прежде чем заплатить нам за создание своего. Каждая цена, которую он указывает, генерируется из живого магазина, поэтому он не может выдумать цену.
https://mcp.upshiftsites.com/mcp{
"mcpServers": {
"upshift": { "type": "http", "url": "https://mcp.upshiftsites.com/mcp" }
}
}Или запустите тот же сервер локально, для клиентов, которые порождают команду, а не вызывают URL. Ничего клонировать или собирать — он опубликован на npm:
{
"mcpServers": {
"upshift": { "command": "npx", "args": ["-y", "upshift-mcp"] }
}
}Тот же бинарный файл из оболочки. stdio используется по умолчанию; --http обслуживает полный Worker на localhost вместо этого:
npx upshift-mcpTools
Инструмент | Что делает |
| Загружает живую страницу и сообщает структурированные данные, llms.txt, robots.txt, заголовки и мета-бюджеты, заголовки, покрытие alt-текста, HTTPS и вес документа, с оценкой от 0 до 100 и исправлением для каждой находки. |
| Ранжирует 14 линий шаблонов сайтов по отношению к отрасли, с ссылками на живые демо, ссылками на магазин и реальными ценами, и объясняет, почему каждый совпал. |
| Реальная таблица цен для работы над MCP-сервером и для веб-сайтов. |
Бесплатно и с ограничением 20 вызовов в минуту на IP.
Related MCP server: agent-ready-mcp
Layout
src/
worker.ts Cloudflare entrypoint: routing, origin policy, rate limit
server.ts The three tools; the one place production layers are applied
audit.ts Audit rules — pure, so every rule is testable without a network
safe-fetch.ts The SSRF guard for the one tool that takes a caller's URL
match.ts Template matching
services.ts What we charge for MCP work
catalog.generated.ts Template lines + prices, generated from the store
landing.ts The page a human gets at /
evals/ 12 qa_pairs, run over the real protocol
test/ 32 tests: protocol conformance + the pure logicWorking on it
npm install
npm run dev # http://127.0.0.1:8788/mcp
npm run ci:verify # typecheck + tests + evalswrangler dev требует macOS 13.5+ и не запустится на сборочной машине, поэтому npm run dev обслуживает продакшн src/worker.ts на Node с использованием KV в памяти. Тот же обработчик, те же маршруты, те же инструменты — не вторая реализация. Развертывание по-прежнему через wrangler deploy.
Цены берутся из ../upshift-agency-site/src/data/store.ts. После их изменения там:
npm run gen:catalogDeploying
Работает с 2026-08-16 по адресу https://mcp.upshiftsites.com/mcp. Пространство имен KV и пользовательский домен подготовлены; npm run deploy отправляет новую версию.
Listed
Официальный реестр MCP:
com.upshiftsites/mcp, опубликован какactiveдля проверенного через DNS пространства имен.Glama — одобрено 2026-08-16.
npm:
upshift-mcp—npx upshift-mcpзапускает этот же сервер локально.
Honest gaps
В docs/VALIDATION.md — что проверено, что нет, и четыре реальные ошибки, которые поймал набор eval во время сборки (одна из них — обход безопасности). Этот документ является аргументом в пользу поставки eval вместе с сервером, что и является той частью, которую мы продаем.
Licence
MIT. Заимствуйте всё полезное. Если вы предпочитаете, чтобы мы построили и запустили его для вас, это на https://upshiftsites.com/store/mcp-server-service/.
Available Tools
3 toolsupshift_quotePrice a jobARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | 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. | |
| job_type | Yes | 'mcp' for MCP server work, 'website' for website work. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| offers | Yes | |
| jobType | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations. It reveals that the tool is deterministic ('same arguments always return the same answer'), makes no network call, and generates prices from a live store catalog. The annotations already declare readOnlyHint=true and openWorldHint=false, which the description aligns with. The only minor gap is not expanding on what the return structure looks like, but the tool has an output schema which mitigates this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of four sentences with clear front-loading: the first sentence states the core purpose. Each sentence adds distinct information. It could be slightly more structured (e.g., breaking guidelines into a separate sentence), but it's efficient and avoids waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters (1 required), an output schema, and readOnlyHint+openWorldHint annotations, the description is complete. It covers purpose, when to use, constraints (no network call, deterministic), and parameter semantics. The output schema covers return structure. There are no gaps in information needed for an agent to correctly select and invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description goes further by explaining what values each enum choice covers (e.g., 'mcp' includes registry listing, live tool preview, etc.) and explains the scope parameter's purpose (free text to help pick a tier, never changes prices). This adds genuine value beyond the schema's minimal descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Return' with the resource 'Upshift's real prices' and clearly distinguishes between two job types (mcp and website). It immediately communicates that this tool provides actual listed prices, not estimates, and gives concrete examples of what each job_type covers, making it easy for an agent to understand exactly what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use when someone asks what a job costs, what a tier includes, or how long it takes.' It also specifies limitations: it cannot quote a price that is not sold, and the same arguments always return the same answer. While it doesn't explicitly name sibling tools as alternatives, the context of pricing guidance is clearly delineated from other tools like upshift_site_audit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upshift_site_auditAudit a website for machine legibilityARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http(s) URL of the page to audit, e.g. https://example.com |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| score | Yes | |
| summary | Yes | |
| findings | Yes | |
| reachable | Yes | |
| structuredData | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint and openWorldHint, but the description adds significant context: makes one outbound request, only sees what fetch can establish, refuses private/loopback/link-local addresses, and reports unreachable pages rather than scoring error bodies. This exceeds annotation coverage and provides critical behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose and key features, each sentence adding new information: checklist, score, one outbound request, security restrictions, and unreachable behavior. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with output schema, the description covers purpose, usage, behavior, and security constraints comprehensively. It details limitations (no rendering) and edge cases (unreachable pages), making it complete for the agent to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear description for url, so the baseline is 3. However, the description adds value by specifying the URL must be absolute http(s) and gives an example, as well as implying constraints (real site, public address), compensating slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool audits a website for machine legibility, listing specific checks (JSON-LD, llms.txt, etc.) and outputs a 0-100 score. It distinguishes from siblings by mentioning auditing a live site, which is unique among upshift_template_match and upshift_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this tool to check a real site before recommending changes, which contrasts with the sibling tools' likely non-audit purposes. It also explains when it's appropriate (real site) and what it does not do (no rendering or browser metrics), providing clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upshift_template_matchFind the website template for a tradeARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| needs | No | Optional: what the business needs, e.g. "online booking, before/after photos". | |
| industry | Yes | The trade or industry, e.g. "roofing", "collision repair", "med spa". |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| matches | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds behavioral context: it operates from a server-held catalog, makes no network call, and returns no matches (rather than forced) for out-of-scope trades. This reinforces and complements the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of three sentences that efficiently convey purpose, usage, and limitations without redundancy. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (the context indicates 'Has output schema: true'), the description does not need to detail return values. It adequately covers the tool's purpose, usage context, limitations (no forced matches), and the fact that it uses a local catalog. For a tool with two well-documented parameters and a closed set of templates, this is fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters documented. The description adds meaning by explaining that 'industry' is the trade and 'needs' is optional, and it describes the output parameters (demo link, store link, prices, match words). This provides additional context beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'rank' and the resource 'Upshift's 14 website template lines'. It specifies the output (best three with demo link, store link, prices, match words) and distinguishes from sibling tools like site_audit and quote which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when someone asks what a website for a given trade should look like or cost.' It also notes that it returns no matches for trades outside the 14 lines, providing context for when the tool is appropriate. However, it does not explicitly mention when not to use it or alternatives, though siblings are different enough that exclusion is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.3- First observed
upshift_quote - First observed
upshift_site_audit - First observed
upshift_template_match
TDQS
Each tool targets a completely distinct purpose: site audit checks existing websites, template match recommends templates by trade, and quote provides pricing. There is no overlap in functionality or output.
All tools use the 'upshift_' prefix and then a clear noun: 'site_audit', 'template_match', 'quote'. The pattern is consistent, though 'quote' is a single word while the others are verb_noun compound.
Three tools is an ideal scope for a narrow commercial service. Each tool is necessary for the core workflow (audit, recommend, quote), and there is no room for bloat.
The set covers the essential sales workflow: audit existing site, recommend a template, and provide pricing. A minor gap is lack of a tool to get detailed information about a specific template, but the match tool returns demo links and prices.
Maintenance
Related MCP Connectors
Robots-aware website audits, pre-crawl quotes, and structured evidence for people and agents.
19 free website QA and AI-visibility tools. Remote HTTP MCP, no account, no API key.
Free technical-SEO audit MCP: crawl a site, run checks, return an LLM-ready shareable report.
Generate 18 AI readiness files (llms.txt, ai.txt, RAG indexes, schema) for any website.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePoint it at your site, get a whole-site AEO/GEO audit plus a ready-to-run plan your agent can execute. Orchestrates the ai-seo and citation-intelligence MCPs. Ships as a Claude skill, Claude plugin, and MCP server. No API keys required.132MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to scan any website for agent-readiness and generate the necessary artifacts (llms.txt, WebMCP scaffold, structured data) to make it agent-ready.18MIT
- AlicenseNot gradedqualityCmaintenanceOpen-source MCP server that audits websites for AI search readiness, providing deterministic scoring (0-100) and prioritized fix lists for metrics like JSON-LD, llms.txt, heading hierarchy, and AI crawler access.1MIT

Agundur GEO Scannerofficial
AlicenseNot gradedqualityCmaintenanceChecks whether a website is readable and citable by AI search engines — llms.txt, Schema.org structured data, AI-bot access in robots.txt, content freshness, answer directness, E-E-A-T signals, plus a LocalBusiness Rich Results validator. Free, no API key, remote Streamable HTTP.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/samerdwykat-cmyk/upshift-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server