
Company News
Jerod Santo Joins Socket as Head of Media
Allow myself to introduce... myself.
@evan-moon/skope
Advanced tools
Local-first, AI-native personalized news intelligence — a lens + watcher on the world. Built-in MCP server for Claude Desktop.
Your feed shows you everything.
skope shows you what reaches you.
Stop hunting the news. Let Claude scan the world, keep only what has a path to your
life — your money, your work, your country — and watch you against your own bubble.
You: Catch me up on today's news.
Claude: Scanning across your axes — TSLA, Toss, React, Seoul — and the world.
Skimmed ~40 headlines, 9 reached you. Here's your brief:
[Your radar]
· Tesla Q3 deliveries beat estimates, TSLA +6% (asset · Reuters · T1)
· Toss parent Viva Republica eyes 2026 US IPO (career · Yonhap · T2)
· React 19 ships with the new compiler (knowledge · The Verge)
[The world] Bank of Korea holds rates · UN climate summit opens
⚠ Attention check: 71% of this week sat on your asset axis (effective N=1.4).
Want a cold-divergence pick to widen the lens?
You: Why does a Brazil rate hike matter to me?
Claude: Brazil hiked → EM capital outflows → dollar strength → your USD-100%
net worth and TSLA's valuation. Three steps, every one of them to you.
A "Rio street festival" headline? Zero path. You'll never see it.
Brazil rate hike → dollar → your TSLA reaches you. a stranger's daily life abroad doesn't. You get broadened without getting flooded.~/.skope/skope.db. No server, no account, no cloud. The only thing that ever leaves your machine is a search query.# 1. Install
npm install -g @evan-moon/skope
# 2. Seed a profile (works with zero integrations)
skope init --location "Seoul, Korea" --languages ko,en
# 3. Connect Claude Desktop, then restart it
skope mcp install
Then just talk to Claude: "set up my interests" (it fills your axes), then "what's my news today?" Claude searches the web itself, hands the results to skope, and reads you back a brief — broad enough to break your bubble, narrow enough to skip a festival on the other side of the planet.
If skope helps you see the news that actually reaches you, ⭐ star the repo — it's the cheapest way to help others find it.
skope is MCP-first. Searching, scoring, briefing, explaining — all of it happens in conversation with Claude. The CLI exists for the things a chat can't safely own: setup and inspection.
# Setup
skope init --location "City, Country" # seed a cold-start profile
skope config set tavily-key <key> # optional — only for the scan_news fallback
skope mcp install # register with Claude Desktop
# Inspect (read-only)
skope profile # show your axes and weights
Everything else is a conversation. The MCP tools Claude drives:
| Tool | What it does |
|---|---|
show_profile / update_profile | read / set your axes, weights, and location (the federation entry point) |
ingest_news | primary, key-less — Claude searches the web, hands results here; skope dedups, tier-tags, and reachability-scores them |
scan_news | fallback — skope fetches via Tavily when a client has no web search of its own |
get_brief | assemble the two-layer brief: [your radar] + [the world] + the concentration meter |
mark_read | drop seen stories from future briefs (deterministically) |
The boundary is the whole point: collection is active and lives with the LLM; the ledger is deterministic and lives with skope (URL/content dedup, rule-based reachability, trust-tiered ranking, effective-N — never LLM guesswork).
A Yarn Berry monorepo with a strict port-and-adapter layout. Business logic never imports an external API directly — it talks to domain interfaces, and adapters implement them.
packages/
domain/ ports + types (Profile, Article, ReachabilitySeed, SearchProvider), zero external-API knowledge
external-api/ raw clients (tavily) + trust-tier seed data (source-trust), zero domain knowledge
adapter/ the only layer that imports both sides
use-case/ business logic (profile, discovery, brief, watch)
shared/ db + utils
apps/
cli/ mcp/ docs/
The rule: use-case reaches the web only through the domain's SearchProvider port — never the concrete Tavily client. Trust tiering and reachability are pure, deterministic rules. Reachability stores only the rule-match seed; Claude renders the causal-chain narrative statelessly at brief time.
Verified end-to-end by 48 MCP scenarios across 5 adversarial test rounds (test/mcp-tests-*.mjs).
Requires Node.js 22+ and Yarn Berry.
corepack enable
yarn install
yarn build
yarn typecheck
yarn dev:mcp # run the MCP server over stdio
node test/mcp-tests.mjs # end-to-end MCP regression suite
skope is the world-lens of a small local-first AI stack: firma (your money), memex (your memory), and skope (your news). Three tools, one principle — your data stays on your machine, and the AI comes to it.
MIT © Evan Moon
FAQs
Local-first, AI-native personalized news intelligence — a lens + watcher on the world. Built-in MCP server for Claude Desktop.
The npm package @evan-moon/skope receives a total of 1 weekly downloads. As such, @evan-moon/skope popularity was classified as not popular.
We found that @evan-moon/skope demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Allow myself to introduce... myself.

Research
/Security News
A Twitch browser extension on Chrome and Firefox forwards users’ live OAuth session tokens through proxies controlled by a Russian bot service.

Security News
Anthropic found biased reasoning and recklessness drove Claude Mythos 5 to publish malware on PyPI and compromise a security vendor.