Skip to main content
Glama
Claudefarid

bangla-news-radar

by Claudefarid

bangla-news-radar

Monitor Bangladeshi newspapers from your AI assistant. Ask what the press is saying about a brand, a person, or a topic — and get back real headlines from real papers, in Bengali or English.

An MCP server built with FastMCP.

Unofficial. Not affiliated with any of the newspapers listed. It reads the public RSS feeds they already publish for syndication.

Why

There is no easy way to ask "which Bangladeshi papers are covering this right now?" — you open five tabs and scroll. This turns that into one question.

Useful for PR and brand monitoring, competitor tracking, or seeing how differently outlets frame the same story.

Related MCP server: @cyanheads/gdelt-mcp-server

Tools

Tool

What it does

scan_news(keyword, sources, limit)

Latest articles across every paper, newest first. Filter by keyword to spot mentions.

compare_coverage(topic)

Which papers are running a story — and which are staying silent.

deep_search(query, limit)

Search Prothom Alo's full archive (hundreds of thousands of articles).

list_sources()

Which papers are covered, and which are excluded and why.

Keyword matching is case-insensitive and works in Bengali.

Sources

Paper

Language

Coverage

প্রথম আলো

Bengali

Recent feed + full archive search

রাইজিংবিডি

Bengali

Recent feed

জাগো নিউজ ২৪

Bengali

Recent feed

The Daily Star

English

Business, Sports, Opinion sections

Around 250+ current articles per scan, fetched in parallel.

Deliberately excluded: Jugantor, Kaler Kantho and bdnews24 return HTTP 403 to automated requests. That is their choice and this tool respects it — no spoofed headers, no scraping around the block.

No working feed found: Samakal (/feed serves HTML), Ittefaq, Bangla Tribune.

Install

Requires uv and Python 3.12+.

git clone https://github.com/Claudefarid/bangla-news-radar.git
cd bangla-news-radar
uv sync
uv run fastmcp install claude-code server.py:mcp

Restart your client, then ask it things like "Which Bangladeshi papers wrote about bKash this week?" No API key or login required.

Verify with uv run python test_server.py.

Notes for anyone building something similar

  • The Daily Star's site-wide /rss.xml is stale — its newest item was over three months old when this was written. The per-section feeds (/business/rss.xml, etc.) are current. Check freshness before trusting any feed.

  • Only Prothom Alo exposes a search API (it runs on Quintype, at /api/v1/search). The other papers offer feeds only, which is why scan_news searches within recent articles while deep_search reaches one paper's archive. The tool descriptions say so, so the model doesn't imply archive-wide coverage it does not have.

  • The Daily Star puts HTML inside its <title> tags — headlines arrive wrapped in an unescaped <a href="...">. ElementTree parses that anchor as a child element, so findtext("title") returns an empty string rather than raising. Every Daily Star headline was blank, and since an empty headline matches no keyword, compare_coverage reported the paper as not covering topics it was covering all along. Read descendant text with "".join(element.itertext()). A silent parse failure that looks like a real editorial finding is the worst kind of bug in a monitoring tool.

  • Feeds are fetched concurrently and one dead feed cannot sink a scan — failures come back in an unreachable field instead of raising.

Please be considerate

Headlines and summaries are the copyrighted work of the publishers. This is for monitoring, research and summarization — not republication. Requests identify themselves by User-Agent. Keep your volume sane.

License

MIT — see LICENSE. Covers this code only, not any content retrieved through it.

Available Tools

4 tools
compare_coverageCompare CoverageB

See which newspapers are covering a topic right now, and how they frame it.

Groups current matching headlines by paper — useful for spotting who is running a story, who is ignoring it, and how the angle differs.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It does add meaningful behavior by stating that the tool 'groups current matching headlines by paper' and implies a live 'right now' scope. It does not mention any caveats such as source coverage limits, matching semantics, or whether the operation is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tight, front-loaded sentences with no filler. The first sentence states the purpose and scope, and the second explains the grouping behavior and the practical value for the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read/comparison tool with an output schema provided, the description is largely complete: it covers the main behavior and typical use case while leaving return-format details to the output schema. The main missing pieces are explicit sibling differentiation and precise semantics around 'current' and 'topic', but those are already reflected in other dimension scores.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has only a required string 'topic' with zero description coverage, so the description must compensate. It only restates that the tool is about 'a topic', providing no format, examples, or matching guidance. This is a weak contribution below the baseline needed for a schema with no parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a comparison action over news coverage, grouping current matching headlines by newspaper and exposing framing differences. It does not explicitly name sibling tools for contrast, but the core purpose and resource are unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says it is useful for spotting who is running a story, who is ignoring it, and how the angle differs, which implies a comparative use case. However, it never states when to prefer compare_coverage over siblings like scan_news or deep_search, and it gives no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sourcesList SourcesA

