Skip to main content
Glama
dmitriiweb

article-scraper-mcp

by dmitriiweb

Article Scraper MCP

A Model Context Protocol (MCP) server that fetches article data from URLs using newspaper3k.

Features

  • Extract article title, text, author, and publication date

  • Robust error handling and URL validation

  • Structured data output

  • Built with FastMCP for easy integration

Related MCP server: Web Scraper MCP Server

Installation

Install directly from PyPI:

uvx article-scraper-mcp

Usage

Add to your MCP client configuration:

{
  "mcpServers": {
    "article-scraper": {
      "command": "uvx",
      "args": ["article-scraper-mcp"]
    }
  }
}

API

fetch_article(url: str) -> dict[str, Any]

Fetches and parses a news article from the given URL.

Parameters:

  • url: The URL of the news article to fetch

Returns: A dictionary containing:

  • title: Article title

  • text: Article content text

  • author: Author name(s) (may be None)

  • date: Publication date in ISO format (may be None)

Raises:

  • ValueError: If URL is invalid or article cannot be parsed

  • requests.RequestException: If HTTP request fails

Requirements

  • Python 3.11+

  • newspaper3k

  • requests

  • loguru

  • mcp[cli]

License

MIT

Available Tools

1 tool
fetch_articleA

Fetch a news article by URL and return structured data.

Args:
    url: The URL of the news article.

Returns:
    A dict with keys: title, text, author, date.
    
Raises:
    ValueError: If URL is invalid or article cannot be parsed.
    requests.RequestException: If HTTP request fails.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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 burden. It discloses that the tool raises ValueError for invalid URLs and requests.RequestException for HTTP failures. It does not mention other behaviors like caching, speed, or idempotency, but for a simple fetch tool, the error disclosure is sufficient.

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

Conciseness4/5

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

The description is structured with clear sections for Args, Returns, and Raises. It is comprehensive without being verbose. A slight reduction in verbosity (e.g., removing trivial lines) could improve conciseness, but it remains efficient.

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 simple tool (one parameter, no siblings), the description is complete. It explains input, output format, and error conditions. An output schema exists, so the return structure is also formally defined. No gaps remain for an agent to use this tool correctly.

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

Parameters3/5

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

The only parameter 'url' has a brief description 'The URL of the news article' in the docstring, but schema coverage is 0% (the schema has no description). The description adds minimal meaning beyond the parameter name. For a single required string parameter, this is adequate but not exemplary.

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 clearly states the tool fetches a news article by URL and returns structured data with specific keys (title, text, author, date). The verb 'Fetch' and resource 'news article' are specific, and the return structure is explicit.

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?

No sibling tools are provided, so differentiation is not required. However, the description lacks explicit guidance on when to use this tool versus alternatives (e.g., for summary or translation). The Args/Returns/Raises format implies usage but does not give contextual cues.

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. 1 tool updatev0.1.0
    • First observedfetch_article

TDQS

A4.1/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The purpose is singular and clear.

Naming Consistency5/5

With only one tool, naming consistency is not an issue. The name 'fetch_article' follows a clear verb_noun pattern.

Tool Count3/5

One tool is minimal for a server named 'article-scraper-mcp', which might imply more features like batch fetching or source listing. However, the tool is functional and well-defined, so it is borderline acceptable.

Completeness4/5

The single tool covers the core operation of fetching a structured article from a URL. Minor gaps exist, such as lack of support for multiple articles or error handling variations, but the basic use case is fully addressed.

Maintenance

ActivityInactive
ResponsivenessSyncing

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
    C
    quality
    D
    maintenance
    Enables access to news from multiple sources including Google News and DuckDuckGo, supporting queries by location, category, site, date range, and providing top news headlines with detailed information.
    7
    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/dmitriiweb/article-scraper-mcp'

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