Documentation
How to use the scanner, connect Make.com and n8n, and add Proofled as a Claude Cowork connector.
Documentation
How to use the scanner, connect Make.com and n8n, and add Proofled as a Claude Cowork custom connector.
Full markdown guide in the repo: context/docs/USER-GUIDE.md
- Open https://proofled.sheessaleemllc.com/
- Type a website address (example: shopify.com)
- Click Scan — you get the stack, sales gaps, and Connect (LinkedIn, Instagram, X, email, phone)
- Or use Many websites and download CSV (includes Connect columns)
No login needed for the browser scanner.
What is an API key? A special password for apps (Make, n8n, Claude) — not for humans clicking around the website.
How it works while you are not fully commercial:
- Someone signs up on your site
- They wait as Pending — they cannot create keys yet
- You open Admin and click Approve
- They open API keys → Create API key → copy it
- They paste that key into Make / n8n / Claude
You stay in control. No random person can burn your free usage without your OK.
One-time setup (owner)
- Create free DB: neon.tech
- In Neon SQL Editor, run the SQL file from GitHub:
scripts/setup-db.sql - In your hosting environment variables set
DATABASE_URL,AUTH_SECRET, andSTACKSIGNAL_ADMIN_EMAIL=your@email.com - Redeploy, then sign up with that admin email
API access uses dashboard keys (after approval) or your STACKSIGNAL_API_KEY env var — there is no shared bootstrap key.
Proofled runs a remote MCP server Claude can call directly.
Connector URL (copy this)
https://proofled.sheessaleemllc.com/mcp?api_key=YOUR_API_KEY
After you set your own STACKSIGNAL_API_KEY, replace the key in the URL.
Steps in Claude
- Open Claude (Cowork or claude.ai)
- Go to Customize → Connectors
(Team plans: Organization settings → Connectors) - Click + or Add → Add custom connector (or Custom → Web)
- Name: Proofled
- Remote MCP server URL: paste the connector URL above
- Leave OAuth Client ID / Secret empty (not required)
- Save, then enable Proofled in Cowork
- Ask Claude something like:
“Scan https://cloudnixia.vercel.app, list their tech stack, sales gaps, and LinkedIn or email so I can outreach.”
Tools Claude gets
scan_website— technology list + opportunity score + Connect linksfind_connect— LinkedIn, Instagram, X, email, and phone for outreachanalyze_gaps— missing analytics, CRM, chat, etc. (includes Connect)bulk_scan— several sites at once (plan max: Starter 500 / Growth 1,500 / Scale 3,000)draft_pitch— grounded cold email / LinkedIn DM from scan evidencelist_signals— active Why-Now change signals for monitored accountslist_capabilities— what Proofled can do
If it doesn’t connect
- Wait for the latest deployment to finish
- Open https://proofled.sheessaleemllc.com/mcp — you should see JSON (not an error page)
- Double-check the api_key in the URL
- Reload Claude and try adding the connector again
Use HTTP modules against the REST API. Full steps: API & Connectors
POST https://proofled.sheessaleemllc.com/api/v1/scan
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{"url":"https://example.com"}| Endpoint | Auth | Purpose |
|---|---|---|
GET /api/v1/health | No | Health check |
POST /api/v1/scan | Yes | Scan one URL |
POST /api/v1/bulk | Yes | Scan up to 50 URLs |
GET /api/v1/openapi | No | OpenAPI document |
POST /mcp | Yes | Claude / MCP tools (includes draft_pitch) |
GET/POST /api/pitch | Login session | AI pitch writer (bring-your-own API key). Body may include provider + model. Requires a key under Settings → AI / Pitch. Returns 400 byok_required if missing; 503 pitch_disabled when Admin turns it off. |
Scoring fields: use leadScore (0–100, higher = more to sell into) for outreach ranking. opportunity is deprecated — its score now mirrors leadScore.score for older clients. Prefer audit.issues + gaps for the underlying findings.
Pitch body (POST /api/pitch): { findings | url, provider?, model?, tone?, agency?: { agencyName, senderName, services } }. Uses your OpenRouter / OpenAI / Anthropic / xAI key only — never a shared Proofled server key. Never invents a sender name — omit senderName to sign as [Your name].
Only technical proof counts: scripts, headers, cookies, platform files. Marketing text is ignored so you don’t get false matches like “WordPress” from a service description.