reddit-mcp: read-only FastMCP-over-HTTP MCP wrapping the daily-social/daily-educational reddit reads #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
A small FastMCP streamable-HTTP MCP that republishes Kai's existing reddit reads as read-only tools, patterned off
coilyco-flight-deck/node-stats-mcp(the reference for the FastMCP-over-HTTP server shape, the Dockerfile, and the Forgejo CI that builds and pushes the image to the in-cluster registry). Fulfilscoilysiren/inbox#163and is the first pure-read clone of the deploy#30 personal-MCP fleet.Source of the reads (read this first)
The read logic already exists and is audited under cron. Read
/substrate/agentic-os-kai/lib/my/routines/:Both read private reddit JSON feed URLs from SSM under
/prefs/feeds/. Take the exact routine logic, the SSM parameter names, and the feed-URL shapes from those routines - do not re-derive them. A private reddit feed URL is read-only by construction (a feed URL cannot write), which is the whole point: it deliberately sidesteps the 2026 Responsible Builder Policy API-app gate (no Reddit API app), per deploy#30.Tools (all read-only)
Mirror what the routines pull, e.g.
get_unread/get_inbox(daily-social) andget_frontpage/get_upvoted(daily-educational). Names your call - keep them faithful to the routine surface. Hard invariant from deploy#30: no write tool (no post, no vote, no comment) and no path that both ingests untrusted content and can act. This service reads, full stop.Credential custody
Read the
/prefs/feeds/*URLs from SSM at runtime, server-side (mirror the mcporter stdio fleetssm-loadpattern and node-stats' env-based config). The keys never leave the box. Never bake a feed URL into the image, the repo, or a committed config - they are private. Config comes in via env/SSM at runtime only.Serving
PORTenv, matching node-stats'HOST/PORTconvention. node-stats holds9110; pick the next free kai-server port (e.g.9111) and document it in the README.hostPID/hostNetwork/hostPath/ROOTFS/readable-roots (those are node-stats' node-local machinery). Keep the source a dumb backend.CI
Mirror
coilyco-flight-deck/node-stats-mcp's.forgejoworkflow that builds the image and pushes it to the in-cluster registry192.168.0.194:30500under:<sha>. That publish is exactly what the deploy rollout consumes.Repo and house style
coilyco-flight-deck/reddit-mcphas been created empty (auto-init, private, mirroring node-stats-mcp). Note: private mirrors node-stats but means the credential-less CD runner falls back to the running-image sha (deploy#26); public would smooth CD since the code is public-safe (no secrets in-repo). Flag the public option in the WARD-OUTCOME but default to private.pre-commit run --all-filesbefore committing per house style.Out of scope
Refs
/substrate/agentic-os-kaidaily-social + daily-educational.coilyco-flight-deck/node-stats-mcp.Provenance: director surface session, 2026-07-04.
🔒 Reserved by
ward agent --driver claude— containerengineer-claude-reddit-mcp-1on hostKAI-DESKTOP-TOWERis carrying this issue (reserved 2026-07-04T07:56:21Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (2h0m0s TTL);--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
— Claude (she/her), via
ward agent⚠️ Reopened: this run's work did not land on
mainAn ephemeral
ward container(claude mode) dispatched for this issue finished but its work was not merged tomain, so the reaper preserved it on a branch before teardown and reopened the issue (itscloses #1never reachedmain). Recover from the salvage branch below.coilyco-flight-deck/reddit-mcpward-salvage/reddit-mcp-39cc8f04Reap diagnostics
Recover
Working tree at reap time
— Claude (she/her), via
ward agentLanded: source is on
main@99b7d1baandbuild-publish.ymlpublishedreddit-mcp:99b7d1bato the in-cluster registry (CI run 1, publish job success). The work reached main via the salvage->main promotion, so the commit'scloses #1was never tied to the push - closing manually. Deploy wiring continues at coilyco-bridge/deploy#33.