{"schema_version":"verify.compare.v1","generated_at":"2026-08-16T05:53:32.898984+00:00","count":1,"missing_servers":[],"results":[{"server_id":"ai.memestack/mcp","display_name":"MemeStack","profile_url":"https://verify.sentinelsignal.io/servers/ai.memestack/mcp","compare_url":"https://verify.sentinelsignal.io/compare?server=ai.memestack%2Fmcp","trust_summary_url":"https://verify.sentinelsignal.io/v1/servers/ai.memestack/mcp/trust-summary","claimed":false,"verified_publisher":false,"claim_status":"unclaimed","badge_url":"https://verify.sentinelsignal.io/badge/ai.memestack/mcp.svg","report_url":"https://verify.sentinelsignal.io/v1/servers/ai.memestack/mcp/report","policy_url":"https://verify.sentinelsignal.io/v1/servers/ai.memestack/mcp/policy","evidence_url":"https://verify.sentinelsignal.io/api/v1/servers/ai.memestack/mcp/evidence","commerce_signal":null,"payment_capable":null,"delegation_level":null,"risk_flags":[],"strengths":["report_available","policy_available","badge_available"],"limitations":["unclaimed_profile","publisher_not_verified"],"last_seen":null,"last_scored":"2026-08-16T03:58:33.385613+00:00","recommended_agent_action":"allow_with_policy_review","observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"}}],"servers":[{"namespace":"ai.memestack","name":"mcp","title":"MemeStack","description":"Search and browse a curated gallery of memes, infographics, and visual content.","homepage_url":null,"docs_url":null,"icon_url":null,"support_url":null,"remote_url":"https://mcp.memestack.ai/mcp","server_card_url":null,"latest_version":"1.0.0","current_status":"healthy","current_score":64.58,"transport_type":"streamable-http","has_oauth":false,"has_dcr":false,"has_prompts":true,"tool_count":20,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-08-16T03:58:33.385613+00:00","registry_source":"official_registry","registry_identifier":"ai.memestack/mcp","canonical_identifier":null,"current_score_components":{"auth_operability_score":2.0,"error_contract_score":0.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":3.0,"backward_compatibility_score":4.0,"slo_health_score":4.0,"security_hygiene_score":1.0,"task_success_score":4.0,"trust_confidence_score":4.0,"abuse_noise_ratio_score":4.0,"prompt_contract_score":3.0,"resource_contract_score":4.0,"discovery_metadata_score":1.0,"registry_consistency_score":2.0,"installability_score":4.0,"session_semantics_score":4.0,"tool_surface_design_score":4.0,"result_shape_stability_score":4.0,"oauth_interop_score":0.0,"recovery_semantics_score":0.0,"maintenance_signal_score":4.0,"adoption_signal_score":3.0,"freshness_confidence_score":4.0,"transport_fidelity_score":4.0,"spec_recency_score":3.0,"session_resume_score":3.0,"step_up_auth_score":0.0,"transport_compliance_score":0.0,"utility_coverage_score":0.0,"advanced_capability_coverage_score":1.0,"connector_publishability_score":2.0,"tool_snapshot_churn_score":4.0,"connector_replay_score":4.0,"request_association_score":0.0,"interactive_flow_safety_score":0.0,"action_safety_score":3.0,"official_registry_presence_score":4.0,"safety_transparency_score":2.0,"tool_capability_clarity_score":4.0,"destructive_operation_safety_score":3.0,"egress_ssrf_resilience_score":1.0,"execution_sandbox_safety_score":4.0,"data_exfiltration_resilience_score":3.0,"least_privilege_scope_score":3.0,"secret_handling_hygiene_score":3.0,"dependency_supply_chain_signal_score":1.0,"input_sanitization_safety_score":3.0,"tool_namespace_clarity_score":4.0},"capability_taxonomy":[],"machine_summary":{},"taxonomy_tags":[],"score_decomposition":[],"validation_diff":null,"tool_snapshot_diff":null,"connector_replay":{},"request_association":{},"production_readiness":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use.","badge":"score-medium","critical_alerts":0,"high_or_critical_alerts":0,"degraded_by_active_alerts":false},"recommended_for":[],"history_summary":{},"validation_timeline":[],"evidence_confidence":{"score":100.0,"label":"high","reason":"Based on 20 recent validations, 17 captured checks, and validation age of 1.9 hours.","live_check_count":17,"validation_age_hours":1.92,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":17,"validation_age_hours":1.92,"freshness_threshold_hours":24}},"incident_feed":[],"disputes":[],"remediations":[],"client_remediation_modes":[],"client_profiles":[],"client_readiness_verdicts":[],"publishability_policy_profiles":[],"compatibility_fixtures":[],"install_snippets":{},"aliases":[],"raw_evidence":{"checks":{"probe_noise_resilience":{"status":"ok","latency_ms":171.48,"details":{"url":"https://mcp.memestack.ai/robots.txt","http_status":200,"headers":{"content-type":"text/plain; charset=utf-8"},"validation_disallowed":false,"consent_error":null}},"server_card":{"status":"error","latency_ms":32.59,"details":{"url":"https://mcp.memestack.ai/.well-known/mcp/server-card.json","error":"Client error '404 Not Found' for url 'https://mcp.memestack.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_protected_resource":{"status":"error","latency_ms":77.29,"details":{"url":"https://mcp.memestack.ai/.well-known/oauth-protected-resource","error":"Client error '404 Not Found' for url 'https://mcp.memestack.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_authorization_server":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"openid_configuration":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"initialize":{"status":"ok","latency_ms":42.59,"details":{"url":"https://mcp.memestack.ai/mcp","payload":{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","serverInfo":{"name":"memestack","version":"1.3.0"},"capabilities":{"tools":{},"prompts":{},"resources":{}},"instructions":"MemeStack is a visual search engine for memes, infographics, charts, and screenshots — find \"that one image that explains X\" by describing its meaning, the words inside it, or what it looks like. Every image is AI-captioned, OCR-indexed, and ranked by Lightning zaps.\n\nUse this server when the user wants to find an existing image — a meme, chart, infographic, screenshot, or diagram — by describing its meaning, quoting text printed inside it, or supplying a similar image. Not for stock photography, personal photos, or whole-web reverse image search.\n\nRead the resource memestack://attribution-guide once at session start; every image result carries a ready-to-paste citation block that should be preserved when the image is used."}},"http_status":200,"headers":{"content-type":"application/json"}}},"protocol_version_probe":{"status":"warning","latency_ms":null,"details":{"claimed_version":"2025-06-18","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25","releases_behind":1,"lag_days":160}},"tools_list":{"status":"ok","latency_ms":16.66,"details":{"url":"https://mcp.memestack.ai/mcp","payload":{"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"search_images","description":"Search the MemeStack image gallery. Runs semantic AI and keyword matching in parallel and merges results. Returns images with captions, tags, zap stats, and URLs.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query — combines semantic AI and keyword matching automatically. Alias: `q` (matches the REST API param name)."},"q":{"type":"string","description":"Alias for `query`. Provided so REST-API muscle memory (?q=...) works on the MCP tool too. If both are set, `query` wins."},"tag":{"type":"string","description":"Filter results by a single tag slug (backward compat)"},"tags":{"type":"string","description":"Filter results by multiple tag slugs (comma-separated, AND logic — e.g. \"bitcoin,meme\")"},"limit":{"type":"number","description":"Results per page (1-50, default 10)"},"offset":{"type":"number","description":"Pagination offset (default 0)"},"sort":{"type":"string","enum":["newest","popular","oldest"],"description":"Sort order (default: relevance)"}},"required":["query"]},"annotations":{"title":"Search Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Matching images, best-first."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"total":{"type":"number","description":"Total number of matching images."}},"required":["images","total"],"additionalProperties":true}},{"name":"get_image","description":"Get full metadata for a specific image by ID, including caption, alt text, tags, OCR text, zap stats, and URLs.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Image UUID"}},"required":["id"]},"annotations":{"title":"Get Image Details","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"alt_text":{"type":"string","description":"Accessible alt text."},"text_in_image":{"type":["string","null"],"description":"OCR transcription of any text in the image."},"mime_type":{"type":"string","description":"Image MIME type."},"size":{"type":"number","description":"File size in bytes."},"thumb_width":{"type":"number","description":"Thumbnail width in pixels."},"thumb_height":{"type":"number","description":"Thumbnail height in pixels."},"quality_score":{"type":"number","description":"AI quality score (1-10)."},"updated_at":{"type":"string","description":"ISO 8601 last-updated timestamp."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true}},{"name":"find_similar","description":"Find visually similar images using perceptual hash matching. Returns images that look alike.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Source image UUID"},"limit":{"type":"number","description":"Max results (1-20, default 10)"}},"required":["id"]},"annotations":{"title":"Find Similar Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (compact fields) with a ranking score and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"similarity":{"type":"number","description":"Visual-similarity score (find_similar / reverse_image_search)."},"relevance_score":{"type":"number","description":"Semantic-relevance score (find_related)."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Visually similar images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"count":{"type":"number","description":"Total number of matching images."}},"required":["images","count"],"additionalProperties":true}},{"name":"find_related","description":"Find semantically related images using AI embedding similarity. Returns images with similar meaning/topic.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Source image UUID"},"limit":{"type":"number","description":"Max results (1-20, default 10)"}},"required":["id"]},"annotations":{"title":"Find Related Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (compact fields) with a ranking score and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"similarity":{"type":"number","description":"Visual-similarity score (find_similar / reverse_image_search)."},"relevance_score":{"type":"number","description":"Semantic-relevance score (find_related)."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Semantically related images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"count":{"type":"number","description":"Total number of matching images."}},"required":["images","count"],"additionalProperties":true}},{"name":"browse_images","description":"Browse and filter the image gallery without a search query. Useful for discovering content by tag, trending, or recent uploads.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag slug (e.g. \"bitcoin\", \"meme\")"},"sort":{"type":"string","enum":["newest","popular","oldest","trending"],"description":"Sort order (default: newest)"},"limit":{"type":"number","description":"Results per page (1-50, default 10)"},"offset":{"type":"number","description":"Pagination offset (default 0)"}}},"annotations":{"title":"Browse Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Images in the requested view."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"total":{"type":"number","description":"Total number of matching images."}},"required":["images","total"],"additionalProperties":true}},{"name":"get_user_profile","description":"Get a user's public profile including display name, stats, and avatar info.","inputSchema":{"type":"object","properties":{"identifier":{"type":"string","description":"User public key (hex) or UUID"}},"required":["identifier"]},"annotations":{"title":"Get User Profile","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A public user profile (pubkey and role omitted).","properties":{"id":{"type":"string","description":"User UUID."},"display_name":{"type":["string","null"],"description":"Display name."},"has_avatar":{"type":"boolean","description":"Whether the user has an avatar."},"approved_image_count":{"type":"number","description":"Number of approved uploads."},"created_at":{"type":"string","description":"ISO 8601 account-creation timestamp."}},"additionalProperties":true}},{"name":"get_leaderboard","description":"Get top-ranked images by zaps received, or top zappers by amount zapped, over a time period.","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["images","zappers"],"description":"Leaderboard type"},"period":{"type":"string","enum":["day","week","month","all"],"description":"Time period (default: week)"}},"required":["type"]},"annotations":{"title":"Get Leaderboard","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Leaderboard results — `images` for the images board, `users` for the zappers board.","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Top images (images leaderboard)."},"users":{"type":"array","items":{"type":"object","description":"A public user profile (pubkey and role omitted).","properties":{"id":{"type":"string","description":"User UUID."},"display_name":{"type":["string","null"],"description":"Display name."},"has_avatar":{"type":"boolean","description":"Whether the user has an avatar."},"approved_image_count":{"type":"number","description":"Number of approved uploads."},"created_at":{"type":"string","description":"ISO 8601 account-creation timestamp."}},"additionalProperties":true},"description":"Top zappers (zappers leaderboard)."},"period":{"type":"string","description":"The leaderboard period."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"additionalProperties":true}},{"name":"browse_by_tag","description":"Browse images for a specific tag. Returns the tag profile (description, stats) and optionally a paginated list of images tagged with it.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Tag slug (e.g. \"bitcoin\", \"meme\", \"lightning\")"},"limit":{"type":"number","description":"Images per page (1-50, default 10). When provided, images are included in the response."},"offset":{"type":"number","description":"Pagination offset (default 0)"}},"required":["tag"]},"annotations":{"title":"Browse by Tag","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A tag profile plus its images and combined citations.","properties":{"slug":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Tag display name."},"description":{"type":["string","null"],"description":"Tag description."},"image_count":{"type":"number","description":"Number of images with this tag."},"related_tags":{"type":"array","items":{"type":"string"},"description":"Related tag slugs."},"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Images with this tag."},"total":{"type":"number","description":"Total matching images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["images"],"additionalProperties":true}},{"name":"browse_by_category","description":"Get a category and its featured images. Categories group related tags (e.g. \"charts\", \"memes\", \"lightning-network\").","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Category slug (e.g. \"charts\", \"memes\")"}},"required":["category"]},"annotations":{"title":"Browse by Category","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A category profile plus its featured images and combined citations.","properties":{"slug":{"type":"string","description":"Category slug."},"name":{"type":"string","description":"Category display name."},"description":{"type":["string","null"],"description":"Category description."},"featured_images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Featured images in the category."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["featured_images"],"additionalProperties":true}},{"name":"list_categories","description":"List all available image categories. Use this to discover what categories exist before calling browse_by_category.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"List Categories","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"All content categories.","properties":{"categories":{"type":"array","items":{"type":"object","description":"A content category.","properties":{"slug":{"type":"string","description":"Category slug."},"name":{"type":"string","description":"Display name."},"description":{"type":"string","description":"Category description."},"image_count":{"type":"number","description":"Number of images in the category."}},"additionalProperties":true},"description":"The full category list."}},"additionalProperties":true}},{"name":"get_tag_profile","description":"Get the profile for a tag (description, image count, total zaps, related tags) without fetching any images. Use browse_by_tag to also retrieve images.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Tag slug (e.g. \"bitcoin\", \"meme\")"}},"required":["tag"]},"annotations":{"title":"Get Tag Profile","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A tag profile (description, related tags, stats) without images.","properties":{"slug":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Tag display name."},"description":{"type":["string","null"],"description":"Tag description."},"image_count":{"type":"number","description":"Number of images with this tag."},"related_tags":{"type":"array","items":{"type":"string"},"description":"Related tag slugs."}},"additionalProperties":true}},{"name":"get_mutation_group","description":"Get all variants of a meme template tracked on MemeStack. Returns the dominant image plus every variant in the same mutation group, with citation blocks for each. Use this to research how a meme has evolved or to find variants of a known image.","inputSchema":{"type":"object","properties":{"image_id":{"type":"string","description":"Image UUID"}},"required":["image_id"]},"annotations":{"title":"Get Mutation Group","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A meme-evolution group: the dominant image plus its variants.","properties":{"dominant":{"type":"object","description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"alt_text":{"type":"string","description":"Accessible alt text."},"text_in_image":{"type":["string","null"],"description":"OCR transcription of any text in the image."},"mime_type":{"type":"string","description":"Image MIME type."},"size":{"type":"number","description":"File size in bytes."},"thumb_width":{"type":"number","description":"Thumbnail width in pixels."},"thumb_height":{"type":"number","description":"Thumbnail height in pixels."},"quality_score":{"type":"number","description":"AI quality score (1-10)."},"updated_at":{"type":"string","description":"ISO 8601 last-updated timestamp."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"variants":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Variant images in the group."},"total_variants":{"type":"number","description":"Number of variants."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["dominant","variants"],"additionalProperties":true}},{"name":"search_text_in_image","description":"Search for images by the text written or printed in them (OCR). Different from regular search — only matches the text_in_image field, not captions or tags. Use this to find screenshots of specific quotes, signs, watermarks, or memes with specific embedded text.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Text to search for in image OCR"},"limit":{"type":"number","description":"Results per page (1-50, default 10)"},"offset":{"type":"number","description":"Pagination offset"}},"required":["query"]},"annotations":{"title":"Search OCR Text","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Images whose OCR text matched."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"total":{"type":"number","description":"Total number of matching images."}},"required":["images","total"],"additionalProperties":true}},{"name":"find_meme_for_text","description":"Find a meme that captures a vibe, idea, or concept. Returns ready-to-embed images with citation blocks. Use this when writing posts, articles, or social content and you need a meme to illustrate a point.","inputSchema":{"type":"object","properties":{"vibe":{"type":"string","description":"The vibe, topic, or idea you want a meme for"},"limit":{"type":"number","description":"How many memes to return (1-20, default 5)"}},"required":["vibe"]},"annotations":{"title":"Find Meme For Text","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Memes that capture the requested vibe."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["images"],"additionalProperties":true}},{"name":"popular_tags","description":"List the most-used tags on MemeStack by all-time usage count. (Time-period filtering is not yet supported — tag usage is currently counted across the full lifetime of each tag.)","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"How many tags to return (1-100, default 20)"}}},"annotations":{"title":"Popular Tags","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"The most-used tags by image count.","properties":{"tags":{"type":"array","items":{"type":"object","description":"A tag with usage stats.","properties":{"tag":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Display name."},"usage_count":{"type":"number","description":"Number of images using this tag."}},"additionalProperties":true},"description":"Tags ordered by usage."}},"additionalProperties":true}},{"name":"tag_autocomplete","description":"Suggest tag slugs matching a prefix. Use this to verify a tag exists before filtering by it, or to discover related tags. Prefix must be ≥ 2 characters.","inputSchema":{"type":"object","properties":{"prefix":{"type":"string","minLength":2,"description":"Tag prefix to autocomplete (≥ 2 characters), e.g. \"bit\" → \"bitcoin\"."},"limit":{"type":"number","description":"Max suggestions (1-50, default 10)"}},"required":["prefix"]},"annotations":{"title":"Tag Autocomplete","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Tag suggestions for a prefix.","properties":{"tags":{"type":"array","items":{"type":"object","description":"A tag with usage stats.","properties":{"tag":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Display name."},"usage_count":{"type":"number","description":"Number of images using this tag."}},"additionalProperties":true},"description":"Suggested tags matching the prefix."}},"additionalProperties":true}},{"name":"cite_image","description":"Generate canonical attribution blocks for one or more MemeStack images. Returns markdown, HTML, and plain-text citation strings ready to paste into your output, plus a combined block for citing multiple images at once.","inputSchema":{"type":"object","properties":{"image_ids":{"type":"array","items":{"type":"string"},"description":"Up to 50 image UUIDs","minItems":1,"maxItems":50}},"required":["image_ids"]},"annotations":{"title":"Cite Image","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Per-image and combined citations for the requested image IDs.","properties":{"citations":{"type":"array","description":"One citation per resolved image ID.","items":{"type":"object","properties":{"id":{"type":"string","description":"Image UUID."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["id","markdown","html","plain"],"additionalProperties":true}},"combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"missing_ids":{"type":"array","items":{"type":"string"},"description":"Requested IDs that could not be resolved."}},"required":["citations","combined","missing_ids"],"additionalProperties":true}},{"name":"reverse_image_search","description":"Find MemeStack images that look visually similar to a given image. Accepts an HTTPS image URL or a `data:image/...;base64,...` URL for bytes pasted into agent context. Returns visually-similar matches via perceptual-hash (dHash) hamming distance, with citation blocks. Heavily rate-limited (10/min/IP) since each call hashes the input.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"HTTPS image URL, or data:image/(jpeg|png|webp);base64,... URL"},"limit":{"type":"number","description":"Max results (1-20, default 10)"}},"required":["url"]},"annotations":{"title":"Reverse Image Search","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Visually similar gallery images for the input image, plus input metadata.","properties":{"similar":{"type":"array","items":{"type":"object","description":"A gallery image (compact fields) with a ranking score and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"similarity":{"type":"number","description":"Visual-similarity score (find_similar / reverse_image_search)."},"relevance_score":{"type":"number","description":"Semantic-relevance score (find_related)."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Visually similar images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"input_meta":{"type":"object","description":"Computed metadata for the input image.","properties":{"phash":{"type":"string","description":"Perceptual hash of the input."},"size_bytes":{"type":"number","description":"Input size in bytes."},"mime_type":{"type":"string","description":"Input MIME type."}},"additionalProperties":true}},"required":["similar"],"additionalProperties":true}},{"name":"submit_image","description":"Submit an image to the MemeStack review queue. Paid tool — 100 sats (or USDC equivalent) per submission via the agent payment rails (x402/L402); no account or API key. IMPORTANT: there is NO refund if moderation rejects the submission (duplicate, nsfw/spam, low quality) — the fee is the anti-spam mechanism. Accepted images await human review before publication. Accepts an HTTPS image URL or a data:image/...;base64 URL (JPEG/PNG/WebP, max 8MB). Optional caption/tags/attribution are hints shown to the AI tagger and moderators — never published verbatim. If the call fails or times out, retry with the SAME payment proof to resume — one payment delivers at most one submission and is never charged twice (up to 10 delivery attempts per payment; a corrected image_url is allowed while no submission has been created yet). Note for x402 clients: 100 sats exceeds the agents-SDK default per-call cap of $0.10 whenever BTC trades above $100k — raise maxPaymentValue in withX402Client if payment is refused client-side.","_meta":{"agents-x402/paymentRequired":true},"inputSchema":{"type":"object","properties":{"image_url":{"type":"string","description":"HTTPS image URL, or data:image/(jpeg|png|webp);base64,... URL. Max 8MB."},"caption":{"type":"string","maxLength":200,"description":"Optional caption hint for the AI tagger (admin-visible, never published verbatim)."},"tags":{"type":"array","items":{"type":"string","maxLength":40},"maxItems":10,"description":"Optional tag hints (max 10)."},"attribution":{"type":"string","maxLength":200,"description":"Optional credit line for the original creator/source (shown to moderators, not published)."}},"required":["image_url"]},"annotations":{"title":"Submit Image","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Outcome of a paid submit_image call: accepted into the human review queue.","properties":{"image_id":{"type":"string","description":"UUID of the submitted image."},"status":{"type":"string","description":"Always 'pending_review' on success — accepted, awaiting human moderation."},"page_url":{"type":"string","description":"Gallery URL where the image will be published if approved."}},"required":["image_id","status"],"additionalProperties":true}},{"name":"generate_meme","description":"Generate a new image from a text prompt using AI (Grok Imagine). Paid tool — billed per call via the agent payment rails (x402/L402); not covered by any free quota. Generation runs asynchronously on the server and this call polls until it completes, up to ~90 seconds. If you get a \"still running\" error, call the tool again with the SAME payment proof to resume polling — you will never be charged twice for one payment. Note for x402 clients: \"quality\" mode (~$0.15) exceeds the agents-SDK default per-call cap of $0.10 — raise maxPaymentValue in withX402Client to use it.","_meta":{"agents-x402/paymentRequired":true},"inputSchema":{"type":"object","properties":{"prompt":{"type":"string","maxLength":2000,"description":"Text description of the image to generate (max 2000 characters)."},"mode":{"type":"string","enum":["standard","quality"],"description":"Generation quality tier — \"standard\" (default, cheaper) or \"quality\" (higher fidelity, costs more)."},"aspect_ratio":{"type":"string","enum":["1:1","3:4","16:9"],"description":"Output image aspect ratio (default \"1:1\")."}},"required":["prompt"]},"annotations":{"title":"Generate Meme","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"The AI-generated image produced by a paid generate_meme call.","properties":{"image_id":{"type":"string","description":"UUID of the generated image."},"url":{"type":"string","description":"MemeStack gallery page URL for the generated image."},"image_url":{"type":"string","description":"Direct serve URL for the full generated image bytes."},"thumbnail_url":{"type":"string","description":"Thumbnail URL for the generated image."},"caption":{"type":["string","null"],"description":"AI-generated caption for the image."},"tags":{"type":"array","items":{"type":"object"},"description":"Scored tags assigned to the generated image."}},"required":["image_id","url","image_url","thumbnail_url"],"additionalProperties":true}}]}},"http_status":200,"headers":{"content-type":"application/json"}}},"prompts_list":{"status":"ok","latency_ms":15.95,"details":{"url":"https://mcp.memestack.ai/mcp","payload":{"jsonrpc":"2.0","id":3,"result":{"prompts":[{"name":"search_memes","description":"Search MemeStack for memes, infographics, or visual content on any topic.","arguments":[{"name":"topic","description":"What to search for (e.g., \"Bitcoin inflation\", \"Pepe frog\")","required":true}]},{"name":"trending_images","description":"See what images are trending on MemeStack right now."},{"name":"top_zapped","description":"Find the most zapped (tipped with Lightning sats) images over a time period.","arguments":[{"name":"period","description":"Time period: day, week, month, or all (default: week)","required":false}]},{"name":"cite_this_meme","description":"Generate canonical attribution markdown for a MemeStack image.","arguments":[{"name":"image_id","description":"Image UUID","required":true}]},{"name":"find_a_meme_for_vibe","description":"Find memes that capture a vibe/idea, ready to embed with attribution.","arguments":[{"name":"vibe","description":"The vibe, idea, or concept","required":true},{"name":"count","description":"How many to return (default 3)","required":false}]},{"name":"research_meme_evolution","description":"Research how a meme has evolved on MemeStack via mutation groups.","arguments":[{"name":"meme_or_template","description":"Image UUID or meme template slug","required":true}]}]}},"http_status":200,"headers":{"content-type":"application/json"}}},"prompt_get":{"status":"ok","latency_ms":13.85,"details":{"url":"https://mcp.memestack.ai/mcp","payload":{"jsonrpc":"2.0","id":4,"result":{"messages":[{"role":"user","content":{"type":"text","text":"Search MemeStack for images about: popular memes. Use the search_images tool with a semantic search query."}}]}},"http_status":200,"headers":{"content-type":"application/json"},"prompt_name":"search_memes","prompt_arguments":[{"name":"topic","description":"What to search for (e.g., \"Bitcoin inflation\", \"Pepe frog\")","required":true}]}},"resources_list":{"status":"ok","latency_ms":12.51,"details":{"url":"https://mcp.memestack.ai/mcp","payload":{"jsonrpc":"2.0","id":5,"result":{"resources":[{"uri":"memestack://attribution-guide","name":"MemeStack Attribution Guide","description":"How to cite MemeStack images: license model, recommended formats, per-source rules. Read this once at session start.","mimeType":"text/markdown"},{"uri":"memestack://taxonomy","name":"MemeStack Tag Taxonomy","description":"Full category → tag tree with image counts. Cached 1 hour.","mimeType":"application/json"},{"uri":"memestack://recent","name":"Recently Added Images","description":"Last 50 approved images with citation blocks, newest first. Cached 60s.","mimeType":"application/json"}]}},"http_status":200,"headers":{"content-type":"application/json"}}},"resource_read":{"status":"ok","latency_ms":11.23,"details":{"url":"https://mcp.memestack.ai/mcp","payload":{"jsonrpc":"2.0","id":6,"result":{"contents":[{"uri":"memestack://attribution-guide","mimeType":"text/markdown","text":"# How to Cite MemeStack Images\n\nWhen using images from MemeStack in your output, please include the attribution block we provide. Every image in our MCP responses ships with three pre-rendered variants — `markdown`, `html`, and `plain` — under the `citation` field. Paste the variant that matches your output context.\n\n## Recommended formats\n\n### Markdown (chat agents, blog posts, GitHub)\n```markdown\n![A funny meme](https://api.memestack.ai/v1/images/{id}/thumbnail) — uploaded by satoshi on [MemeStack](https://memestack.ai/gallery/{id})\n```\n\n### HTML (web embeds)\n```html\n<img src=\"...\" alt=\"...\"> — uploaded by satoshi on <a href=\"...\">MemeStack</a>\n```\n\n### Plain text (voice, captions, transcripts)\n```\nA funny meme — uploaded by satoshi on MemeStack (https://memestack.ai/gallery/{id})\n```\n\n## When attribution is required vs recommended\n\n- **Required (`attribution_required: true`)**:\n  - Images sourced from CC-BY-licensed origins (currently Our World in Data). The license obligates attribution; please use the supplied citation as-is.\n  - Images by verified Creators (attribution_required: true, with a profile backlink).\n- **Recommended (`attribution_recommended: true`, always true)**: All other images. Attribution is appreciated and helps creators / sources get credit, but you are not legally required to include it.\n\n## Per-source rules\n\n| Source | Suffix format |\n|---|---|\n| Direct user upload | `uploaded by {display_name} on MemeStack` (or `via MemeStack` if no display name) |\n| Verified Creator upload | `by [{display_name}]({profile_url}) on MemeStack` (attribution required) |\n| Our World in Data | `Source: Our World in Data ({source_url}) (CC-BY 4.0); via MemeStack` |\n| Imgflip template | `Template via Imgflip; assembled on MemeStack` |\n| 4chan archive | `via MemeStack` (no per-source credit; 4chan content is anonymous) |\n| Telegram bot upload | `uploaded by {display_name} via Telegram on MemeStack` |\n| AI-generated (Grok) | `AI-generated via MemeStack (Grok)` (no upstream license; label as AI-generated) |\n| External / unknown source (non-null `source_url` with no registered prefix) | `external source via MemeStack` (no uploader credit; MemeStack does NOT assert ownership) |\n\n## Best practices for AI agents\n\n1. **Use the supplied `citation.markdown` verbatim** when emitting markdown output.\n2. **For multiple images, use the response's `citations_combined.markdown`** — it's a numbered list that pastes cleanly as a footer.\n3. **Always include the `page_url`** even if you don't include the rest. The page URL (`memestack.ai/gallery/{id}`) is the canonical reference.\n4. **Don't synthesize your own citation format** — even if it looks similar, sites that count backlinks may not parse paraphrased URLs correctly. Just paste ours.\n5. **Don't strip the thumbnail URL** when emitting markdown to chat agents. Most chat UIs render the image inline, which is the actual value to the user.\n\n## Tier notes\n\nThe MCP server has a tier model (`free`, `authenticated`, `pay_per_call`, `enterprise`). Today every tool is `tier: 'free'` except `submit_image` (which is `enterprise` and rejects). When the paid agent tier ships, this guide will be updated.\n"}]}},"http_status":200,"headers":{"content-type":"application/json"},"resource_uri":"memestack://attribution-guide"}},"determinism_probe":{"status":"ok","latency_ms":15.71,"details":{"attempts":2,"successful":2,"matches":2,"stable_ratio":1.0,"baseline_signature":"60d4ca23df00e50ce9011f7fb8bf40d0c7e494f4870385fbbeac559aaf833f77","errors":[]}},"instruction_tool_reference_probe":{"status":"warning","latency_ms":null,"details":{"referenced_tools":["this"],"missing_tools":["this"],"observed_tool_count":20}},"session_resume_probe":{"status":"warning","latency_ms":null,"details":{"reason":"no_session_id","transport":"streamable-http","resume_expected":true,"protocol_version":"2025-06-18"}},"step_up_auth_probe":{"status":"missing","latency_ms":null,"details":{"oauth_present":false,"auth_required_checks":[],"supported_scopes":[],"scope_specificity_ratio":0.0,"broad_scopes":[],"challenge_headers":[],"step_up_signals":[],"minimal_scope_documented":false}},"transport_compliance_probe":{"status":"error","latency_ms":19.6,"details":{"transport":"streamable-http","session_id_present":false,"protocol_header_present":false,"last_event_id_visible":false,"requested_protocol_version":"2025-06-18","bad_protocol_status_code":200,"bad_protocol_payload":{"jsonrpc":"2.0","id":410,"result":{"tools":[{"name":"search_images","description":"Search the MemeStack image gallery. Runs semantic AI and keyword matching in parallel and merges results. Returns images with captions, tags, zap stats, and URLs.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query — combines semantic AI and keyword matching automatically. Alias: `q` (matches the REST API param name)."},"q":{"type":"string","description":"Alias for `query`. Provided so REST-API muscle memory (?q=...) works on the MCP tool too. If both are set, `query` wins."},"tag":{"type":"string","description":"Filter results by a single tag slug (backward compat)"},"tags":{"type":"string","description":"Filter results by multiple tag slugs (comma-separated, AND logic — e.g. \"bitcoin,meme\")"},"limit":{"type":"number","description":"Results per page (1-50, default 10)"},"offset":{"type":"number","description":"Pagination offset (default 0)"},"sort":{"type":"string","enum":["newest","popular","oldest"],"description":"Sort order (default: relevance)"}},"required":["query"]},"annotations":{"title":"Search Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Matching images, best-first."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"total":{"type":"number","description":"Total number of matching images."}},"required":["images","total"],"additionalProperties":true}},{"name":"get_image","description":"Get full metadata for a specific image by ID, including caption, alt text, tags, OCR text, zap stats, and URLs.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Image UUID"}},"required":["id"]},"annotations":{"title":"Get Image Details","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"alt_text":{"type":"string","description":"Accessible alt text."},"text_in_image":{"type":["string","null"],"description":"OCR transcription of any text in the image."},"mime_type":{"type":"string","description":"Image MIME type."},"size":{"type":"number","description":"File size in bytes."},"thumb_width":{"type":"number","description":"Thumbnail width in pixels."},"thumb_height":{"type":"number","description":"Thumbnail height in pixels."},"quality_score":{"type":"number","description":"AI quality score (1-10)."},"updated_at":{"type":"string","description":"ISO 8601 last-updated timestamp."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true}},{"name":"find_similar","description":"Find visually similar images using perceptual hash matching. Returns images that look alike.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Source image UUID"},"limit":{"type":"number","description":"Max results (1-20, default 10)"}},"required":["id"]},"annotations":{"title":"Find Similar Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (compact fields) with a ranking score and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"similarity":{"type":"number","description":"Visual-similarity score (find_similar / reverse_image_search)."},"relevance_score":{"type":"number","description":"Semantic-relevance score (find_related)."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Visually similar images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"count":{"type":"number","description":"Total number of matching images."}},"required":["images","count"],"additionalProperties":true}},{"name":"find_related","description":"Find semantically related images using AI embedding similarity. Returns images with similar meaning/topic.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Source image UUID"},"limit":{"type":"number","description":"Max results (1-20, default 10)"}},"required":["id"]},"annotations":{"title":"Find Related Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (compact fields) with a ranking score and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"similarity":{"type":"number","description":"Visual-similarity score (find_similar / reverse_image_search)."},"relevance_score":{"type":"number","description":"Semantic-relevance score (find_related)."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Semantically related images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"count":{"type":"number","description":"Total number of matching images."}},"required":["images","count"],"additionalProperties":true}},{"name":"browse_images","description":"Browse and filter the image gallery without a search query. Useful for discovering content by tag, trending, or recent uploads.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag slug (e.g. \"bitcoin\", \"meme\")"},"sort":{"type":"string","enum":["newest","popular","oldest","trending"],"description":"Sort order (default: newest)"},"limit":{"type":"number","description":"Results per page (1-50, default 10)"},"offset":{"type":"number","description":"Pagination offset (default 0)"}}},"annotations":{"title":"Browse Images","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Images in the requested view."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"total":{"type":"number","description":"Total number of matching images."}},"required":["images","total"],"additionalProperties":true}},{"name":"get_user_profile","description":"Get a user's public profile including display name, stats, and avatar info.","inputSchema":{"type":"object","properties":{"identifier":{"type":"string","description":"User public key (hex) or UUID"}},"required":["identifier"]},"annotations":{"title":"Get User Profile","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A public user profile (pubkey and role omitted).","properties":{"id":{"type":"string","description":"User UUID."},"display_name":{"type":["string","null"],"description":"Display name."},"has_avatar":{"type":"boolean","description":"Whether the user has an avatar."},"approved_image_count":{"type":"number","description":"Number of approved uploads."},"created_at":{"type":"string","description":"ISO 8601 account-creation timestamp."}},"additionalProperties":true}},{"name":"get_leaderboard","description":"Get top-ranked images by zaps received, or top zappers by amount zapped, over a time period.","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["images","zappers"],"description":"Leaderboard type"},"period":{"type":"string","enum":["day","week","month","all"],"description":"Time period (default: week)"}},"required":["type"]},"annotations":{"title":"Get Leaderboard","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Leaderboard results — `images` for the images board, `users` for the zappers board.","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Top images (images leaderboard)."},"users":{"type":"array","items":{"type":"object","description":"A public user profile (pubkey and role omitted).","properties":{"id":{"type":"string","description":"User UUID."},"display_name":{"type":["string","null"],"description":"Display name."},"has_avatar":{"type":"boolean","description":"Whether the user has an avatar."},"approved_image_count":{"type":"number","description":"Number of approved uploads."},"created_at":{"type":"string","description":"ISO 8601 account-creation timestamp."}},"additionalProperties":true},"description":"Top zappers (zappers leaderboard)."},"period":{"type":"string","description":"The leaderboard period."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"additionalProperties":true}},{"name":"browse_by_tag","description":"Browse images for a specific tag. Returns the tag profile (description, stats) and optionally a paginated list of images tagged with it.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Tag slug (e.g. \"bitcoin\", \"meme\", \"lightning\")"},"limit":{"type":"number","description":"Images per page (1-50, default 10). When provided, images are included in the response."},"offset":{"type":"number","description":"Pagination offset (default 0)"}},"required":["tag"]},"annotations":{"title":"Browse by Tag","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A tag profile plus its images and combined citations.","properties":{"slug":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Tag display name."},"description":{"type":["string","null"],"description":"Tag description."},"image_count":{"type":"number","description":"Number of images with this tag."},"related_tags":{"type":"array","items":{"type":"string"},"description":"Related tag slugs."},"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Images with this tag."},"total":{"type":"number","description":"Total matching images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["images"],"additionalProperties":true}},{"name":"browse_by_category","description":"Get a category and its featured images. Categories group related tags (e.g. \"charts\", \"memes\", \"lightning-network\").","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Category slug (e.g. \"charts\", \"memes\")"}},"required":["category"]},"annotations":{"title":"Browse by Category","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A category profile plus its featured images and combined citations.","properties":{"slug":{"type":"string","description":"Category slug."},"name":{"type":"string","description":"Category display name."},"description":{"type":["string","null"],"description":"Category description."},"featured_images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Featured images in the category."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["featured_images"],"additionalProperties":true}},{"name":"list_categories","description":"List all available image categories. Use this to discover what categories exist before calling browse_by_category.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"List Categories","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"All content categories.","properties":{"categories":{"type":"array","items":{"type":"object","description":"A content category.","properties":{"slug":{"type":"string","description":"Category slug."},"name":{"type":"string","description":"Display name."},"description":{"type":"string","description":"Category description."},"image_count":{"type":"number","description":"Number of images in the category."}},"additionalProperties":true},"description":"The full category list."}},"additionalProperties":true}},{"name":"get_tag_profile","description":"Get the profile for a tag (description, image count, total zaps, related tags) without fetching any images. Use browse_by_tag to also retrieve images.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Tag slug (e.g. \"bitcoin\", \"meme\")"}},"required":["tag"]},"annotations":{"title":"Get Tag Profile","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A tag profile (description, related tags, stats) without images.","properties":{"slug":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Tag display name."},"description":{"type":["string","null"],"description":"Tag description."},"image_count":{"type":"number","description":"Number of images with this tag."},"related_tags":{"type":"array","items":{"type":"string"},"description":"Related tag slugs."}},"additionalProperties":true}},{"name":"get_mutation_group","description":"Get all variants of a meme template tracked on MemeStack. Returns the dominant image plus every variant in the same mutation group, with citation blocks for each. Use this to research how a meme has evolved or to find variants of a known image.","inputSchema":{"type":"object","properties":{"image_id":{"type":"string","description":"Image UUID"}},"required":["image_id"]},"annotations":{"title":"Get Mutation Group","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"A meme-evolution group: the dominant image plus its variants.","properties":{"dominant":{"type":"object","description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"alt_text":{"type":"string","description":"Accessible alt text."},"text_in_image":{"type":["string","null"],"description":"OCR transcription of any text in the image."},"mime_type":{"type":"string","description":"Image MIME type."},"size":{"type":"number","description":"File size in bytes."},"thumb_width":{"type":"number","description":"Thumbnail width in pixels."},"thumb_height":{"type":"number","description":"Thumbnail height in pixels."},"quality_score":{"type":"number","description":"AI quality score (1-10)."},"updated_at":{"type":"string","description":"ISO 8601 last-updated timestamp."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"variants":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Variant images in the group."},"total_variants":{"type":"number","description":"Number of variants."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["dominant","variants"],"additionalProperties":true}},{"name":"search_text_in_image","description":"Search for images by the text written or printed in them (OCR). Different from regular search — only matches the text_in_image field, not captions or tags. Use this to find screenshots of specific quotes, signs, watermarks, or memes with specific embedded text.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Text to search for in image OCR"},"limit":{"type":"number","description":"Results per page (1-50, default 10)"},"offset":{"type":"number","description":"Pagination offset"}},"required":["query"]},"annotations":{"title":"Search OCR Text","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Images whose OCR text matched."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"total":{"type":"number","description":"Total number of matching images."}},"required":["images","total"],"additionalProperties":true}},{"name":"find_meme_for_text","description":"Find a meme that captures a vibe, idea, or concept. Returns ready-to-embed images with citation blocks. Use this when writing posts, articles, or social content and you need a meme to illustrate a point.","inputSchema":{"type":"object","properties":{"vibe":{"type":"string","description":"The vibe, topic, or idea you want a meme for"},"limit":{"type":"number","description":"How many memes to return (1-20, default 5)"}},"required":["vibe"]},"annotations":{"title":"Find Meme For Text","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"object","description":"A gallery image (lean list fields) with attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Memes that capture the requested vibe."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false}},"required":["images"],"additionalProperties":true}},{"name":"popular_tags","description":"List the most-used tags on MemeStack by all-time usage count. (Time-period filtering is not yet supported — tag usage is currently counted across the full lifetime of each tag.)","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"How many tags to return (1-100, default 20)"}}},"annotations":{"title":"Popular Tags","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"The most-used tags by image count.","properties":{"tags":{"type":"array","items":{"type":"object","description":"A tag with usage stats.","properties":{"tag":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Display name."},"usage_count":{"type":"number","description":"Number of images using this tag."}},"additionalProperties":true},"description":"Tags ordered by usage."}},"additionalProperties":true}},{"name":"tag_autocomplete","description":"Suggest tag slugs matching a prefix. Use this to verify a tag exists before filtering by it, or to discover related tags. Prefix must be ≥ 2 characters.","inputSchema":{"type":"object","properties":{"prefix":{"type":"string","minLength":2,"description":"Tag prefix to autocomplete (≥ 2 characters), e.g. \"bit\" → \"bitcoin\"."},"limit":{"type":"number","description":"Max suggestions (1-50, default 10)"}},"required":["prefix"]},"annotations":{"title":"Tag Autocomplete","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Tag suggestions for a prefix.","properties":{"tags":{"type":"array","items":{"type":"object","description":"A tag with usage stats.","properties":{"tag":{"type":"string","description":"Tag slug."},"name":{"type":"string","description":"Display name."},"usage_count":{"type":"number","description":"Number of images using this tag."}},"additionalProperties":true},"description":"Suggested tags matching the prefix."}},"additionalProperties":true}},{"name":"cite_image","description":"Generate canonical attribution blocks for one or more MemeStack images. Returns markdown, HTML, and plain-text citation strings ready to paste into your output, plus a combined block for citing multiple images at once.","inputSchema":{"type":"object","properties":{"image_ids":{"type":"array","items":{"type":"string"},"description":"Up to 50 image UUIDs","minItems":1,"maxItems":50}},"required":["image_ids"]},"annotations":{"title":"Cite Image","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Per-image and combined citations for the requested image IDs.","properties":{"citations":{"type":"array","description":"One citation per resolved image ID.","items":{"type":"object","properties":{"id":{"type":"string","description":"Image UUID."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["id","markdown","html","plain"],"additionalProperties":true}},"combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"missing_ids":{"type":"array","items":{"type":"string"},"description":"Requested IDs that could not be resolved."}},"required":["citations","combined","missing_ids"],"additionalProperties":true}},{"name":"reverse_image_search","description":"Find MemeStack images that look visually similar to a given image. Accepts an HTTPS image URL or a `data:image/...;base64,...` URL for bytes pasted into agent context. Returns visually-similar matches via perceptual-hash (dHash) hamming distance, with citation blocks. Heavily rate-limited (10/min/IP) since each call hashes the input.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"HTTPS image URL, or data:image/(jpeg|png|webp);base64,... URL"},"limit":{"type":"number","description":"Max results (1-20, default 10)"}},"required":["url"]},"annotations":{"title":"Reverse Image Search","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Visually similar gallery images for the input image, plus input metadata.","properties":{"similar":{"type":"array","items":{"type":"object","description":"A gallery image (compact fields) with a ranking score and attribution.","properties":{"id":{"type":"string","description":"Image UUID."},"caption":{"type":"string","description":"AI-generated caption."},"meme_template_name":{"type":["string","null"],"description":"Recognised meme template, if any."},"width":{"type":"number","description":"Original width in pixels."},"height":{"type":"number","description":"Original height in pixels."},"zap_count":{"type":"number","description":"Number of Lightning zaps."},"zap_total_sats":{"type":"number","description":"Total sats zapped."},"save_count":{"type":"number","description":"Number of saves."},"like_count":{"type":"number","description":"Number of likes."},"created_at":{"type":"string","description":"ISO 8601 creation timestamp."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null."},"tags":{"type":"array","items":{"type":"string"},"description":"Topic tag slugs."},"free_tags":{"type":"array","items":{"type":"string"},"description":"Free-form tag slugs."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"page_url":{"type":"string","description":"MemeStack gallery page URL."},"citation":{"type":"object","description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"site":{"type":"string","description":"Always \"MemeStack\"."},"site_url":{"type":"string","description":"The MemeStack site URL."},"page_url":{"type":"string","description":"Canonical MemeStack gallery page for the image."},"thumbnail_url":{"type":"string","description":"Thumbnail image URL."},"canonical_url":{"type":"string","description":"Full-resolution image URL."},"uploader_display_name":{"type":["string","null"],"description":"Uploader name, or null when absent/withheld."},"source_origin":{"type":["string","null"],"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null."},"source_external_url":{"type":["string","null"],"description":"External source URL (set only for OWID-sourced images)."},"attribution_required":{"type":"boolean","description":"True only when the license requires attribution (OWID)."},"attribution_recommended":{"type":"boolean","description":"Always true — attribution is recommended."},"markdown":{"type":"string","description":"Attribution as Markdown."},"html":{"type":"string","description":"Attribution as HTML."},"plain":{"type":"string","description":"Attribution as plain text."}},"required":["site","page_url","markdown","html","plain"],"additionalProperties":true},"similarity":{"type":"number","description":"Visual-similarity score (find_similar / reverse_image_search)."},"relevance_score":{"type":"number","description":"Semantic-relevance score (find_related)."}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"additionalProperties":true},"description":"Visually similar images."},"citations_combined":{"type":"object","description":"Combined attribution for all images in this response, in three formats.","properties":{"markdown":{"type":"string","description":"Numbered attribution list as Markdown."},"html":{"type":"string","description":"Numbered attribution list as HTML."},"plain":{"type":"string","description":"Numbered attribution list as plain text."}},"required":["markdown","html","plain"],"additionalProperties":false},"input_meta":{"type":"object","description":"Computed metadata for the input image.","properties":{"phash":{"type":"string","description":"Perceptual hash of the input."},"size_bytes":{"type":"number","description":"Input size in bytes."},"mime_type":{"type":"string","description":"Input MIME type."}},"additionalProperties":true}},"required":["similar"],"additionalProperties":true}},{"name":"submit_image","description":"Submit an image to the MemeStack review queue. Paid tool — 100 sats (or USDC equivalent) per submission via the agent payment rails (x402/L402); no account or API key. IMPORTANT: there is NO refund if moderation rejects the submission (duplicate, nsfw/spam, low quality) — the fee is the anti-spam mechanism. Accepted images await human review before publication. Accepts an HTTPS image URL or a data:image/...;base64 URL (JPEG/PNG/WebP, max 8MB). Optional caption/tags/attribution are hints shown to the AI tagger and moderators — never published verbatim. If the call fails or times out, retry with the SAME payment proof to resume — one payment delivers at most one submission and is never charged twice (up to 10 delivery attempts per payment; a corrected image_url is allowed while no submission has been created yet). Note for x402 clients: 100 sats exceeds the agents-SDK default per-call cap of $0.10 whenever BTC trades above $100k — raise maxPaymentValue in withX402Client if payment is refused client-side.","_meta":{"agents-x402/paymentRequired":true},"inputSchema":{"type":"object","properties":{"image_url":{"type":"string","description":"HTTPS image URL, or data:image/(jpeg|png|webp);base64,... URL. Max 8MB."},"caption":{"type":"string","maxLength":200,"description":"Optional caption hint for the AI tagger (admin-visible, never published verbatim)."},"tags":{"type":"array","items":{"type":"string","maxLength":40},"maxItems":10,"description":"Optional tag hints (max 10)."},"attribution":{"type":"string","maxLength":200,"description":"Optional credit line for the original creator/source (shown to moderators, not published)."}},"required":["image_url"]},"annotations":{"title":"Submit Image","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"Outcome of a paid submit_image call: accepted into the human review queue.","properties":{"image_id":{"type":"string","description":"UUID of the submitted image."},"status":{"type":"string","description":"Always 'pending_review' on success — accepted, awaiting human moderation."},"page_url":{"type":"string","description":"Gallery URL where the image will be published if approved."}},"required":["image_id","status"],"additionalProperties":true}},{"name":"generate_meme","description":"Generate a new image from a text prompt using AI (Grok Imagine). Paid tool — billed per call via the agent payment rails (x402/L402); not covered by any free quota. Generation runs asynchronously on the server and this call polls until it completes, up to ~90 seconds. If you get a \"still running\" error, call the tool again with the SAME payment proof to resume polling — you will never be charged twice for one payment. Note for x402 clients: \"quality\" mode (~$0.15) exceeds the agents-SDK default per-call cap of $0.10 — raise maxPaymentValue in withX402Client to use it.","_meta":{"agents-x402/paymentRequired":true},"inputSchema":{"type":"object","properties":{"prompt":{"type":"string","maxLength":2000,"description":"Text description of the image to generate (max 2000 characters)."},"mode":{"type":"string","enum":["standard","quality"],"description":"Generation quality tier — \"standard\" (default, cheaper) or \"quality\" (higher fidelity, costs more)."},"aspect_ratio":{"type":"string","enum":["1:1","3:4","16:9"],"description":"Output image aspect ratio (default \"1:1\")."}},"required":["prompt"]},"annotations":{"title":"Generate Meme","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"tier":"free"},"outputSchema":{"type":"object","description":"The AI-generated image produced by a paid generate_meme call.","properties":{"image_id":{"type":"string","description":"UUID of the generated image."},"url":{"type":"string","description":"MemeStack gallery page URL for the generated image."},"image_url":{"type":"string","description":"Direct serve URL for the full generated image bytes."},"thumbnail_url":{"type":"string","description":"Thumbnail URL for the generated image."},"caption":{"type":["string","null"],"description":"AI-generated caption for the image."},"tags":{"type":"array","items":{"type":"object"},"description":"Scored tags assigned to the generated image."}},"required":["image_id","url","image_url","thumbnail_url"],"additionalProperties":true}}]}},"bad_protocol_headers":{"content-type":"application/json"},"bad_protocol_error":null,"delete_status_code":null,"delete_error":null,"expired_session_status_code":null,"expired_session_error":null,"issues":["missing_session_id","missing_protocol_header","bad_protocol_not_rejected"]}},"utility_coverage_probe":{"status":"missing","latency_ms":11.32,"details":{"completions":{"advertised":false,"sample_target":{"type":"prompt","name":"search_memes","argument_name":"topic"},"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":false,"probe_status":"missing","http_status":200},"initialize_capability_keys":["prompts","resources","tools"]}},"advanced_capabilities_probe":{"status":"ok","latency_ms":null,"details":{"capabilities":{"prompts":true,"resources":true,"completions":false,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":true,"resource_links":true},"enabled_count":4,"enabled":["prompts","resource_links","resources","structured_outputs"],"initialize_capability_keys":["prompts","resources","tools"]}},"tool_snapshot_probe":{"status":"ok","latency_ms":null,"details":{"current_tool_count":20,"previous_tool_count":20,"similarity":1.0,"added":[],"removed":[],"changed_outputs":[]}},"connector_replay_probe":{"status":"ok","latency_ms":null,"details":{"backward_compatible":true,"would_break_after_refresh":false,"added_tools":[],"removed_tools":[],"required_arg_breaks":[],"output_breaks":[],"additive_output_changes":[]}},"request_association_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_request_association_capabilities_advertised"}},"interactive_flow_probe":{"status":"missing","latency_ms":null,"details":{"risk_hits":[],"safe_hits":[],"oauth_supported":false,"prompt_available":true}},"action_safety_probe":{"status":"ok","latency_ms":null,"details":{"summary":{"tool_count":20,"high_risk_tools":0,"destructive_tools":0,"exec_tools":0,"egress_tools":20,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":2,"annotation_conflict_tools":0,"risk_distribution":{"low":0,"medium":20,"high":0,"critical":0},"capability_distribution":{"read":18,"network":20,"write":1},"has_mutating_capability":true,"has_non_read_capability":true},"auth_present":false,"safeguard_count":4,"confirmation_signals":[],"reason":null}},"official_registry_probe":{"status":"ok","latency_ms":null,"details":{"registry_source":"official_registry","registry_identifier":"ai.memestack/mcp","direct_match":true,"official_peer_count":1}},"provenance_divergence_probe":{"status":"not_assessed","latency_ms":null,"details":{"direct_official_match":true,"registry_title":null,"server_card_title":null,"registry_version":null,"server_card_version":null,"registry_homepage":null,"server_card_homepage":null,"registry_repository":null,"server_card_repository":null,"drift_fields":[],"metadata_document_count":1,"compared_fields":["title","version","homepage","repository"],"readable_sources":["registry"],"comparable_field_count":0}},"schema_divergence_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_server_card_tools","compared_tool_count":0,"compared_dimensions":["server_name","server_version","declared_vs_observed_auth","tool_membership","parameter_names","required_parameters","parameter_types","output_schema_presence"],"server_name_mismatch":false,"card_server_name":null,"live_server_name":"memestack","server_version_mismatch":false,"card_server_version":null,"live_server_version":"1.3.0","auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"warning","latency_ms":null,"details":{"transport":"streamable-http","tool_count":20,"high_risk_tools":0,"blockers":["protocol_version","session_resume","step_up_auth","transport_compliance","request_association","server_card"],"criteria":{"remote_transport":true,"initialize":true,"tools_list":true,"protocol_version":false,"session_resume":false,"step_up_auth":false,"transport_compliance":false,"connector_replay":true,"request_association":false,"action_safety":true,"server_card":false,"tool_surface":true,"auth_flow":true}}}}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools","message":"Initialize instructions reference tools not present in tools/list: this","addressee":"publisher"}],"maintainer_analytics":{},"public_server_reputation":{},"maintainer_response_quality":{},"maintainer_annotations":[],"maintainer_rebuttals":[],"security_posture_summary":{},"tool_security_inventory":[],"transport_compliance":{},"utility_coverage":{},"write_action_governance":{},"provenance_divergence":{},"alias_consolidation":{},"alert_routing":{},"authenticated_validation":{},"hosted_runtime":{},"action_controls_diff":null,"benchmark_tasks":[],"latest_capability_counts":{},"point_loss_breakdown":[],"verdict_traces":{},"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_aaa8d661c20befd4","generated_at":"2026-08-16T05:53:33.027360+00:00","trust_evaluated_at":"2026-08-16T05:53:33.027360+00:00","evidence_revision":"645821e68f75bd60b89d140e","source":"current_snapshot","server":"ai.memestack/mcp","last_validated_at":"2026-08-16T03:58:33.385613+00:00","validation_age_hours":1.92,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-16T03:58:33.385613+00:00","age_hours":1.92,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":64.58,"raw_score":64.58,"confidence_score":100.0,"confidence_weighted_score":64.6,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":64.58,"display_score":64.58,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":1},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":1.92,"live_check_count":17,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":17,"validation_age_hours":1.92,"freshness_threshold_hours":24}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools"}],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T05:53:33.027360+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_aaa8d661c20befd4","generated_at":"2026-08-16T05:53:33.027360+00:00","trust_evaluated_at":"2026-08-16T05:53:33.027360+00:00","evidence_revision":"645821e68f75bd60b89d140e","source":"current_snapshot","server":"ai.memestack/mcp","last_validated_at":"2026-08-16T03:58:33.385613+00:00","validation_age_hours":1.92,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-16T03:58:33.385613+00:00","age_hours":1.92,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":64.58,"raw_score":64.58,"confidence_score":100.0,"confidence_weighted_score":64.6,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":64.58,"display_score":64.58,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":1},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":1.92,"live_check_count":17,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":17,"validation_age_hours":1.92,"freshness_threshold_hours":24}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools"}],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T05:53:33.027360+00:00"}},"agent_commerce":{},"latest_claim":null,"maintainer_profile_slug":null,"watch_summary":{},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"trust_evaluated_at":"2026-08-16T05:53:33.027360+00:00","evidence_revision":"645821e68f75bd60b89d140e","active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T05:53:33.027360+00:00"},"owner_opted_out":false,"observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"},"snapshot_id":"trustsnap_aaa8d661c20befd4"}],"rows":[{"label":"Snapshot ID","values":["trustsnap_aaa8d661c20befd4"]},{"label":"Status","values":["healthy"]},{"label":"Score","values":[64.58]},{"label":"Production readiness","values":["Safe for evaluation"]},{"label":"Production trust decision","values":["Allow with approval"]},{"label":"Recommended policy","values":["Block"]},{"label":"Observed Attention","values":["No observed attention"]},{"label":"Evidence confidence","values":[100.0]},{"label":"Freshness","values":["n/a"]},{"label":"Latency","values":["n/a"]},{"label":"Spec recency","values":[3.0]},{"label":"Session resume","values":[3.0]},{"label":"Step-up auth","values":[0.0]},{"label":"Transport compliance","values":[0.0]},{"label":"Utility coverage","values":[0.0]},{"label":"Publishability","values":[2.0]},{"label":"Connector replay","values":[4.0]},{"label":"Request association","values":[0.0]},{"label":"Action safety","values":[3.0]},{"label":"Registry presence","values":[4.0]},{"label":"Provenance divergence","values":[null]},{"label":"Client compatibility: ChatGPT","values":["unknown"]},{"label":"Client compatibility: Claude","values":["unknown"]},{"label":"Write-action publishing","values":["unknown"]},{"label":"Snapshot churn risk","values":["unknown"]},{"label":"Transport","values":["streamable-http"]},{"label":"Auth","values":["Unauthenticated / none"]},{"label":"Tools","values":[20]},{"label":"Prompts","values":[0]},{"label":"Resources","values":[0]},{"label":"OAuth","values":[false]},{"label":"DCR","values":[false]},{"label":"Taxonomy","values":[""]},{"label":"Recommended for","values":["none"]},{"label":"Top alerts","values":["Server instructions name unavailable tools"]}],"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"cache_note":"Compact compare fallback response; deep compare evidence is deferred to protect web capacity.","trust_evaluated_at":"2026-08-16T05:53:33.027360+00:00","materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-16T05:53:33.104112+00:00"}}