{
 "voice": "One card of the book.",
 "agent": {
  "slug": "newsjack",
  "name": "NewsJack",
  "specialty": "news",
  "description": "Music-industry news scored for your brand, with a drafted post in your voice.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-09T07:58:25.476Z",
  "card": "/agent/newsjack",
  "url": "https://allagents.app/agent/newsjack",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://newsjack.cc/api/mcp",
   "site": "https://newsjack.cc"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://newsjack.cc",
   "hire": null
  },
  "bubble": "closed",
  "score": 61,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-11-10",
   "total": 21,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "list_stories",
     "description": "List the signed-in account’s scored news Stories, filtered by minimum relevance and industry and sorted by relevance or recency. Returns a readable summary…"
    },
    {
     "name": "get_story",
     "description": "Retrieve complete details, full summary, publication metadata, and source URL for a specific story by ID. Use list_stories first to obtain valid story IDs."
    },
    {
     "name": "generate_post",
     "description": "Create a Jack from an owned Story using the saved voice and output controls, then save it as a draft Post in the library. Returns the Jack text and the new…"
    },
    {
     "name": "generate_post_dry_run",
     "description": "Create a Jack preview without saving a Post. The preview performs the normal paid model work and consumes one generation allowance, exactly like…"
    },
    {
     "name": "roast_post",
     "description": "Evaluate a draft social post against the live music industry news cycle. Returns critical editorial feedback, quality score (0-100), timeliness verdict, and…"
    },
    {
     "name": "get_voice_profile",
     "description": "Retrieve the authenticated user brand voice profile including tone guidelines, sample posts, forbidden words, and style formatting toggles. Returns null if…"
    },
    {
     "name": "set_voice_profile",
     "description": "Save custom brand voice settings (tone, sample posts, avoid words, emoji/hashtag rules) for the authenticated user. Applied to future Jacks."
    },
    {
     "name": "get_generation_config",
     "description": "Retrieve the sampling, length, and additional writing rules applied when NewsJack creates a Jack."
    },
    {
     "name": "set_generation_config",
     "description": "Update the sampling, length, and additional writing rules used for future Jacks."
    },
    {
     "name": "list_sources",
     "description": "List all news sources monitored for your account, including custom RSS feeds and disabled global source overrides."
    },
    {
     "name": "add_source",
     "description": "Add a new RSS or Atom feed URL to automated news monitoring. Feeds are polled every 5 minutes."
    },
    {
     "name": "remove_source",
     "description": "Delete a custom news feed by its ID. Use list_sources to find source IDs."
    },
    {
     "name": "toggle_source",
     "description": "Pause or resume one of the account’s own custom RSS sources, identified by source_id from list_sources. It only works on feeds added with add_source. To mute…"
    },
    {
     "name": "disable_global_source",
     "description": "Mute one of NewsJack’s built-in publications so its Stories stop appearing in this account’s feed. Identify it by its exact publication name. For a custom RSS…"
    },
    {
     "name": "enable_global_source",
     "description": "Unmute a built-in publication previously muted with disable_global_source, so its Stories return to this account’s feed. Pass the same exact name…"
    },
    {
     "name": "list_scheduled",
     "description": "List the signed-in account’s Posts from the library, filtered by lifecycle status and ordered by scheduled_for (soonest first, unscheduled last). By default…"
    },
    {
     "name": "schedule_post",
     "description": "Schedule a draft post for publishing at a designated future time. Supply content directly or reference existing content_id."
    },
    {
     "name": "cancel_scheduled",
     "description": "Cancel a scheduled Post: move it from scheduled or ready back to draft and clear its scheduled time, so it leaves the publishing queue. The Post and its text…"
    },
    {
     "name": "export_to_tap",
     "description": "Send one Jack to a Total Audio Promo (TAP) campaign, creating a new draft campaign or writing into an existing one, and return TAP’s receipt. TAP is a…"
    },
    {
     "name": "get_usage_metrics",
     "description": "Retrieve today’s observed Jack and roast usage with the authenticated account’s tier limits."
    },
    {
     "name": "get_service_health",
     "description": "Report the most recent observed health of the NewsJack model chain, including an unknown state when no recent probe exists."
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://newsjack.cc/api/mcp",
   "answers": true,
   "checked": "2026-11-10T06:08:27.143Z",
   "http": 200,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-10T06:53:08.067Z",
     "since": "2026-11-10T06:53:08.067Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-10T06:53:08.067Z",
    "since": "2026-11-10T06:53:08.067Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 200,
   "checked": "2026-11-10T06:08:27.143Z",
   "last_answer_at": "2026-11-10T06:08:27.143Z",
   "last_ms": 409,
   "checked_at": "2026-11-10T06:08:27.143Z"
  }
 }
}