# mcp-reddit Development Worklog

**RULES:**

- **ONLY append new entries to the TOP** - never edit or delete older entries
- **Run `date -u +"%Y-%m-%d %H:%M:%S UTC"` to get the timestamp** - do NOT guess

## 2026-01-22 09:03:04 UTC

**Activity**: Added HTTP/SSE transport for remote MCP clients
**What**: Server now supports both stdio (local) and HTTP/SSE (remote) modes
**Details**:

- Added `--http`, `--host`, `--port` flags to run in HTTP mode
- Added `/health`, `/sse`, `/messages/` endpoints using Starlette + Uvicorn
- Reads `PORT` env var for cloud deployments (Railway, etc.)
- Added `__main__.py` for `python -m mcp_reddit` support
- Tested deployment on Railway - working
- Bumped version to 0.3.0

---

## 2025-12-30 03:22:24 UTC

**Activity**: Fixed Claude Desktop config instructions in README
**What**: Claude Desktop doesn't inherit shell PATH, so `uvx` command wasn't found
**Details**:

- User testing revealed "Failed to spawn process: No such file or directory" error
- Root cause: Claude Desktop GUI app doesn't inherit shell PATH where uvx lives (~/.local/bin/)
- Updated README to instruct users to run `which uvx` and use full path in config
- Fixed both main config example and env variable example
- Tested with full path `/Users/naman/.local/bin/uvx` - pending restart to confirm

---

## 2025-12-28 09:14:53 UTC

**Activity**: Added download_media to scrape_post
**What**: scrape_post now supports downloading images/videos
**Details**:

- Added download_media and data_dir params to fetch_post_async/run_fetch_post
- Updated server.py tool definition and handler
- Returns media_paths in response showing where files saved
- Tested - downloads to ~/.mcp-reddit/data/r\_{subreddit}/media/images/
- Bumped version to 0.2.1

---

## 2025-12-28 09:03:48 UTC

**Activity**: Added scrape_post tool
**What**: New tool to fetch a specific Reddit post by URL
**Details**:

- Added `parse_reddit_url()` to extract permalink from any Reddit URL format
- Added `fetch_post_async()` and `run_fetch_post()` in scraper.py
- Added `scrape_post` tool in server.py (8 tools total now)
- Updated README, CLAUDE.md with new tool
- Tested locally - works with FantasyPL post
- Bumped version to 0.2.0 (new feature)

---

## 2025-12-28 08:46:27 UTC

**Activity**: Preparing v0.1.1 release
**What**: Tested PyPI install, bumped version, ran pre-deploy checks
**Details**:

- Removed local MCP, installed from PyPI via `uvx mcp-reddit`
- Tested all 7 tools - all working
- Bumped version to 0.1.1 in pyproject.toml and **init**.py
- Ran docs-sync (all synced) and deploy-check (all clear)
- Lint and type checks pass

---

## 2025-12-28 08:35:47 UTC

**Activity**: Improved hooks and CLAUDE.md
**What**: Made stop hook smarter, updated CLAUDE.md with project-specific info
**Details**:

- Updated `stop_worklog_check.py` to check for actual uncommitted file changes (git status) instead of time-based staleness
- Filters out worklog.md and .claude/ from change detection
- Only prompts if real work done AND not documented in last 5 min
- Rewrote CLAUDE.md with proper project overview, Python dev commands, architecture docs
- Installed prettier globally for JSON/MD formatting in hooks

---

## 2025-12-28 08:29:57 UTC

**Activity**: Fixed lint and type issues
**What**: Resolved all ruff and mypy errors
**Details**:

- Removed unused `Path` import in scraper.py
- Changed Tool annotations from dict to `ToolAnnotations()` class (mypy)
- Added type hint `dict[str, list[Any]]` for `results` variable
- Installed `types-aiofiles` and `pandas-stubs` for mypy
- Installed `ruff` and `prettier` globally for hooks to work

---

## 2025-12-28 08:19:07 UTC

**Activity**: Published to PyPI
**What**: Package live at https://pypi.org/project/mcp-reddit/0.1.0/
**Details**:

- Created PyPI account (namanajmera)
- Generated API token, built package with `python -m build`
- Uploaded with twine to PyPI
- Added PYPI_TOKEN as GitHub secret for auto-publish on releases
- Tested local MCP via `claude mcp add`
  **Next**: Optional - register in MCP Registry, announce on r/ClaudeAI

---

## 2025-12-28 07:40:07 UTC

**Activity**: Created open-source MCP Reddit package
**What**: Built standalone MCP server for Reddit scraping, ready for PyPI
**Details**:

- Researched existing Reddit MCPs (Hawstein, Arindam) - ours has unique features (media download, local persistence, no API keys)
- Followed Anthropic's 3-tier distribution model (PyPI → MCP Registry → Anthropic Directory)
- Created src/mcp_reddit/ with server.py (7 tools with annotations) and scraper.py (async)
- Added pyproject.toml, server.json, README with credits to @ksanjeev284
- Installed Python 3.12 via Homebrew, tested package installation
- Verified all MCP tools work (list_scraped_sources, get_top_posts, search_reddit, etc.)
- Initialized git repo, committed initial package
  **Next**: Push to GitHub, add PYPI_TOKEN secret, create release to publish

---

## 2025-12-28 06:56:59 UTC

**Activity**: Project setup
**What**: Initialized Claude Code configuration
**Details**: Added CLAUDE.md, hooks, skills, output styles, worklog
**Next**: Start development

---
