MCP server for detecting site-builder and booking platforms used by a URL.
Two tools with complete input schemas and detailed descriptions. fingerprint and fingerprint_batch both have clear, action-oriented names and comprehensive docstrings (200+ chars each). Schemas include types, descriptions, and defaults. However, parameter descriptions lack constraint details (e.g., URL format, timeout bounds), and output schemas are not formally documented. Error handling is present but generic. No tool annotations (readOnlyHint/destructiveHint) despite both tools having write capabilities.
Fetch a URL and detect its site-builder platform and booking system. Returns a structured result with detected platform(s), confidence scores, detection status, and the specific evidence (HTML strings, headers) that triggered each detection. READ-ONLY by default. To update a prospect note's frontmatter with the result, pass `write_back_to=<prospect_slug>`. The note's platform, booking_platform, platform_status, and platform_scan fields are updated in place, and an activity log entry is appended. Refuses to write back to notes marked stage='do-not-contact'.
Fingerprint a list of URLs in sequence, with a polite delay between requests. Optionally write each result back to a corresponding prospect. The `write_back_to` list, if provided, must be the same length as `urls`. Each element is the slug to update with that URL's result, or None to skip write-back for that URL.
Missing tool annotations for write operations. Both fingerprint and fingerprint_batch modify state (write_back_to parameter) but lack destructiveHint/idempotentHint annotations to signal this to LLMs.
Output schema not formally documented. Tool descriptions mention returned fields (platform, booking_platform, confidence, evidence, status) but no JSON Schema definition is visible for the response structure.
Parameter constraints underspecified. timeout and delay_seconds lack min/max bounds; url lacks format validation hint; write_back_to lacks guidance on valid slug patterns.
Error handling lacks recovery guidance. _write_back returns generic error dicts but does not guide LLM on next steps (e.g., 'Try setting PRAXIS_VAULT_PATH' or 'Check prospect slug spelling').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
fingerprint_batch write_back_to parameter type is array of string|null but JSON Schema shows array of string. Null handling is not formally declared in schema.