Content Extract MCP

Python MCP scaffold for article content extraction, structured summary validation, and deterministic filtering.

Run

pip install -e .
summary-mcp

The server exposes three tools:

  • extract_url_content
  • extract_item_content
  • filter_summary_result

Validate an LLM summary result:

validate-llm-result outputs/result.json --extracted outputs/read-flow-2026.extracted.json

Run the minimal extraction-to-summary loop:

python scripts/run_summary_loop.py ^
  --extracted outputs/read-flow-2026.extracted.json ^
  --prompt outputs/llm-summary-prompt.txt ^
  --output outputs/result.json

Pull FreshRSS entries and map them into normalized item objects:

set FRESHRSS_API_BASE_URL=http://127.0.0.1:8081/api/greader.php
set FRESHRSS_USERNAME=bot
set FRESHRSS_API_PASSWORD=your-api-password
python scripts/pull_freshrss_items.py --limit 5

The script writes:

  • outputs/freshrss.raw.json
  • outputs/freshrss.items.json

Pull FreshRSS entries and run content extraction for each mapped item:

set FRESHRSS_API_BASE_URL=http://127.0.0.1:8081/api/greader.php
set FRESHRSS_USERNAME=osiman
set FRESHRSS_API_PASSWORD=your-api-password
python scripts/run_freshrss_extract.py --limit 1

The script writes:

  • outputs/freshrss.raw.json
  • outputs/freshrss.items.json
  • outputs/freshrss.extracted.json

Run deterministic filter rules against a structured summary result:

python scripts/run_filter_rules.py ^
  --summary outputs/result.json ^
  --extracted outputs/read-flow-2026.extracted.json ^
  --output outputs/filter-decision.json

You can optionally pass a context file to inject interest topics or source tags:

python scripts/run_filter_rules.py ^
  --summary outputs/result.json ^
  --extracted outputs/read-flow-2026.extracted.json ^
  --context outputs/filter-context.json ^
  --output outputs/filter-decision.with-context.json
S
Description
No description provided
Readme
1.2 MiB
Languages
Python 100%