baba News by baba Hebrew
by isaachorowitz · remote · no sign-in to list tools · v1.0.0 · published by GitHub user isaachorowitz
Israeli news in Hebrew and English: stories, sources, comparisons, coverage gaps, people and trends.
16 tools: 2 change things and 14 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads14Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http baba-news https://news.itsbaba.com/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Changes things 2Claude Code: ask
sources_activityMeasured newsroom behaviour.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Measured newsroom behaviour. What a newsroom did rather than what its profile says it is: crawl outcomes over the window, and the byline, originality, opinion, press-release and filing-lag rates the profile cron computed over its own 30-day window. successRate is over finished runs only, so a crawl still in flight never reads as a failure. Requires the sources API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
stories_membersEvery article in a cluster, paged.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Every article in a cluster, paged. The same member records /v1/stories/{ckey} returns, but paged and filterable by side or lean. side and lean come from the source registry rather than the row, so a filtered page can be shorter than its limit while still issuing a cursor. Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
Only reads 14Claude Code: allow
blindspots_listCoverage gaps, by camp.No findings
Why it is in this group
- The name "blindspots_list" says "list": a word for reading.
Description, as the server wrote it Coverage gaps, by camp. Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
brief_getToday in Brief.No findings
Why it is in this group
- The name "brief_get" says "get": a word for reading.
Description, as the server wrote it Today in Brief. Requires the brief API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
changes_listIncremental change feed.No findings
Why it is in this group
- The name "changes_list" says "list": a word for reading.
Description, as the server wrote it Incremental change feed. Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
people_getOne person, with every spelling folded into them.No findings
Why it is in this group
- The name "people_get" says "get": a word for reading.
Description, as the server wrote it One person, with every spelling folded into them. Identity and aliases. recentCoverage is always null: resolving a person to their stories has no index behind it today, and the field is in the contract so filling it later is additive. Requires the people API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
people_listPeople in the last 24 hours.No findings
Why it is in this group
- The name "people_list" says "list": a word for reading.
Description, as the server wrote it People in the last 24 hours. Requires the people API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
search_listSearch stories.No findings
Why it is in this group
- The name "search_list" says "search": a word for reading.
Description, as the server wrote it Search stories. Requires the search API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
sources_getOne newsroom, with profile when computed.No findings
Why it is in this group
- The name "sources_get" says "get": a word for reading.
Description, as the server wrote it One newsroom, with profile when computed. Requires the sources API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
sources_listList newsrooms.No findings
Why it is in this group
- The name "sources_list" says "list": a word for reading.
Description, as the server wrote it List newsrooms. Requires the sources API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
stories_getStory detail: members, timeline, framing.No findings
Why it is in this group
- The name "stories_get" says "get": a word for reading.
Description, as the server wrote it Story detail: members, timeline, framing. Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
stories_listList stories.No findings
Why it is in this group
- The name "stories_list" says "list": a word for reading.
Description, as the server wrote it List stories. Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
threads_getOne running story and its whole arc.No findings
Why it is in this group
- The name "threads_get" says "get": a word for reading.
Description, as the server wrote it One running story and its whole arc. Every instalment we still hold, newest first, in the same shape as a story on /v1/stories. The arc is bounded by limit and returned whole rather than paged. Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
threads_listList running stories.No findings
Why it is in this group
- The name "threads_list" says "list": a word for reading.
Description, as the server wrote it List running stories. Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
topics_listThe desk register with live volume.No findings
Why it is in this group
- The name "topics_list" says "list": a word for reading.
Description, as the server wrote it The desk register with live volume. Requires the sources API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
trending_listNewsroom momentum ranked by an explicit computed metric (newsroom-momentum-v1).No findings
Why it is in this group
- The name "trending_list" says "list": a word for reading.
Description, as the server wrote it Newsroom momentum ranked by an explicit computed metric (newsroom-momentum-v1). Requires the stories API scope. English is the fallback for untranslated fields.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http baba-news https://news.itsbaba.com/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__baba-news__stories_list",
"mcp__baba-news__stories_get",
"mcp__baba-news__sources_list",
"mcp__baba-news__sources_get",
"mcp__baba-news__brief_get",
"mcp__baba-news__search_list",
"mcp__baba-news__people_list",
"mcp__baba-news__threads_list",
"mcp__baba-news__threads_get",
"mcp__baba-news__trending_list",
"mcp__baba-news__blindspots_list",
"mcp__baba-news__changes_list",
"mcp__baba-news__topics_list",
"mcp__baba-news__people_get"
],
"ask": [
"mcp__baba-news__stories_members",
"mcp__baba-news__sources_activity"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as baba-news. Review it before you use it.
