@dthreads/mcp-server
v0.1.0
Published
MCP server for AiWA — run website audits and read results from any MCP client (Claude Desktop, Cursor, Claude Code) using your AiWA API key.
Downloads
79
Maintainers
Readme
AiWA MCP server
Run AiWA website audits and read their results from any MCP client — Claude Desktop, Cursor, Claude Code — using your own AiWA API key.
It's a thin wrapper over the AiWA public API (/api/v1/*). Every tool call is
translated into an HTTP request authenticated with your API key; there is no
extra business logic here. Plan gating, rate limits, and key scoping are all
enforced by the AiWA API itself.
Tools
| Tool | What it does | AiWA endpoint |
|------|--------------|---------------|
| run_audit(url, modules?, language?) | Starts an audit. Returns a jobId immediately — the audit runs in the background. | POST /v1/audit |
| get_audit_status(jobId) | Status, progress, per-module scores, findings-by-severity summary. | GET /v1/jobs/:id/summary |
| get_audit_findings(jobId) | Full result: every finding with severity, location, recommendation. | GET /v1/jobs/:id |
| list_projects() | Your projects with the scores of each one's latest completed audit. | GET /v1/projects |
| compare_competitors(projectId) | A project's scores next to each tracked competitor, with per-module deltas. | GET /v1/projects/:projectId/competitors |
Because audits take a while (real browser rendering), run_audit never blocks —
it hands back a jobId and you poll get_audit_status until status is
"completed".
Requirements
- Node.js 18+
- An AiWA API key — create one in Settings → API Keys (Pro or Enterprise plan). A read-only key is a good fit here if you only want the client to read results; a module-restricted key limits what it can audit.
Install & build
cd packages/mcp-server
npm install
npm run buildThis produces dist/index.js (the runnable server).
Configure your MCP client
The server reads two environment variables:
AIWA_API_KEY— required, your AiWA API key.AIWA_API_URL— optional, defaults tohttps://api.aiwa.am/api.
Claude Desktop
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"aiwa": {
"command": "node",
"args": ["/absolute/path/to/packages/mcp-server/dist/index.js"],
"env": {
"AIWA_API_KEY": "aiwa_your_key_here"
}
}
}
}Cursor
Add to .cursor/mcp.json in your project (or the global Cursor MCP settings):
{
"mcpServers": {
"aiwa": {
"command": "node",
"args": ["/absolute/path/to/packages/mcp-server/dist/index.js"],
"env": { "AIWA_API_KEY": "aiwa_your_key_here" }
}
}
}Restart the client, then ask it to "audit https://example.com with AiWA" — it
will call run_audit, then get_audit_status until the audit finishes.
Notes
- The server talks JSON-RPC over stdio; all logs go to stderr so they don't corrupt the protocol stream.
- Keep your API key secret — anyone holding it can start audits under your account. Prefer a scoped/read-only key for the MCP client.
