{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_missinglinkz-missing-linkz","slug":"missinglinkz-missing-linkz","name":"MissingLinkz","type":"cli","url":"https://github.com/andrewlamamills-tech/missing-linkz","page_url":"https://unfragile.ai/missinglinkz-missing-linkz","categories":["cli-tools"],"tags":["mcp","model-context-protocol","smithery:MissingLinkz/missing-linkz"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_missinglinkz-missing-linkz__cap_0","uri":"capability://data.processing.analysis.utm.parameter.builder.with.campaign.link.generation","name":"utm parameter builder with campaign link generation","description":"Constructs properly-formatted UTM links by accepting campaign parameters (source, medium, campaign, content, term) and appending them as query strings to base URLs. Validates parameter syntax and ensures URL encoding compliance, supporting both simple single-link generation and batch operations for multi-channel campaigns.","intents":["I need to generate tracking links for a multi-channel marketing campaign without manually constructing query strings","I want to ensure UTM parameters are consistently formatted across all campaign links","I need to create dozens of campaign links with different parameters programmatically"],"best_for":["marketing teams building multi-channel campaigns","growth engineers automating link generation in CI/CD pipelines","solo developers prototyping marketing analytics integrations"],"limitations":["No built-in parameter validation against Google Analytics 4 reserved parameters","Does not deduplicate identical links across batches","No support for custom URL shortening integrations (bit.ly, TinyURL, etc.)"],"requires":["Node.js 14+ or CLI environment","Base URL as input (http:// or https://)"],"input_types":["text (base URL)","structured data (JSON object with utm_source, utm_medium, utm_campaign, utm_content, utm_term)"],"output_types":["text (fully-formed URL with query parameters)","structured data (JSON array of URLs for batch operations)"],"categories":["data-processing-analysis","marketing-automation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_missinglinkz-missing-linkz__cap_1","uri":"capability://search.retrieval.destination.url.validation.and.redirect.chain.resolution","name":"destination url validation and redirect chain resolution","description":"Follows HTTP redirect chains (301, 302, 307, 308) to resolve final destination URLs, detecting redirect loops and validating that campaign links actually reach intended landing pages. Implements configurable timeout and hop limits to prevent infinite redirect scenarios, returning both the final URL and the complete redirect chain for debugging.","intents":["I need to verify that my campaign links don't have broken redirects before sending them to users","I want to detect if a URL has been moved or redirected to an unexpected destination","I need to audit redirect chains to ensure landing pages are correct across all campaign variants"],"best_for":["QA engineers validating campaign links before launch","marketing ops teams auditing link health across active campaigns","developers building pre-flight validation into deployment pipelines"],"limitations":["Does not handle JavaScript-based redirects (client-side navigation)","Cannot validate redirects behind authentication or paywalls","Timeout defaults may be too aggressive for slow CDNs or regional endpoints","Does not distinguish between intentional redirects (e.g., link shorteners) and unintended ones"],"requires":["Network access to destination URLs","HTTP/HTTPS protocol support","Configurable timeout (default likely 5-10 seconds)"],"input_types":["text (single URL or comma-separated list)","structured data (JSON array of URLs)"],"output_types":["structured data (JSON object with final_url, redirect_chain array, status_codes, total_hops)"],"categories":["search-retrieval","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_missinglinkz-missing-linkz__cap_2","uri":"capability://data.processing.analysis.open.graph.and.twitter.card.metadata.extraction.and.validation","name":"open graph and twitter card metadata extraction and validation","description":"Parses HTML responses to extract Open Graph (og:title, og:description, og:image, og:url) and Twitter Card (twitter:card, twitter:title, twitter:description, twitter:image) meta tags. Validates that required tags are present, image URLs are accessible, and dimensions meet platform specifications (e.g., Twitter image minimum 200x200px). Returns structured metadata report with validation status.","intents":["I need to verify that my landing pages have proper social media preview tags before sharing campaign links","I want to ensure OG images are correctly sized and accessible across all campaign destinations","I need to audit which landing pages are missing Twitter Card metadata"],"best_for":["social media managers validating preview appearance before posting","marketing teams ensuring brand consistency across social shares","developers building content validation into publishing workflows"],"limitations":["Does not validate dynamically-rendered OG tags (requires JavaScript execution)","Cannot check og:image accessibility if images are behind authentication","Does not validate og:video or og:audio tags","No support for JSON-LD structured data validation","Image dimension validation requires downloading full image (adds latency)"],"requires":["HTTP/HTTPS access to destination URLs","HTML parsing library (likely cheerio or jsdom)","Image dimension validation library (likely sharp or similar)"],"input_types":["text (single URL)","structured data (JSON array of URLs)"],"output_types":["structured data (JSON object with og_tags, twitter_tags, validation_status, missing_fields, image_dimensions)"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_missinglinkz-missing-linkz__cap_3","uri":"capability://data.processing.analysis.mobile.readiness.assessment.and.responsive.design.validation","name":"mobile readiness assessment and responsive design validation","description":"Analyzes landing pages for mobile optimization signals including viewport meta tag presence, responsive CSS media queries, touch-friendly button sizes (minimum 44x44px), font readability (minimum 16px base), and viewport configuration. Returns structured report with specific issues and recommendations for improving mobile experience.","intents":["I need to ensure campaign landing pages are mobile-optimized before sending traffic from mobile ads","I want to identify mobile UX issues (small buttons, unresponsive layouts) that might hurt conversion rates","I need to validate that all campaign destinations meet mobile readiness standards"],"best_for":["mobile-first marketing teams validating landing page quality","performance engineers auditing mobile UX across campaign variants","developers integrating mobile validation into pre-launch checklists"],"limitations":["Does not execute JavaScript, so cannot detect dynamically-applied responsive styles","Cannot measure actual rendering performance or Core Web Vitals","Button size detection requires CSS parsing and may miss dynamically-sized elements","Does not validate touch interaction responsiveness (only static dimensions)","No support for testing on actual mobile devices or emulators"],"requires":["HTTP/HTTPS access to destination URLs","HTML and CSS parsing libraries","JavaScript disabled or static analysis only"],"input_types":["text (single URL)","structured data (JSON array of URLs)"],"output_types":["structured data (JSON object with viewport_config, responsive_issues, font_sizes, button_dimensions, recommendations)"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_missinglinkz-missing-linkz__cap_4","uri":"capability://automation.workflow.unified.preflight.validation.orchestration","name":"unified preflight validation orchestration","description":"Orchestrates all validation capabilities (redirect resolution, OG/Twitter metadata extraction, mobile readiness assessment) in a single CLI command, executing them in parallel or sequence based on configuration. Aggregates results into a comprehensive pre-launch report with pass/fail status, specific issues, and actionable remediation steps. Supports configuration files for reusable validation profiles.","intents":["I need to run a complete pre-launch validation on all campaign links in one command without running separate tools","I want a single report showing all issues (broken redirects, missing metadata, mobile problems) across all campaign variants","I need to enforce validation standards across my team by defining reusable validation profiles"],"best_for":["marketing teams with complex multi-channel campaigns requiring comprehensive validation","DevOps engineers integrating campaign validation into CI/CD pipelines","QA teams establishing pre-launch checklists and validation standards"],"limitations":["Parallel execution may be rate-limited by destination servers (no built-in backoff)","Configuration file format may not support all validation edge cases","No built-in reporting to external systems (Slack, Jira, etc.) — requires post-processing","Validation order is fixed; cannot customize execution sequence per campaign type","No support for conditional validation (e.g., skip mobile check for desktop-only campaigns)"],"requires":["Node.js 14+ or CLI environment","Configuration file (YAML or JSON) for validation profiles","Network access to all destination URLs"],"input_types":["text (single URL or comma-separated list)","structured data (JSON array of URLs with metadata)","configuration file (YAML/JSON with validation rules)"],"output_types":["structured data (comprehensive JSON report with all validation results)","text (human-readable CLI output with color-coded status)","file (exportable report in JSON or CSV format)"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_missinglinkz-missing-linkz__cap_5","uri":"capability://tool.use.integration.mcp.model.context.protocol.server.integration.for.ai.assisted.campaign.validation","name":"mcp (model context protocol) server integration for ai-assisted campaign validation","description":"Exposes campaign link building and validation capabilities as MCP server resources and tools, allowing AI agents and LLM-powered applications to programmatically generate UTM links, validate destinations, and inspect metadata. Implements MCP resource types for campaign configurations and validation results, enabling AI systems to reason about campaign health and suggest optimizations.","intents":["I want an AI agent to automatically validate all campaign links and report issues without manual intervention","I need Claude or another LLM to suggest campaign optimizations based on validation results","I want to integrate campaign validation into an AI-powered marketing assistant"],"best_for":["AI/LLM application developers building marketing automation agents","teams using Claude or other LLMs for campaign planning and optimization","developers building AI-powered marketing tools that need campaign validation"],"limitations":["MCP server must be running separately; no built-in process management","LLM context window may be exceeded with large validation reports (100+ URLs)","No built-in authentication for MCP server; requires external security layer","AI agents may misinterpret validation results or suggest incorrect remediation","Requires MCP client implementation (not all LLM platforms support MCP)"],"requires":["MCP client implementation (Claude Desktop, custom LLM application, etc.)","Node.js 14+ for running MCP server","Network connectivity between MCP client and server"],"input_types":["MCP resource requests (campaign configurations, URLs)","MCP tool calls (validate_links, build_utm_links, inspect_metadata)"],"output_types":["MCP resources (validation results, campaign metadata)","MCP tool results (structured validation reports)"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":28,"verified":false,"data_access_risk":"high","permissions":["Node.js 14+ or CLI environment","Base URL as input (http:// or https://)","Network access to destination URLs","HTTP/HTTPS protocol support","Configurable timeout (default likely 5-10 seconds)","HTTP/HTTPS access to destination URLs","HTML parsing library (likely cheerio or jsdom)","Image dimension validation library (likely sharp or similar)","HTML and CSS parsing libraries","JavaScript disabled or static analysis only"],"failure_modes":["No built-in parameter validation against Google Analytics 4 reserved parameters","Does not deduplicate identical links across batches","No support for custom URL shortening integrations (bit.ly, TinyURL, etc.)","Does not handle JavaScript-based redirects (client-side navigation)","Cannot validate redirects behind authentication or paywalls","Timeout defaults may be too aggressive for slow CDNs or regional endpoints","Does not distinguish between intentional redirects (e.g., link shorteners) and unintended ones","Does not validate dynamically-rendered OG tags (requires JavaScript execution)","Cannot check og:image accessibility if images are behind authentication","Does not validate og:video or og:audio tags","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.37,"ecosystem":0.48999999999999994,"match_graph":0.25,"freshness":0.5,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.28,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:27.442Z","last_scraped_at":"2026-05-03T15:19:22.208Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=missinglinkz-missing-linkz","compare_url":"https://unfragile.ai/compare?artifact=missinglinkz-missing-linkz"}},"signature":"ZXtUt4RJz3y5PPYgq7LeoOn6KVoryMfXH4EsIurIIiFuXIQtN7lec/WyWr/y7WGUG26O4/L5gSl1TlXfLn1IDg==","signedAt":"2026-06-22T09:29:18.265Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/missinglinkz-missing-linkz","artifact":"https://unfragile.ai/missinglinkz-missing-linkz","verify":"https://unfragile.ai/api/v1/verify?slug=missinglinkz-missing-linkz","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}