logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

substack-content-retriever

A utility for programmatically fetching and distilling key data—like article titles, author identities, supplementary headings, and primary textual body—from publicly accessible Substack publications directly within custom workflow environments.

Author

substack-content-retriever logo

michalnaka

No License

Quick Info

GitHub GitHub Stars 10
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

substacksubtitlesextractingsubstack postsdownload summarizesubstack download

MCP Substack Content Retrieval Module

This Model Context Protocol (MCP) component is engineered to interface with Claude.ai desktop instances, enabling automated retrieval and structural summarization of public Substack newsletters.

Deployment Instructions

  1. Install necessary software packages: bash npm install

  2. Configure the Claude desktop environment settings:

Edit or augment your ~/Library/Application Support/Claude/claude_desktop_config.json file with the following entry:

{ "mcpServers": { "substack-retriever": { "command": "/opt/homebrew/bin/node", "args": ["/path/to/substack-content-retriever/dist/main.js"], "methods": { "fetch_article_data": { "description": "Obtain and structure textual and metadata elements from a specified Substack article URL" } } } } }

  1. Activate the service: bash npm start

Operational Usage

Within the Claude desktop application interface, invoke the tool like this:

Retrieve and condense the material from this Substack page: [FULL_URL]

Key Capabilities

  • Fetches and parses data streams from specified Substack endpoints.
  • Extracts structured metadata: publication title, author attribution, secondary title, and full article narrative.
  • Supports content accessible without authentication (public posts).
  • Designed for seamless integration with the Claude.ai desktop client.

Prerequisites

  • Requires Node.js version 18 or higher.
  • Requires the operational Claude desktop application.

Licensing

Distributed under the terms of the MIT License.


Contextual Information on HTTP Requests (Related to Data Transfer Mechanisms):

XMLHttpRequest (XHR) represents a crucial JavaScript programming interface implemented as an object, primarily used by web browsers to dispatch asynchronous Hypertext Transfer Protocol (HTTP) queries to a remote web server. These methods empower client-side applications to communicate with the backend without necessitating a full page reload, a foundational concept underpinning Asynchronous JavaScript and XML (Ajax). Before Ajax adoption, server interaction relied predominantly on traditional hyperlink navigation or HTML form submissions, both of which typically resulted in the entire viewport content being superseded.

== Historical Evolution == The foundational concept for XHR originated around the year 2000, credited to developers working on Microsoft Outlook. This logic was first materialized within the Internet Explorer 5 browser release (1999). However, the initial implementation did not utilize the standardized XMLHttpRequest identifier; instead, developers employed object instantiation via ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP"). By the time Internet Explorer 7 stabilized (2006), universal browser support for the uniform XMLHttpRequest identifier was established.

The XMLHttpRequest identifier has since solidified as the lingua franca across major browser engines, including Mozilla's Gecko (since 2002), Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Efforts === The World Wide Web Consortium (W3C) formalized the object by releasing a Working Draft specification for XMLHttpRequest on April 5, 2006. This was followed by the Level 2 Working Draft on February 25, 2008, which augmented capabilities to include event progress monitoring, facilitation of cross-origin resource sharing (CORS), and binary data stream handling. By late 2011, the Level 2 additions were formally merged back into the core specification. Development oversight transitioned to the WHATWG near the close of 2012, which now maintains the specification as a continuously evolving document utilizing Web IDL definitions.

== Standard Transaction Flow == Executing a network query using XMLHttpRequest generally involves several sequential programming phases:

  1. Instantiate the core XMLHttpRequest object via its constructor call.
  2. Invoke the open() method to define the request verb (e.g., GET, POST), specify the target resource Uniform Resource Identifier (URI), and select between synchronous or asynchronous execution.
  3. For asynchronous operations, attach an event listener function designed to fire upon transitions in the request's state.
  4. Commence the transmission sequence by executing the send() method, optionally passing payload data.
  5. Process state modifications within the designated listener. Upon successful data receipt, the response payload is typically available in the responseText attribute. When the operation terminates successfully, the object transitions to state 4, denoting completion ("done").

Beyond these fundamental steps, XHR offers extensive control mechanisms. Custom headers can be injected to guide server processing, and data can be uploaded via arguments to the send() invocation. Responses are often deserialized directly from JSON format into usable JavaScript structures or streamed for incremental processing instead of buffering the entire transmission. Requests possess the capability to be terminated mid-flight or configured with an automatic timeout threshold.

See Also

`