Music-industry news scored for your brand, with a drafted post in your voice.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a new RSS or Atom feed URL to automated news monitoring. Feeds are polled every 5 minutes.
Valid RSS or Atom XML feed URL.
Human-readable label for the feed, e.g. 'Resident Advisor News'.
Industry topic slug (default 'music').
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http newsjack https://newsjack.cc/api/mcp
Add a new RSS or Atom feed URL to automated news monitoring. Feeds are polled every 5 minutes.
| Argument | Type | Description |
|---|---|---|
| url* | string | Valid RSS or Atom XML feed URL. |
| name* | string | Human-readable label for the feed, e.g. 'Resident Advisor News'. |
| industry_slug | string | Industry topic slug (default 'music'). |
{
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Valid RSS or Atom XML feed URL."
},
"name": {
"type": "string",
"description": "Human-readable label for the feed, e.g. 'Resident Advisor News'."
},
"industry_slug": {
"type": "string",
"default": "music",
"description": "Industry topic slug (default 'music')."
}
}
}Revert a scheduled post back to draft status and remove it from publishing queue.
| Argument | Type | Description |
|---|---|---|
| content_id* | string | The ID of the scheduled post to cancel. |
{
"type": "object",
"required": [
"content_id"
],
"properties": {
"content_id": {
"type": "string",
"description": "The ID of the scheduled post to cancel."
}
}
}Mute a default global news source so its stories do not appear in your feed.
| Argument | Type | Description |
|---|---|---|
| source_name* | string | Exact name of the global source, e.g. 'Music Business Worldwide'. |
| industry_slug | string | Industry category slug (default 'music'). |
{
"type": "object",
"required": [
"source_name"
],
"properties": {
"source_name": {
"type": "string",
"description": "Exact name of the global source, e.g. 'Music Business Worldwide'."
},
"industry_slug": {
"type": "string",
"default": "music",
"description": "Industry category slug (default 'music')."
}
}
}Re-enable a previously muted global news source in your feed.
| Argument | Type | Description |
|---|---|---|
| source_name* | string | Exact name of the global source to re-enable. |
{
"type": "object",
"required": [
"source_name"
],
"properties": {
"source_name": {
"type": "string",
"description": "Exact name of the global source to re-enable."
}
}
}Write a Jack into a Total Audio Promo campaign and return TAP’s acknowledgement.
| Argument | Type | Description |
|---|---|---|
| title | string | Optional campaign or track title. |
| content | string | Direct Jack text if not using content_id. |
| platform | string | Destination platform. |
| content_id | string | Existing Post ID containing the Jack to export. |
| campaign_id | string | Existing TAP campaign ID. Omit to create one. |
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Optional campaign or track title."
},
"content": {
"type": "string",
"description": "Direct Jack text if not using content_id."
},
"platform": {
"type": "string",
"default": "linkedin",
"description": "Destination platform."
},
"content_id": {
"type": "string",
"description": "Existing Post ID containing the Jack to export."
},
"campaign_id": {
"type": "string",
"description": "Existing TAP campaign ID. Omit to create one."
}
}
}Create a Jack from an owned Story using the saved voice and output controls, then save it as a draft Post in the library.
| Argument | Type | Description |
|---|---|---|
| notes | string | The writer's own material for this post: their view, a voice-memo transcript or their own figures. The post is built around it. |
| style | string | Post style angle: 'take' (quick opinion), 'contrarian' (counter-intuitive), 'thought-leadership' (deep breakdown). |
| platform* | string | Target publishing platform. |
| story_id* | string | The story ID to base the generation on. |
| voice_overrides | object | Optional per-request voice modifications. |
{
"type": "object",
"required": [
"story_id",
"platform"
],
"properties": {
"notes": {
"type": "string",
"description": "The writer's own material for this post: their view, a voice-memo transcript or their own figures. The post is built around it."
},
"style": {
"enum": [
"take",
"contrarian",
"thought-leadership",
"carousel",
"reel-script"
],
"type": "string",
"default": "take",
"description": "Post style angle: 'take' (quick opinion), 'contrarian' (counter-intuitive), 'thought-leadership' (deep breakdown)."
},
"platform": {
"enum": [
"twitter",
"linkedin",
"newsletter"
],
"type": "string",
"description": "Target publishing platform."
},
"story_id": {
"type": "string",
"description": "The story ID to base the generation on."
},
"voice_overrides": {
"type": "object",
"description": "Optional per-request voice modifications."
}
}
}Create a Jack preview without saving a Post. The preview performs the normal paid model work and consumes one generation allowance.
| Argument | Type | Description |
|---|---|---|
| notes | string | The writer's own material for this post: their view, a voice-memo transcript or their own figures. The post is built around it. |
| style | string | |
| platform* | string | Target platform. |
| story_id* | string | The story ID to evaluate against. |
| voice_overrides | object |
{
"type": "object",
"required": [
"story_id",
"platform"
],
"properties": {
"notes": {
"type": "string",
"description": "The writer's own material for this post: their view, a voice-memo transcript or their own figures. The post is built around it."
},
"style": {
"enum": [
"take",
"contrarian",
"thought-leadership",
"carousel",
"reel-script"
],
"type": "string",
"default": "take",
"description": ""
},
"platform": {
"enum": [
"twitter",
"linkedin",
"newsletter"
],
"type": "string",
"description": "Target platform."
},
"story_id": {
"type": "string",
"description": "The story ID to evaluate against."
},
"voice_overrides": {
"type": "object",
"description": ""
}
}
}Retrieve the sampling, length, and additional writing rules applied when NewsJack creates a Jack.
No arguments.
{
"type": "object",
"properties": {}
}Report the most recent observed health of the NewsJack model chain, including an unknown state when no recent probe exists.
No arguments.
{
"type": "object",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| story_id* | string | The unique identifier of the story (obtained from list_stories). |
{
"type": "object",
"required": [
"story_id"
],
"properties": {
"story_id": {
"type": "string",
"description": "The unique identifier of the story (obtained from list_stories)."
}
}
}Retrieve today’s observed Jack and roast usage with the authenticated account’s tier limits.
No arguments.
{
"type": "object",
"properties": {}
}Retrieve the authenticated user brand voice profile including tone guidelines, sample posts, forbidden words, and style formatting toggles. Returns null if default house voice is active.
No arguments.
{
"type": "object",
"properties": {}
}List posts queued for publication ordered by scheduled time.
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum items to return (default 20). |
| status | string | Post Lifecycle status filter, or all. |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 20,
"description": "Maximum items to return (default 20)."
},
"status": {
"enum": [
"draft",
"scheduled",
"ready",
"publishing",
"posted",
"failed",
"all"
],
"type": "string",
"default": "scheduled",
"description": "Post Lifecycle status filter, or all."
}
}
}List all news sources monitored for your account, including custom RSS feeds and disabled global source overrides.
No arguments.
{
"type": "object",
"properties": {}
}Search the authenticated account’s music-industry Stories by relevance, recency, and industry.
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum number of stories to return (1-50, default 10). |
| sort_by | string | Sort order: 'relevance' (best matches first) or 'recency' (newest first). |
| category | string | Optional topic filter, e.g. 'streaming', 'touring', 'ai', 'copyright'. |
| min_relevance | number | Minimum relevance score threshold between 0.0 and 1.0 (default 0.4). |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 10,
"description": "Maximum number of stories to return (1-50, default 10)."
},
"sort_by": {
"enum": [
"relevance",
"recency"
],
"type": "string",
"default": "relevance",
"description": "Sort order: 'relevance' (best matches first) or 'recency' (newest first)."
},
"category": {
"type": "string",
"description": "Optional topic filter, e.g. 'streaming', 'touring', 'ai', 'copyright'."
},
"min_relevance": {
"type": "number",
"default": 0.4,
"description": "Minimum relevance score threshold between 0.0 and 1.0 (default 0.4)."
}
}
}Delete a custom news feed by its ID. Use list_sources to find source IDs.
| Argument | Type | Description |
|---|---|---|
| source_id* | string | Unique ID of the custom source to delete. |
{
"type": "object",
"required": [
"source_id"
],
"properties": {
"source_id": {
"type": "string",
"description": "Unique ID of the custom source to delete."
}
}
}Evaluate a draft social post against the live music industry news cycle. Returns critical editorial feedback, quality score (0-100), timeliness verdict, and an improved rewrite. Does NOT publish or modify content.
| Argument | Type | Description |
|---|---|---|
| platform | string | Target social platform (default twitter). |
| post_content* | string | The draft post text to critique and improve. |
{
"type": "object",
"required": [
"post_content"
],
"properties": {
"platform": {
"enum": [
"twitter",
"linkedin"
],
"type": "string",
"default": "twitter",
"description": "Target social platform (default twitter)."
},
"post_content": {
"type": "string",
"description": "The draft post text to critique and improve."
}
}
}Schedule a draft post for publishing at a designated future time. Supply content directly or reference existing content_id.
| Argument | Type | Description |
|---|---|---|
| title | string | Optional title for dashboard queue. |
| content | string | Post text if scheduling new draft directly. |
| platform | string | Target publishing platform. |
| story_id | string | Optional originating story ID. |
| content_id | string | Existing Post ID to schedule. |
| scheduled_for* | string | ISO 8601 target publish timestamp (e.g. 2026-08-25T14:00:00Z). |
{
"type": "object",
"required": [
"scheduled_for"
],
"properties": {
"title": {
"type": "string",
"description": "Optional title for dashboard queue."
},
"content": {
"type": "string",
"description": "Post text if scheduling new draft directly."
},
"platform": {
"enum": [
"twitter",
"linkedin",
"newsletter"
],
"type": "string",
"description": "Target publishing platform."
},
"story_id": {
"type": "string",
"description": "Optional originating story ID."
},
"content_id": {
"type": "string",
"description": "Existing Post ID to schedule."
},
"scheduled_for": {
"type": "string",
"description": "ISO 8601 target publish timestamp (e.g. 2026-08-25T14:00:00Z)."
}
}
}Update the sampling, length, and additional writing rules used for future Jacks.
| Argument | Type | Description |
|---|---|---|
| max_tokens | number | Maximum tokens in completion (default 1024). |
| extra_rules | string | Additional instructions appended to the generation system prompt. |
| temperature | number | Sampling temperature between 0.0 and 1.0 (default 0.7). |
{
"type": "object",
"properties": {
"max_tokens": {
"type": "number",
"description": "Maximum tokens in completion (default 1024)."
},
"extra_rules": {
"type": "string",
"description": "Additional instructions appended to the generation system prompt."
},
"temperature": {
"type": "number",
"description": "Sampling temperature between 0.0 and 1.0 (default 0.7)."
}
}
}Save custom brand voice settings (tone, sample posts, avoid words, emoji/hashtag rules) for the authenticated user. Applied to future Jacks.
| Argument | Type | Description |
|---|---|---|
| name | string | Display name for the voice profile. |
| tone | string | Description of desired tone, e.g. 'sharp, witty, industry-insider'. |
| sign_off | string | Optional recurring sign-off line, e.g. 'More soon.' |
| avoid_words | array | Specific words or jargon to exclude from Jacks. |
| allow_emojis | boolean | Whether emojis are allowed in Jacks. |
| sample_posts | array | Representative real posts demonstrating your voice. |
| allow_hashtags | boolean | Whether hashtags are permitted. |
| allow_em_dashes | boolean | Whether em-dashes are permitted. |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Display name for the voice profile."
},
"tone": {
"type": "string",
"description": "Description of desired tone, e.g. 'sharp, witty, industry-insider'."
},
"sign_off": {
"type": "string",
"description": "Optional recurring sign-off line, e.g. 'More soon.'"
},
"avoid_words": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specific words or jargon to exclude from Jacks."
},
"allow_emojis": {
"type": "boolean",
"description": "Whether emojis are allowed in Jacks."
},
"sample_posts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Representative real posts demonstrating your voice."
},
"allow_hashtags": {
"type": "boolean",
"description": "Whether hashtags are permitted."
},
"allow_em_dashes": {
"type": "boolean",
"description": "Whether em-dashes are permitted."
}
}
}Activate or temporarily pause polling for a custom news source feed.
| Argument | Type | Description |
|---|---|---|
| active* | boolean | True to activate polling, false to pause. |
| source_id* | string | The custom source ID. |
{
"type": "object",
"required": [
"source_id",
"active"
],
"properties": {
"active": {
"type": "boolean",
"description": "True to activate polling, false to pause."
},
"source_id": {
"type": "string",
"description": "The custom source ID."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.