{
  "markdown": "# upshift-mcp\n\nUpshift's reference MCP server. Three tools, deployed remote, on MCP spec\nrevision **2026-07-28**.\n\nIt exists to do two jobs at once: be genuinely useful to an agent, and be the\nworked example a buyer looks at before paying us to build theirs. Every price\nit quotes is generated from the live store, so it cannot invent one.\n\n```\nhttps://mcp.upshiftsites.com/mcp\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"upshift\": { \"type\": \"http\", \"url\": \"https://mcp.upshiftsites.com/mcp\" }\n  }\n}\n```\n\nOr run the same server locally, for clients that spawn a command rather than\ncall a URL. Nothing to clone or build — it is published on npm:\n\n```json\n{\n  \"mcpServers\": {\n    \"upshift\": { \"command\": \"npx\", \"args\": [\"-y\", \"upshift-mcp\"] }\n  }\n}\n```\n\nThe same binary from a shell. stdio is the default; `--http` serves the full\nWorker on localhost instead:\n\n```bash\nnpx upshift-mcp\n```\n\n## Tools\n\n| Tool | Does |\n|---|---|\n| `upshift_site_audit(url)` | Fetches a live page and reports structured data, llms.txt, robots.txt, title and meta budgets, headings, alt-text coverage, HTTPS and document weight, with a 0-100 score and a fix for each finding. |\n| `upshift_template_match(industry, needs?)` | Ranks the 14 website template lines against a trade, with live demo links, store links and real prices, and explains why each matched. |\n| `upshift_quote(job_type, scope?)` | The real price table for MCP server work and for websites. |\n\nFree and rate limited to 20 calls/minute per IP.\n\n## Layout\n\n```\nsrc/\n  worker.ts      Cloudflare entrypoint: routing, origin policy, rate limit\n  server.ts      The three tools; the one place production layers are applied\n  audit.ts       Audit rules — pure, so every rule is testable without a network\n  safe-fetch.ts  The SSRF guard for the one tool that takes a caller's URL\n  match.ts       Template matching\n  services.ts    What we charge for MCP work\n  catalog.generated.ts   Template lines + prices, generated from the store\n  landing.ts     The page a human gets at /\nevals/           12 qa_pairs, run over the real protocol\ntest/            32 tests: protocol conformance + the pure logic\n```\n\n## Working on it\n\n```bash\nnpm install\nnpm run dev          # http://127.0.0.1:8788/mcp\nnpm run ci:verify    # typecheck + tests + evals\n```\n\n`wrangler dev` needs macOS 13.5+ and will not boot on the build machine, so\n`npm run dev` serves the *production* `src/worker.ts` on Node against an\nin-memory KV. Same handler, same routes, same tools — not a second\nimplementation. Deployment is still `wrangler deploy`.\n\nPrices come from `../upshift-agency-site/src/data/store.ts`. After changing\nthem there:\n\n```bash\nnpm run gen:catalog\n```\n\n## Deploying\n\n**Live since 2026-08-16** at `https://mcp.upshiftsites.com/mcp`. KV namespace\nand custom domain are provisioned; `npm run deploy` ships a new version.\n\n## Listed\n\n- Official MCP registry: `com.upshiftsites/mcp`, published `active` against\n  the DNS-verified namespace.\n- [Glama](https://glama.ai/mcp/servers/samerdwykat-cmyk/upshift-mcp) —\n  installable, with a released container built from this repo.\n- npm: [`upshift-mcp`](https://www.npmjs.com/package/upshift-mcp) —\n  `npx upshift-mcp` runs this same server locally.\n\n[![Glama score for upshift-mcp](https://glama.ai/mcp/servers/samerdwykat-cmyk/upshift-mcp/badges/score.svg)](https://glama.ai/mcp/servers/samerdwykat-cmyk/upshift-mcp)\n\n<a href=\"https://glama.ai/mcp/servers/samerdwykat-cmyk/upshift-mcp\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/samerdwykat-cmyk/upshift-mcp/badge\" alt=\"Upshift MCP server on Glama\" />\n</a>\n\n## Honest gaps\n\nIn [docs/VALIDATION.md](docs/VALIDATION.md) — what is verified, what is not,\nthe four real bugs the eval suite caught during the build (one of them a\nsecurity bypass), and the fifth it missed. That document is the argument for\nshipping evals alongside a server, which is the part of this we sell; the miss\nis part of the argument, not an exception to it.\n\n## Licence\n\nMIT. Lift anything useful. If you would rather we built and ran it for you,\nthat is at <https://upshiftsites.com/store/mcp-server-service/>.\n",
  "bytes": 4118,
  "sha": "6b69c2b804d812f9eb9e7215d028b8c85f7cacaa4e10c9446aba48f5b08eaa71",
  "repo_slug": "samerdwykat-cmyk/upshift-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_upshiftsites_mcp_8e34446c/readme"
}