About SyteCheck
SyteCheck is an MCP server for developers and site maintainers who want to audit websites from clients such as Claude or Cursor. It checks ten areas, including SEO, accessibility, performance, and security, and returns scored, readable reports.
Key features
- 01Website audits across ten dimensions
- 02Lighthouse performance checks
- 03WCAG 2.2 AA accessibility checks
- 04Scan reports and history
- 05Score trends by URL
- 06Prioritized remediation prompt
Use cases
- 01Find issues before a website launch
- 02Track score changes across repeat scans
- 03Read existing reports without spending scan quota
- 04Prioritize fixes from audit findings
MCP support
It exposes tools for website scans, report retrieval, scan history, and trends, plus a prompt that turns findings into a prioritized fix plan.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @ascentws/sytecheck-mcpSYTECHECK_API_KEYSecretSyteCheck API key, created at Account -> API keys on sytecheck.app. Begins with sck_.SYTECHECK_API_URLAPI base URL. Only set this to point at a non-production SyteCheck instance.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESyteCheck MCP Server
Run website audits from Claude, Cursor, or any other MCP client, and get the findings back as text you can act on.
SyteCheck scans a page across ten dimensions — HTML validity, SEO, broken links, accessibility (WCAG 2.2 AA via axe-core), performance (a real Lighthouse run), security headers, responsive layout, AI visibility, content freshness, and an AI critique of the visual design — and returns a scored, plain-language report.
A free account works. No card, no trial clock: the free tier includes three scans a month across three categories, which is enough to wire this up and see a real report before deciding whether to pay for more.
Quickstart
- Create an account at sytecheck.app and verify your email.
- Mint a key at Account → API keys. Choose
scans:readonly if you want the model to read existing scans but never spend quota. The secret is shown once. - Add the server to your client, using one of the recipes below.
Claude Code
claude mcp add sytecheck --env SYTECHECK_API_KEY=sck_your_key_here \
-- npx -y @ascentws/sytecheck-mcp
Claude Desktop
Edit claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"sytecheck": {
"command": "npx",
"args": ["-y", "@ascentws/sytecheck-mcp"],
"env": { "SYTECHECK_API_KEY": "sck_your_key_here" }
}
}
}
Cursor
Add to .cursor/mcp.json in your project, or the global equivalent:
{
"mcpServers": {
"sytecheck": {
"command": "npx",
"args": ["-y", "@ascentws/sytecheck-mcp"],
"env": { "SYTECHECK_API_KEY": "sck_your_key_here" }
}
}
}
Gemini CLI / Antigravity CLI
Add to ~/.gemini/settings.json (or the Antigravity equivalent):
{
"mcpServers": {
"sytecheck": {
"command": "npx",
"args": ["-y", "@ascentws/sytecheck-mcp"],
"env": { "SYTECHECK_API_KEY": "sck_your_key_here" }
}
}
}
OpenAI Agents SDK
from agents import Agent
from agents.mcp import MCPServerStdio
sytecheck = MCPServerStdio(
params={
"command": "npx",
"args": ["-y", "@ascentws/sytecheck-mcp"],
"env": {"SYTECHECK_API_KEY": "sck_your_key_here"},
}
)
agent = Agent(
name="Site auditor",
instructions="Audit sites with SyteCheck and explain what to fix.",
mcp_servers=[sytecheck],
)
Then ask: "Scan https://example.com and tell me what to fix first."
Tools
| Tool | What it does |
|---|---|
run_scan | Submit a URL and wait for the report. Spends quota. |
get_scan_report | Full findings for a scan id — the way to collect a scan run_scan left running |
list_scans | Scan history, newest first, with filters |
get_scan_trends | Score history per URL across repeat scans |
list_categories | What SyteCheck can check, and what your plan includes |
get_account_usage | Scans remaining this month, and when the quota resets |
There is also a scan-and-remediate prompt that scans a URL and turns the
findings into a prioritized fix plan.
A note on cost
run_scan is the only tool that spends anything, and it spends real money: a scan
opens a browser, runs Lighthouse, and calls a vision model. It is marked
non-read-only so your client asks before running it, and its description tells the
model to check remaining quota first and not to re-scan an unchanged page. On a
free account you have three scans a month — an agent looping over run_scan
would exhaust that in one turn.
If you are handing a key to something unattended, mint a scans:read key. It
cannot create scans at all.
Configuration
| Variable | Default | Purpose |
|---|---|---|
SYTECHECK_API_KEY | (required) | Your sck_ API key |
SYTECHECK_API_URL | https://api.sytecheck.app | API base URL |
SYTECHECK_WAIT_TIMEOUT_MS | 60000 | How long run_scan waits before returning a scan id |
SYTECHECK_POLL_INTERVAL_MS | 3000 | Gap between status checks while waiting |
Note the API host is api.sytecheck.app, not sytecheck.app — the latter
serves the web app and answers API paths with its "page not found" screen.
Using the API directly
The MCP server is a thin client over a plain HTTP API you can call yourself.
- docs/API.md — the full developer guide: authentication, submitting scans, polling, webhooks and their signature verification, rate limits, and versioning.
- public-openapi.json — the OpenAPI 3.1 spec, for generating a client.
- examples/ — runnable clients in curl, Python, Node, Java, and C#, plus a webhook receiver that verifies the delivery signature.
- Interactive docs: Swagger UI · ReDoc
Development
npm install
npm run build
npm test
npm run lint
To run against a local SyteCheck instance:
SYTECHECK_API_KEY=sck_… SYTECHECK_API_URL=http://localhost:8000 node dist/index.js
The server speaks JSON-RPC over stdin and stdout, so nothing may be written to
stdout except protocol messages — a stray console.log corrupts the stream and
the client disconnects with an unhelpful parse error. Diagnostics go to stderr.
Security
See SECURITY.md for how the key is handled, what a leaked key can and cannot do, and how to report a vulnerability.
License
MIT — see LICENSE. The licence covers this code; the SyteCheck name and mark are trademarks of Ascent Web Solutions, and use of the service is governed by its Terms of Service. See TRADEMARK.md for the full terms.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.