← /en/newsletter

EXPERIMENTAL · MCP SERVER

SF:// MCP

A publishing channel that lets AI agents read, search, and cite SF:// newsletter issues directly. Works with Claude Desktop, Cursor, Codex, and any MCP-compatible client — one config block, ready to use.

한국어판: SF:// MCP — AI 에이전트로 SF:// 읽기 →

01 · What is MCP?

A standard format for AI assistants to call external tools — like USB.

MCP (Model Context Protocol) is an open standard released by Anthropic in November 2024. In one line — a shared promise that lets any AI assistant call any external data or tool through the same kind of plug.

Before MCP, an AI fetching outside data had to learn each site's bespoke API, or rely on a human to copy-paste. Once MCP is in place, the AI plugs in like a USB cable: one standard interface, any data source.

In the eighteen months since launch, monthly SDK downloads grew from 100K to 97M — a 970× jump. Adobe Marketo, Klaviyo, and Brevo opened MCP servers for their operations tools. But publications themselves opening as MCP — that is still rare.

02 · Why should a publication open MCP?

Because each reader is acquiring a personal AI assistant.

A doctor's note-taker, a lawyer's case-tracker, an accountant's tax-guide reader. Those assistants browse dozens of sources every day. When a publication exposes itself as a tool the assistant can call, the default route for citation, summary, and search comes back under the publication's own control.

Otherwise — a third-party scraper takes that seat. The publication does not know where or how it was read; the content flows to the assistant through someone else's tool. Most large publishers are exactly there today.

SF:// uses the asymmetry of the smallest publisher — free, CC BY-NC, one editor — to try this publishing form first. Related column: "When AI Agents Read the Paper Directly — The Frontier Opened in the Hands of the Smallest Publishers"

03 · What can you do?

Five tools to ask your AI agent about SF:// directly.

list_issues

"Show me recent SF:// issues" → the AI fetches every published issue's title, date, and summary. You see what is available at a glance.

get_issue

"Pull the May 4 issue, gist only" → the AI receives the full body markdown and answers with accurate quotation. No page crawling — the publication itself hands over the source.

search_issues

"Has SF:// covered governance?" → searches across titles, leads, summaries, and bodies, returns ranked matches with snippets. Works in Korean and English.

submit_notev0.2.0+ · outbound

"Send a one-line correction about the SPC paragraph in the May 4 issue" → another AI agent leaves an editorial note for the SF:// editor. No auto-publication — every note enters the moderation queue and is acted on only after human review. This is where the citation grammar between agents first hardens.

list_my_notesv0.3.0+ · inbound · mailbox

"Check my SF:// inbox — any editor reply yet?" → fetch the editor's replies to notes you submitted via submit_note. Use the same agentSignature. Closes the loop on the inter-agent mailbox — neither side opens the website; AI assistants relay back to their masters directly.

04 · Install — one block, all clients

Same config block for every MCP client.

Add the JSON block below to the mcpServers object in your client's config file. The @latest pin forces npx to check for the newest version on every spawn (prevents stale-cache pitfalls). Node.js 20+ is the only requirement.

{
  "mcpServers": {
    "sf-newsletter": {
      "command": "npx",
      "args": ["-y", "sf-newsletter-mcp@latest"]
    }
  }
}

Config file location (per client)

ClientConfig file
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Cursor~/.cursor/mcp.json · or Settings → MCP
Continue (VS Code ext.)~/.continue/config.json under experimental.modelContextProtocolServers
Cline (VS Code)VS Code Settings JSON → cline.mcpServers
Windsurf (Codeium)~/.codeium/windsurf/mcp_config.json
OpenAI Codex CLI / othersSee your client's MCP server registration guide — same shape

Save → fully restart your client → the tools menu now shows sf-newsletter with five tools.

Package: npmjs.com/package/sf-newsletter-mcp · MIT (server code) · CC BY-NC 4.0 (content)

05 · Troubleshooting

Tools missing or stuck on an old version?

Symptom 1: server registered, but no sf-newsletter in the tools menu

  • Fully quit and relaunch the client (Windows: also kill leftover processes via Task Manager). A simple window-close often leaves the stdio process alive on the old config.
  • Some clients (Claude Desktop, etc.) require per-server tool toggling. Check the tools/servers panel next to the chat input and turn sf-newsletter ON.
  • Config JSON syntax errors silently fail — check the client's MCP log/dev console.

Symptom 2: tools show up, but only the old set (e.g. only 4 tools / no list_my_notes)

  • npx is reusing a cached old version. Make sure @latest is in the args, then restart the client.
  • Force-clear the cache: npm cache clean --force → restart client.
  • The hosted HTTP MCP (https://yyaia.org/api/mcp) is always on the latest version — no cache.

Symptom 3: "Node.js not found" or similar spawn error

  • Confirm Node.js 20+ is installed and on PATH. Get the LTS at nodejs.org.
  • On Windows, a system reboot after installing Node is sometimes required for PATH to propagate.

Symptom 4: list_my_notes returns an empty list even though I sent notes

  • Expected behavior. By default only notes the editor has replied to (status=replied) are returned. Pass includeUnreplied=true to also see pending/reviewed/dismissed.
  • The lookup is by agentSignature; use the same exact string on both submit and inbox calls.

Symptom 5: nothing else works — fall back to the hosted HTTP endpoint

  • If your client supports the Streamable HTTP transport, point it at https://yyaia.org/api/mcp directly — no install. Always exposes the latest tool set.

06 · Try it

Type this into your client's chat.

Search SF:// for "Pentagon" and tell me which issues covered it.

The AI calls search_issues → both 5/2 EN and 5/4 EN match → answers with snippets and quoted body.

Mailbox usage (v0.3.0+)

Check my SF:// inbox. Use agentSignature "Claude / Dr. Shin" for the lookup.

The AI calls list_my_notes→ returns notes you've sent under that signature, with any editor reply attached.

07 · Hosted HTTP endpoint — call it without installing anything

https://yyaia.org/api/mcp

For clients that support the Streamable HTTP transport, the same five tools are available without any install — just JSON-RPC POST to the URL above. Hosted on Firebase Functions (asia-northeast3, Seoul region), CORS-enabled, no auth, always on the latest version (no npx caching).

curl example

curl -X POST https://yyaia.org/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"search_issues",
                 "arguments":{"query":"Pentagon","locale":"en"}}}'

health/discovery: GET /api/mcp returns server info and tool list as JSON.

For most users the npx stdio path is simpler. The HTTP endpoint exists for environments where stdio is hard (remote clients, containers, server-to-server).

08 · Source · License · Contact

09 · Roadmap

  • Semantic search — moving beyond keyword matching to embedding-based retrieval.
  • Third-party publications — federated index when other publishers expose their content via the same pattern.
  • Agent reputation — per-signature track record of note quality and acceptance.