{"schema_version":"verify.report.v1","generated_at":"2026-08-29T20:38:39.128867+00:00","snapshot_id":"trustsnap_6502b28c676fc466","server":{"namespace":"ai.betterpost","name":"server","title":"BetterPost","description":"Finds timely sources across news, social, and the web and writes posts worth publishing.","homepage_url":"https://betterpost.ai","docs_url":null,"icon_url":null,"support_url":null,"remote_url":"https://betterpost.ai/mcp","server_card_url":null,"latest_version":"2.0.0","current_status":"healthy","current_score":70.31,"transport_type":"streamable-http","has_oauth":true,"has_dcr":true,"has_prompts":false,"tool_count":23,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-08-29T14:51:37.686604+00:00","registry_source":"official_registry","registry_identifier":"ai.betterpost/server","canonical_identifier":null,"current_score_components":{"auth_operability_score":4.0,"error_contract_score":1.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":3.0,"backward_compatibility_score":4.0,"slo_health_score":3.0,"security_hygiene_score":3.0,"task_success_score":4.0,"trust_confidence_score":4.0,"abuse_noise_ratio_score":4.0,"prompt_contract_score":2.0,"resource_contract_score":2.0,"discovery_metadata_score":2.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":4.0,"recovery_semantics_score":1.0,"maintenance_signal_score":4.0,"adoption_signal_score":3.0,"freshness_confidence_score":4.0,"transport_fidelity_score":4.0,"spec_recency_score":2.0,"session_resume_score":3.0,"step_up_auth_score":3.0,"transport_compliance_score":0.0,"utility_coverage_score":1.0,"advanced_capability_coverage_score":1.0,"connector_publishability_score":1.0,"tool_snapshot_churn_score":4.0,"connector_replay_score":4.0,"request_association_score":0.0,"interactive_flow_safety_score":3.0,"action_safety_score":2.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":2.0,"execution_sandbox_safety_score":3.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, 19 captured checks, and validation age of 5.8 hours.","live_check_count":19,"validation_age_hours":5.78,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":19,"validation_age_hours":5.78,"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":145.99,"details":{"url":"https://betterpost.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":38.52,"details":{"url":"https://betterpost.ai/.well-known/mcp/server-card.json","error":"Client error '404 Not Found' for url 'https://betterpost.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":"ok","latency_ms":109.64,"details":{"url":"https://betterpost.ai/.well-known/oauth-protected-resource","payload":{"resource":"https://betterpost.ai/mcp","authorization_servers":["https://measured-mystery-47.authkit.app"],"bearer_methods_supported":["header"],"resource_documentation":"https://betterpost.ai/docs"},"http_status":200,"headers":{"content-type":"application/json"}}},"oauth_authorization_server":{"status":"ok","latency_ms":308.69,"details":{"url":"https://measured-mystery-47.authkit.app/.well-known/oauth-authorization-server","payload":{"authorization_endpoint":"https://measured-mystery-47.authkit.app/oauth2/authorize","client_id_metadata_document_supported":true,"code_challenge_methods_supported":["S256"],"device_authorization_endpoint":"https://measured-mystery-47.authkit.app/oauth2/device_authorization","grant_types_supported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"introspection_endpoint":"https://measured-mystery-47.authkit.app/oauth2/introspection","issuer":"https://measured-mystery-47.authkit.app","jwks_uri":"https://measured-mystery-47.authkit.app/oauth2/jwks","registration_endpoint":"https://measured-mystery-47.authkit.app/oauth2/register","scopes_supported":["email","offline_access","openid","profile"],"response_modes_supported":["query"],"response_types_supported":["code"],"token_endpoint":"https://measured-mystery-47.authkit.app/oauth2/token","token_endpoint_auth_methods_supported":["none","client_secret_post","client_secret_basic"]},"http_status":200,"headers":{"content-type":"application/json; charset=utf-8","strict-transport-security":"max-age=31536000; includeSubDomains; preload","set-cookie":"ak-bucket=31; Path=/; Max-Age=31536000; Secure; HttpOnly; SameSite=Lax, ak-origin=terrace; Path=/; Max-Age=1800; Secure; HttpOnly; SameSite=Lax, __cf_bm=ddrN_91wXPHZXo4jvBXau8KYbNrvS7duq6gJywkdemQ-1788015096.10701-1.0.1.1-jmaW0Jtqb4BGx1K_LkWbj0y8xLP4WWSrn9cKeU1CI3b8RbApNxX5BEDfnxc5_1GzrPGaEuBrZNDPJojsgpKWRpORrDt1cXsV5DEH4KFEFoRoanvD1e.ECQCkMuYd_S0Q; HttpOnly; SameSite=None; Secure; Path=/; Domain=authkit.app; Expires=Sat, 29 Aug 2026 15:21:36 GMT"}}},"openid_configuration":{"status":"ok","latency_ms":98.77,"details":{"url":"https://measured-mystery-47.authkit.app/.well-known/openid-configuration","payload":{"issuer":"https://measured-mystery-47.authkit.app","authorization_endpoint":"https://measured-mystery-47.authkit.app/oauth2/authorize","device_authorization_endpoint":"https://measured-mystery-47.authkit.app/oauth2/device_authorization","grant_types_supported":["authorization_code","client_credentials","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"id_token_signing_alg_values_supported":["RS256"],"introspection_endpoint":"https://measured-mystery-47.authkit.app/oauth2/introspection","jwks_uri":"https://measured-mystery-47.authkit.app/oauth2/jwks","response_types_supported":["code"],"scopes_supported":["email","offline_access","openid","profile"],"subject_types_supported":["public"],"token_endpoint":"https://measured-mystery-47.authkit.app/oauth2/token","token_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_post"],"userinfo_endpoint":"https://measured-mystery-47.authkit.app/oauth2/userinfo"},"http_status":200,"headers":{"content-type":"application/json; charset=utf-8","set-cookie":"ak-origin=terrace; Path=/; Max-Age=1800; Secure; HttpOnly; SameSite=Lax","strict-transport-security":"max-age=31536000; includeSubDomains; preload"}}},"initialize":{"status":"ok","latency_ms":38.1,"details":{"url":"https://betterpost.ai/mcp","payload":{"result":{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"betterpost","version":"0.1.0"},"instructions":"BetterPost: generate timely, well-sourced content. Create a project, then generate content for it. Sign in with your BetterPost account when prompted — new accounts start with 100 free credits, and your projects and content stay linked to your account automatically. Before generating, you can call betterpost_suggest_topics {projectId, type} to get a few candidate angles, then ask the user whether they want a specific one (like those) or just the latest news — pass their choice as generate_content's `topic`, or omit `topic` for the latest news."},"jsonrpc":"2.0","id":1},"http_status":200,"headers":{"content-type":"text/event-stream"}}},"protocol_version_probe":{"status":"warning","latency_ms":null,"details":{"claimed_version":"2025-03-26","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25","releases_behind":2,"lag_days":244}},"tools_list":{"status":"ok","latency_ms":108.07,"details":{"url":"https://betterpost.ai/mcp","payload":{"result":{"tools":[{"name":"betterpost_create_project","title":"Create project","description":"Create a content project. Slow, one-shot: infers config (criteria, industry, tone), discovers sources, and gathers/ranks an initial set of timely stories. Best called after the inferred audience, description, and tone have been confirmed with the user, since the config shapes everything downstream.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"title":{"type":"string","minLength":1},"audience":{"type":"string","minLength":1},"description":{"type":"string"},"tone":{"type":"string"}},"required":["title","audience"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"industry":{"type":"string"},"tone":{"type":"string"},"criteria":{"type":"array","items":{"type":"string"}},"storiesGot":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"storiesGoal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hasXSource":{"type":"boolean"},"warming":{"type":"boolean"},"reason":{"type":"string"}},"required":["projectId","industry","tone","criteria","storiesGot","storiesGoal","hasXSource","warming"],"additionalProperties":false}},{"name":"betterpost_generate_content","title":"Generate content","description":"Generate a new piece of content for a project from its timely, relevant stories. Fast in steady state. Charges credits on success only. If you pass a `topic` the project has no stories about, this returns a `topic_unavailable` error (no charge) carrying an `inScope` flag and next steps — it never silently writes an off-topic piece.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"],"description":"Output format. 'x' and 'bluesky' are generated as a single post or, more often, a short numbered thread of connected posts (multiple tweets) when there is enough to say — this is the default for those channels. 'blog', 'newsletter', and 'linkedin' are one piece."},"topic":{"description":"Steer the piece to a specific topic. Generation only writes from stories actually about it. If none exist yet, it returns topic_unavailable (no charge) with an inScope flag: inScope:true means the topic fits the project and betterpost_expand_coverage can gather it, while inScope:false means it is outside the project scope so expanding to it requires the user's confirmation.","type":"string"},"reuse":{"description":"Reuse the most recent topic.","type":"boolean"},"tieIn":{"description":"A product/service to weave in.","type":"string"},"wordLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["projectId","type"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"contentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"content":{"type":"object","properties":{"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"title":{"type":"string"},"body":{"type":"string"},"metaDescription":{"type":"string"},"subjectLine":{"type":"string"},"previewText":{"type":"string"},"content":{"type":"string"}},"required":["type"],"additionalProperties":false,"description":"The generated content. Fields present depend on `type`."},"summary":{"type":"string"},"publicUrl":{"type":"string"},"storyCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"topic":{"type":"string"},"imagesHosted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"creditsCharged":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["contentId","type","content","summary","publicUrl","storyCount","topic","imagesHosted","creditsCharged"],"additionalProperties":false}},{"name":"betterpost_derive_content","title":"Derive content","description":"Transform an existing piece into another format (e.g. newsletter → tweet). No fetching; reuses the source stories and topic.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"fromContentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"tieIn":{"type":"string"}},"required":["fromContentId","type"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"contentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"content":{"type":"object","properties":{"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"title":{"type":"string"},"body":{"type":"string"},"metaDescription":{"type":"string"},"subjectLine":{"type":"string"},"previewText":{"type":"string"},"content":{"type":"string"}},"required":["type"],"additionalProperties":false,"description":"The generated content. Fields present depend on `type`."},"summary":{"type":"string"},"publicUrl":{"type":"string"},"storyCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"topic":{"type":"string"},"imagesHosted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"creditsCharged":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["contentId","type","content","summary","publicUrl","storyCount","topic","imagesHosted","creditsCharged"],"additionalProperties":false}},{"name":"betterpost_list_content","title":"List content","description":"List a project's content (summaries + shareable `publicUrl` links).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["projectId"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"description":"ISO 8601 datetime string"},"publicUrl":{"type":"string"}},"required":["id","type","summary","createdAt","publicUrl"],"additionalProperties":false}}},"required":["content"],"additionalProperties":false}},{"name":"betterpost_get_content","title":"Get content","description":"Fetch one piece of content in full.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"contentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["contentId"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"content":{"type":"object","properties":{"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"title":{"type":"string"},"body":{"type":"string"},"metaDescription":{"type":"string"},"subjectLine":{"type":"string"},"previewText":{"type":"string"},"content":{"type":"string"}},"required":["type"],"additionalProperties":false,"description":"The generated content. Fields present depend on `type`."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}]},"wordLimit":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"storyCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"topicId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"derivedFromContentId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"publicUrl":{"type":"string"},"createdAt":{"description":"ISO 8601 datetime string"}},"required":["id","projectId","type","content","summary","wordLimit","storyCount","topicId","derivedFromContentId","publicUrl","createdAt"],"additionalProperties":false}},{"name":"betterpost_delete_content","title":"Delete content","description":"Delete a piece of content and its hosted images.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"contentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["contentId"]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"deleted":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["deleted"],"additionalProperties":false}},{"name":"betterpost_list_projects","title":"List projects","description":"Returns your projects, each with its relevance `criteria` (with ids) that define what counts as on-topic.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"audience":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"tone":{"anyOf":[{"type":"string"},{"type":"null"}]},"industry":{"anyOf":[{"type":"string"},{"type":"null"}]},"additionalInstructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"maxStoryAgeDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"timezone":{"type":"string"},"status":{"type":"string","enum":["initializing","ready"]},"hasXSource":{"type":"boolean"},"createdAt":{"description":"ISO 8601 datetime string"},"updatedAt":{"description":"ISO 8601 datetime string"},"criteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"text":{"type":"string"}},"required":["id","text"],"additionalProperties":false}}},"required":["id","title","audience","description","tone","industry","additionalInstructions","maxStoryAgeDays","timezone","status","hasXSource","createdAt","updatedAt","criteria"],"additionalProperties":false}}},"required":["projects"],"additionalProperties":false}},{"name":"betterpost_get_project","title":"Get project","description":"Returns one project with its relevance `criteria` (each with an id, so a criterion can be targeted for removal via betterpost_update_project).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["projectId"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"audience":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"tone":{"anyOf":[{"type":"string"},{"type":"null"}]},"industry":{"anyOf":[{"type":"string"},{"type":"null"}]},"additionalInstructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"maxStoryAgeDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"timezone":{"type":"string"},"status":{"type":"string","enum":["initializing","ready"]},"hasXSource":{"type":"boolean"},"createdAt":{"description":"ISO 8601 datetime string"},"updatedAt":{"description":"ISO 8601 datetime string"},"criteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"text":{"type":"string"}},"required":["id","text"],"additionalProperties":false}}},"required":["id","title","audience","description","tone","industry","additionalInstructions","maxStoryAgeDays","timezone","status","hasXSource","createdAt","updatedAt","criteria"],"additionalProperties":false}},{"name":"betterpost_update_project","title":"Update project","description":"Updates a project's title, audience, description, tone, freshness window, timezone, or relevance criteria, and returns the updated project with its criteria. Changing title/audience/description re-derives the relevance criteria (replace-all), which broadens or narrows what counts as on-topic. To edit criteria incrementally instead, pass `patch.addCriteria` (texts to append) and/or `patch.removeCriteria` (criterion ids from get_project/list_projects). Dates default to US Eastern unless a `timezone` (an IANA name like \"America/New_York\") is set.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"patch":{"description":"Partial update: EVERY field is optional — include only the fields you want to change and omit the rest (an omitted field is left untouched; there are no required patch fields). Passing an empty object or omitting `patch` entirely is a no-op. Fields: title, audience, description, tone, maxStoryAgeDays, additionalInstructions, timezone, addCriteria, removeCriteria.","type":"object","properties":{"title":{"type":"string"},"audience":{"type":"string"},"description":{"type":"string"},"tone":{"type":"string"},"maxStoryAgeDays":{"description":"Freshness window in days (default 14, allowed 1–30; 7–14 is optimal). Generation only uses stories newer than this. Widen it toward 30 for slow or evergreen niches where timely stories are sparse and generate_content returns no_stories; narrow it for fast-moving topics.","type":"integer","minimum":1,"maximum":30},"additionalInstructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"timezone":{"type":"string"},"addCriteria":{"description":"Relevance-criterion texts to APPEND (incremental, never replace-all).","type":"array","items":{"type":"string"}},"removeCriteria":{"description":"Criterion ids (from get_project/list_projects) to remove.","type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}}}},"required":["projectId"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"audience":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"tone":{"anyOf":[{"type":"string"},{"type":"null"}]},"industry":{"anyOf":[{"type":"string"},{"type":"null"}]},"additionalInstructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"maxStoryAgeDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"timezone":{"type":"string"},"status":{"type":"string","enum":["initializing","ready"]},"hasXSource":{"type":"boolean"},"createdAt":{"description":"ISO 8601 datetime string"},"updatedAt":{"description":"ISO 8601 datetime string"},"criteria":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"text":{"type":"string"}},"required":["id","text"],"additionalProperties":false}}},"required":["id","title","audience","description","tone","industry","additionalInstructions","maxStoryAgeDays","timezone","status","hasXSource","createdAt","updatedAt","criteria"],"additionalProperties":false}},{"name":"betterpost_delete_project","title":"Delete project","description":"Permanently deletes a project and everything in it — its sources, stories, and content. Cannot be undone.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["projectId"]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"deleted":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["deleted"],"additionalProperties":false}},{"name":"betterpost_list_sources","title":"List sources","description":"Returns one slimmed page of a project's sources plus project-wide `total` and `counts` (ok/failing/disabled/pending, and byType). Page with `limit` (default 50) and `offset`, following the returned `nextOffset` until it is null.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limit":{"description":"Max sources to return (default 50).","type":"integer","exclusiveMinimum":0,"maximum":200},"offset":{"description":"Number of sources to skip; use the returned nextOffset to page.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["projectId"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"returned":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nextOffset":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"counts":{"type":"object","properties":{"ok":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failing":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"disabled":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pending":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"byType":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["ok","failing","disabled","pending","byType"],"additionalProperties":false},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"pending":{"type":"boolean","const":true},"ok":{"type":"boolean"},"lastFetchedAt":{"description":"ISO 8601 datetime string"},"failStreak":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"disabled":{"type":"boolean","const":true},"lastFetchError":{"type":"string"}},"required":["id","type","value"],"additionalProperties":false}}},"required":["total","offset","limit","returned","nextOffset","counts","sources"],"additionalProperties":false}},{"name":"betterpost_add_source","title":"Add source","description":"Adds a source to a project and fetches it immediately (bounded by a few seconds), returning `storiesAdded` so the next generate_content can use it; if it is still fetching it returns `fetched:false` with a note. Doubles as manual source import: paste any URL (RSS/Atom feed, article, or a page, profile, or post on a supported platform) and leave `type` as autodetect, or create a recurring keyword search by setting `value` to the search terms and `type` to a search kind (see `type`).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"value":{"type":"string"},"name":{"type":"string"},"type":{"default":"autodetect","description":"Source kind (one of the enum values; defaults to 'autodetect'). 'autodetect' infers the kind from `value` (a URL): RSS/Atom feeds, web pages, news, Reddit subreddits, X and Bluesky posts/users, LinkedIn company pages, Instagram profiles, YouTube videos, and Hacker News items — leave it as 'autodetect' for any URL. For a recurring keyword search that re-runs over time, set `value` to the search terms and pick a search kind: 'web-search', 'reddit-search', 'youtube-search', 'x' (X/Twitter search), or 'bluesky' (Bluesky search).","type":"string","enum":["autodetect","web-search","reddit-search","youtube-search","x","bluesky"]}},"required":["projectId","value"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"source":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"},"lastFetchedAt":{"description":"ISO 8601 datetime string"},"lastFetchSuccess":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"lastFetchError":{"anyOf":[{"type":"string"},{"type":"null"}]},"failStreak":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"disabled":{"type":"boolean"},"createdAt":{"description":"ISO 8601 datetime string"}},"required":["id","projectId","name","type","value","lastFetchedAt","lastFetchSuccess","lastFetchError","failStreak","disabled","createdAt"],"additionalProperties":false},"fetched":{"type":"boolean"},"storiesAdded":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"note":{"type":"string"}},"required":["source","fetched","storiesAdded"],"additionalProperties":false}},{"name":"betterpost_remove_source","title":"Remove source","description":"Removes a source from a project. Its already-gathered stories stay; the source is no longer fetched.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"sourceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceId"]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"removed":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["removed"],"additionalProperties":false}},{"name":"betterpost_list_stories","title":"List stories","description":"Returns a project's gathered stories, each with `title`, `url`, `summary`, `relevancy`, `publicationDate`, and `isManual`/`isHidden` flags. Pass includeHidden to include hidden ones.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"includeHidden":{"type":"boolean"}},"required":["projectId"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"stories":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"url":{"type":"string"},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}]},"keyPoints":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"quotes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"images":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url","description"],"additionalProperties":false}},"relevancy":{"anyOf":[{"type":"number"},{"type":"null"}]},"isTimely":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"timelinessReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"contentType":{"anyOf":[{"type":"string"},{"type":"null"}]},"author":{"anyOf":[{"type":"string"},{"type":"null"}]},"publicationDate":{"description":"ISO 8601 datetime string"},"status":{"type":"string","enum":["pending","ready","hidden"]},"isManual":{"type":"boolean"},"isHidden":{"type":"boolean"},"createdAt":{"description":"ISO 8601 datetime string"}},"required":["id","projectId","sourceId","url","title","summary","keyPoints","quotes","images","relevancy","isTimely","timelinessReason","contentType","author","publicationDate","status","isManual","isHidden","createdAt"],"additionalProperties":false}}},"required":["stories"],"additionalProperties":false}},{"name":"betterpost_add_story","title":"Add story","description":"Manually imports a story you read about from its URL (pinned relevance, flagged is_manual) so generation can draw on it.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"url":{"type":"string","format":"uri"},"title":{"type":"string"},"summary":{"type":"string"}},"required":["projectId","url"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"storyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["storyId"],"additionalProperties":false}},{"name":"betterpost_hide_story","title":"Hide story","description":"Hides a story so generation ignores it. Reversible with unhide_story.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"storyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["storyId"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"storyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"hidden":{"type":"boolean"}},"required":["storyId","hidden"],"additionalProperties":false}},{"name":"betterpost_unhide_story","title":"Unhide story","description":"Unhides a previously hidden story so generation can use it again.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"storyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["storyId"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"storyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"hidden":{"type":"boolean"}},"required":["storyId","hidden"],"additionalProperties":false}},{"name":"betterpost_suggest_topics","title":"Suggest topics","description":"Clusters a project's current stories into a few candidate angles — each with a label, how many stories back it, and example headlines — and warms the project (gathers and ranks fresh stories) in the process. Returns topics you can offer the user before generate_content.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"count":{"type":"integer","minimum":1,"maximum":5}},"required":["projectId"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"topics":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"storyCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"examples":{"type":"array","items":{"type":"string"}}},"required":["label","storyCount","examples"],"additionalProperties":false}}},"required":["projectId","topics"],"additionalProperties":false}},{"name":"betterpost_get_usage","title":"Get usage","description":"Your credit balance, freeze state, and recent spend.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"kind":{"type":"string","const":"paid"},"creditBalance":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"frozen":{"type":"boolean"},"recentSpendUsd":{"type":"number"}},"required":["kind","creditBalance","frozen","recentSpendUsd"],"additionalProperties":false}},{"name":"betterpost_get_settings","title":"Get settings","description":"Returns a project's per-content-type settings (wordLimit and additionalInstructions for each channel).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["projectId"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"contentTypeSettings":{"type":"array","items":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"wordLimit":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"additionalInstructions":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["projectId","type","wordLimit","additionalInstructions"],"additionalProperties":false}}},"required":["contentTypeSettings"],"additionalProperties":false}},{"name":"betterpost_update_settings","title":"Update settings","description":"Patches one content type's wordLimit and/or additionalInstructions (free-form writing guidance for that type; pass an empty string to clear it). Project-wide preferences (title/audience/tone, project-wide additionalInstructions) live on betterpost_update_project.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"wordLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"additionalInstructions":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["projectId","type"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"updated":{"type":"object","properties":{"type":{"type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"wordLimit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"additionalInstructions":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type"],"additionalProperties":false}},"required":["updated"],"additionalProperties":false}},{"name":"betterpost_expand_coverage","title":"Expand coverage","description":"Broadens a project's coverage: expands the relevance criteria (when needed), finds more sources across news, the web, and the relevant social platforms, and fetches them inline. Applies on a `topic_unavailable`, `no_stories`, or low-coverage signal. May return `warming: true` with `retryAfterMs` (~60s), meaning the newly gathered stories are still landing. An out-of-scope `focus` requires `confirmedByUser: true`; without it, it returns a `confirmation_required` error. No credits are charged.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"focus":{"description":"The topic to get more on (e.g. \"League of Legends\"). Omit to broaden the whole project.","type":"string"},"addAsCriteria":{"description":"Also append an in-scope `focus` as a standing relevance criterion (out-of-scope, confirmed foci are added automatically).","type":"boolean"},"confirmedByUser":{"description":"Set true once the user has agreed to widen the project to an out-of-scope `focus`.","type":"boolean"}},"required":["projectId"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"criteriaAdded":{"type":"array","items":{"type":"string"}},"sourcesAdded":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"}},"required":["type","value"],"additionalProperties":false}},"storiesAdded":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"warming":{"type":"boolean"},"retryAfterMs":{"type":"number"}},"required":["criteriaAdded","sourcesAdded","storiesAdded","warming","retryAfterMs"],"additionalProperties":false}},{"name":"betterpost_humanize","title":"Humanize text","description":"Rewrite existing text into BetterPost's readable, human voice. Preserves the meaning, facts, links, and format; returns the rewritten text plus short notes on what changed. Pass `projectId` to write in that project's tone and instructions, `type` to apply a channel's style, or `tone` to set the voice directly.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":30000,"description":"The text to humanize (max 30,000 characters)."},"projectId":{"description":"Use this project's tone and writing instructions.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"description":"Apply this channel's style rules to the rewrite.","type":"string","enum":["blog","newsletter","linkedin","x","bluesky"]},"tone":{"description":"Tone override; wins over the project tone.","type":"string"}},"required":["text"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"outputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"text":{"type":"string","description":"The rewritten text, a drop-in replacement for the input"},"changes":{"type":"array","items":{"type":"string"},"description":"Short notes on the main edits made"},"inputWords":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"creditsCharged":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["text","changes","inputWords","creditsCharged"],"additionalProperties":false}}]},"jsonrpc":"2.0","id":2},"http_status":200,"headers":{"content-type":"text/event-stream"}}},"prompts_list":{"status":"auth_required","latency_ms":127.63,"details":{"url":"https://betterpost.ai/mcp","error":"Client error '401 Unauthorized' for url 'https://betterpost.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401","http_status":401,"payload":{},"headers":{"content-type":"application/json","www-authenticate":"Bearer resource_metadata=\"https://betterpost.ai/.well-known/oauth-protected-resource\""},"reason":"auth_required"}},"prompt_get":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"resources_list":{"status":"auth_required","latency_ms":151.25,"details":{"url":"https://betterpost.ai/mcp","error":"Client error '401 Unauthorized' for url 'https://betterpost.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401","http_status":401,"payload":{},"headers":{"content-type":"application/json","www-authenticate":"Bearer resource_metadata=\"https://betterpost.ai/.well-known/oauth-protected-resource\""},"reason":"auth_required"}},"resource_read":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"determinism_probe":{"status":"ok","latency_ms":139.28,"details":{"attempts":2,"successful":2,"matches":2,"stable_ratio":1.0,"baseline_signature":"cc930df0248db636ef2912230898082c83c3ae111aaacbfa5f5ac87af1c00dcb","errors":[]}},"instruction_tool_reference_probe":{"status":"warning","latency_ms":null,"details":{"referenced_tools":["betterpost_suggest_topics","topic"],"missing_tools":["topic"],"observed_tool_count":23}},"session_resume_probe":{"status":"warning","latency_ms":null,"details":{"reason":"no_session_id","transport":"streamable-http","resume_expected":true,"protocol_version":"2025-03-26"}},"step_up_auth_probe":{"status":"warning","latency_ms":null,"details":{"oauth_present":true,"auth_required_checks":["prompts_list","resources_list"],"supported_scopes":["email","offline_access","openid","profile"],"scope_specificity_ratio":0.2,"broad_scopes":[],"challenge_headers":["Bearer resource_metadata=\"https://betterpost.ai/.well-known/oauth-protected-resource\"","Bearer resource_metadata=\"https://betterpost.ai/.well-known/oauth-protected-resource\""],"step_up_signals":["Bearer resource_metadata=\"https://betterpost.ai/.well-known/oauth-protected-resource\"","Bearer resource_metadata=\"https://betterpost.ai/.well-known/oauth-protected-resource\""],"minimal_scope_documented":false}},"transport_compliance_probe":{"status":"error","latency_ms":132.58,"details":{"transport":"streamable-http","session_id_present":false,"protocol_header_present":false,"last_event_id_visible":false,"requested_protocol_version":"2025-03-26","bad_protocol_status_code":404,"bad_protocol_payload":{"jsonrpc":"2.0","error":{"code":-32000,"message":"Bad Request: Unsupported protocol version (supported versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)"},"id":null},"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":"ok","latency_ms":43.44,"details":{"completions":{"advertised":false,"sample_target":null,"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":false,"probe_status":"auth_required","http_status":401},"initialize_capability_keys":["tools"]}},"advanced_capabilities_probe":{"status":"warning","latency_ms":null,"details":{"capabilities":{"prompts":true,"resources":true,"completions":false,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":true,"resource_links":false},"enabled_count":3,"enabled":["prompts","resources","structured_outputs"],"initialize_capability_keys":["tools"]}},"tool_snapshot_probe":{"status":"ok","latency_ms":null,"details":{"current_tool_count":23,"previous_tool_count":23,"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":"ok","latency_ms":null,"details":{"risk_hits":[],"safe_hits":[],"oauth_supported":true,"prompt_available":false}},"action_safety_probe":{"status":"warning","latency_ms":null,"details":{"summary":{"tool_count":23,"high_risk_tools":1,"destructive_tools":3,"exec_tools":1,"egress_tools":6,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":15,"annotation_conflict_tools":0,"risk_distribution":{"low":11,"medium":11,"high":1,"critical":0},"capability_distribution":{"write":10,"exec":1,"network":6,"undetermined":3,"read":8,"delete":3},"has_mutating_capability":true,"has_non_read_capability":true},"auth_present":true,"safeguard_count":3,"confirmation_signals":["betterpost_create_project","betterpost_delete_project","betterpost_hide_story","betterpost_expand_coverage"],"reason":null}},"official_registry_probe":{"status":"ok","latency_ms":null,"details":{"registry_source":"official_registry","registry_identifier":"ai.betterpost/server","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":2,"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":"betterpost","server_version_mismatch":false,"card_server_version":null,"live_server_version":"0.1.0","auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"warning","latency_ms":null,"details":{"transport":"streamable-http","tool_count":23,"high_risk_tools":1,"blockers":["protocol_version","session_resume","step_up_auth","transport_compliance","request_association","action_safety","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":false,"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: topic","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_6502b28c676fc466","generated_at":"2026-08-29T20:38:39.138771+00:00","trust_evaluated_at":"2026-08-29T20:38:39.138771+00:00","evidence_revision":"67661b5bd50c967f5cda0a5d","source":"current_snapshot","server":"ai.betterpost/server","last_validated_at":"2026-08-29T14:51:37.686604+00:00","validation_age_hours":5.78,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-29T14:51:37.686604+00:00","age_hours":5.78,"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":70.31,"raw_score":70.31,"confidence_score":100.0,"confidence_weighted_score":70.3,"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":70.31,"display_score":70.31,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"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":5.78,"live_check_count":19,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":19,"validation_age_hours":5.78,"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-29T20:38:39.138771+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_6502b28c676fc466","generated_at":"2026-08-29T20:38:39.138771+00:00","trust_evaluated_at":"2026-08-29T20:38:39.138771+00:00","evidence_revision":"67661b5bd50c967f5cda0a5d","source":"current_snapshot","server":"ai.betterpost/server","last_validated_at":"2026-08-29T14:51:37.686604+00:00","validation_age_hours":5.78,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-29T14:51:37.686604+00:00","age_hours":5.78,"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":70.31,"raw_score":70.31,"confidence_score":100.0,"confidence_weighted_score":70.3,"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":70.31,"display_score":70.31,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"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":5.78,"live_check_count":19,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":19,"validation_age_hours":5.78,"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-29T20:38:39.138771+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-29T20:38:39.138771+00:00","evidence_revision":"67661b5bd50c967f5cda0a5d","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-29T20:38:39.138771+00:00"},"owner_opted_out":false},"latest_validation":null,"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_6502b28c676fc466","generated_at":"2026-08-29T20:38:39.138771+00:00","trust_evaluated_at":"2026-08-29T20:38:39.138771+00:00","evidence_revision":"67661b5bd50c967f5cda0a5d","source":"current_snapshot","server":"ai.betterpost/server","last_validated_at":"2026-08-29T14:51:37.686604+00:00","validation_age_hours":5.78,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-29T14:51:37.686604+00:00","age_hours":5.78,"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":70.31,"raw_score":70.31,"confidence_score":100.0,"confidence_weighted_score":70.3,"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":70.31,"display_score":70.31,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"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":5.78,"live_check_count":19,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":19,"validation_age_hours":5.78,"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-29T20:38:39.138771+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_6502b28c676fc466","generated_at":"2026-08-29T20:38:39.138771+00:00","trust_evaluated_at":"2026-08-29T20:38:39.138771+00:00","evidence_revision":"67661b5bd50c967f5cda0a5d","source":"current_snapshot","server":"ai.betterpost/server","last_validated_at":"2026-08-29T14:51:37.686604+00:00","validation_age_hours":5.78,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-29T14:51:37.686604+00:00","age_hours":5.78,"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":70.31,"raw_score":70.31,"confidence_score":100.0,"confidence_weighted_score":70.3,"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":70.31,"display_score":70.31,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"write/admin actions need confirmation safeguards + unauthenticated behavior not proven","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":2},"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":5.78,"live_check_count":19,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":19,"validation_age_hours":5.78,"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-29T20:38:39.138771+00:00"}},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"snapshot_invariant":{"schema_version":"verify.snapshot_invariant.v1","server":"ai.betterpost/server","ok":true,"surface_snapshot_ids":{"page":"trustsnap_6502b28c676fc466","badge":null,"report":"trustsnap_6502b28c676fc466","policy":null},"checked_surfaces":["page","report"],"unchecked_surfaces":["badge","policy"],"checked_count_surfaces":[],"count_mismatches":{},"checked_at":"2026-08-29T20:38:39.129800+00:00"},"history":{},"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},"agent_commerce_readiness":{},"evidence_confidence":{"score":100.0,"label":"high","reason":"Based on 20 recent validations, 19 captured checks, and validation age of 5.8 hours.","live_check_count":19,"validation_age_hours":5.78,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":19,"validation_age_hours":5.78,"freshness_threshold_hours":24}},"recommended_for":[],"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: topic","addressee":"publisher"}],"remediations":[],"cache_note":"Fast fallback response; full report evidence is deferred to protect web capacity. Fields listed in fields_unavailable (including tool_security_inventory, and write_action_governance) are not yet computed on this response -- an empty value means unchecked, not confirmed clean. Treat partial responses as indeterminate.","publisher_claim":{"verified":false,"status":"unclaimed","claim_url":"https://verify.sentinelsignal.io/claim?server=ai.betterpost%2Fserver&source=report_json","reason_code":"claim_to_publish_metadata","reason":"Claim this profile to verify publisher identity, add evidence, and manage trust metadata.","score_neutral":true},"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"},"related_machine_surfaces":{"compare_index":"/compare.json","compare_api":"/v1/compare?server=ai.betterpost%2Fserver","trust_summary":"/v1/servers/ai.betterpost/server/trust-summary","ledger":"/v1/servers/ai.betterpost/server/ledger","policy":"/v1/servers/ai.betterpost/server/policy","report":"/v1/servers/ai.betterpost/server/report"},"intelligence_api":{"available":true,"signup_url":"https://verify.sentinelsignal.io/verify-intelligence-api","use_case":"Programmatic MCP server trust, comparison, policy, and evidence enrichment."},"trust_evaluated_at":"2026-08-29T20:38:39.138771+00:00","evidence_revision":"67661b5bd50c967f5cda0a5d","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-29T20:38:39.138771+00:00"}}