List the newspapers this radar covers, and which are deliberately excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It clearly indicates a read-only listing operation and adds meaningful nuance that the response includes both covered and deliberately excluded newspapers. This goes beyond the title and gives the agent a fuller picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence communicates the full scope without any wasted words. Every element earns its place and the deliberate-exclusion detail is added efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, zero parameters, and available output schema, the description is complete. It tells the agent exactly what will be returned without needing to cover return-value formatting.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline of 4 applies. The description does not need to explain parameter semantics because there are none to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('newspapers this radar covers'), and explicitly distinguishes itself by also including deliberately excluded sources. This makes the tool's purpose clear even among siblings like scan_news and deep_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool—when you need the radar's source list—but does not explicitly contrast it with siblings or state when not to use it. There are no exclusions or alternative routing clues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_newsScan NewsA

Scan the latest articles across Bangladeshi newspapers, newest first.

Pass keyword to keep only articles whose headline or summary mentions it — this is the fastest way to check whether a brand, person, or topic is being covered right now. Matching is case-insensitive and works in Bengali.

sources limits the scan; omit it to cover every paper. Use list_sources to see the options.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
keywordNo
sourcesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does well: it explains recency ordering, keyword matching behavior (case-insensitive, Bengali), and sources default behavior. It implies a read-only scan and does not mention edge cases like empty results or pagination, but the provided behavior is substantially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, well-structured, and front-loaded with the core purpose. Each paragraph earns its place by covering the main behavior, keyword semantics, and sources option without unnecessary filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values need not be described. The description covers the main use case, filtering behavior, and sources. It is slightly incomplete in not clarifying how this tool relates to deep_search or compare_coverage and in omitting limit semantics, but overall it is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description compensates by explaining keyword and sources in meaningful detail. It does not explain the limit parameter, though 'limit' with a default of 20 is reasonably self-explanatory from the schema. Overall, it adds strong semantics for two of the three parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scans the latest articles across Bangladeshi newspapers, newest first, and explains the keyword filtering use case. However, it does not explicitly differentiate from sibling tools like deep_search or compare_coverage, so the distinction is mostly implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: use keyword to check whether a brand, person, or topic is being covered right now, and use sources to limit coverage. It also points to list_sources for available options, but it does not provide explicit when-not-to-use guidance or compare against deep_search/compare_coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.0
    • First observedcompare_coverage
    • First observeddeep_search
    • First observedlist_sources
    • First observedscan_news

TDQS

A3.9/5.0
Disambiguation4/5

scan_news and compare_coverage both deal with current coverage, but one returns article lists while the other groups coverage by newspaper, so their purposes are distinct. deep_search and list_sources are clearly separate. The only minor ambiguity is whether a user wants raw articles or comparative framing.

Naming Consistency4/5

Most tool names follow a verb_noun snake_case pattern: scan_news, compare_coverage, list_sources. deep_search is a minor stylistic deviation but is still readable and uses the same lowercase underscore convention. Overall the naming is predictable and consistent enough for an agent.

Tool Count5/5

Four tools is well-scoped for a news monitoring server: current scanning, cross-paper comparison, deep archive search, and source listing. Each tool earns its place and there is no redundant or decorative surface area.

Completeness4/5

The core workflows of monitoring, comparing, and searching coverage are covered. The main gap is the lack of a tool to fetch full article content or retrieve a specific article by ID, but this is workable given the headline/summary focus of the server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Search, trending, topics, and local news all in one MCP server. Article previews, deduplication, source filtering, and 40+ languages built in.
    18
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables global news retrieval across multiple countries and categories (world, country, technology, science) via RSS feeds, exposing reusable MCP tools for fetching and searching news articles with no API keys required.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to query news mention volume time series, growth percentages, and live Google News feeds as an MCP tool, integrating with AI hosts like Claude and Cursor.
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Claudefarid/bangla-news-radar'

If you have feedback or need assistance with the MCP directory API, please join our Discord server