8000 last30days-skill/mcp at main · Shahrainis/last30days-skill · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
 
 

mcp

Folders and files

README.md

last30days-pp-mcp

Go MCP server that wraps the last30days Python engine for Claude Desktop. Packaged as a .mcpb bundle (drag-drop install into Claude Desktop).

The MCP server exposes a single research tool that mirrors the /last30days <topic> slash command available in Claude Code. At runtime the binary extracts the vendored Python engine into a per-user cache and shells out to python3 to produce the synthesis input Claude renders.

Architecture

  • cmd/last30days-pp-mcp/ - server entry point
  • internal/engine/ - embed.FS of the Python engine + cache extractor + subprocess wrapper
  • internal/tools/ - MCP tool handlers (currently research)
  • internal/engine/vendored/ - mirror of skills/last30days/scripts/, generated by scripts/sync-engine.sh (gitignored). Lives inside the engine package because //go:embed cannot reach files outside its own package directory.
  • manifest.json - MCPB v0.3 manifest consumed by Claude Desktop and printing-press bundle

Local build

# Mirror the Python engine into vendored/.
bash scripts/sync-engine.sh

# Build for the current host.
go build -ldflags "-X main.Version=dev" -o build/last30days-pp-mcp ./cmd/last30days-pp-mcp

# Package as a .mcpb (requires the printing-press binary on PATH).
printing-press bundle . --skip-build --binary build/last30days-pp-mcp

The output .mcpb lands at build/last30days-pp-mcp-<os>-<arch>.mcpb. Drag it into Claude Desktop's Extensions panel to install.

Runtime requirements

End users need Python 3.12+. The bundle ships the engine source but relies on the host interpreter and does not install Python. By default the server looks up python3 on PATH; set LAST30DAYS_PYTHON to an explicit Python executable when the default lookup is not suitable.

MCP research denies browser-cookie access by default by passing --no-browser-cookies. Set LAST30DAYS_MCP_ALLOW_BROWSER_COOKIES to 1, true, yes, or on (case-insensitive) to remove that MCP-layer denial. Empty, false, unset, and unrecognized values keep the denial in place. Enabling this variable does not create consent: browser-cookie use still requires the engine's separately recorded consent and configuration.

The research tool passes --research-only, so topics such as setup remain research queries and cannot invoke administrative commands. Preflight and research resolve save destinations through the engine's --resolve-save-dir query, including trusted .env configuration. Set save=false to suppress research file saves.

Versioning

The MCPB manifest.json version is hand-bumped in the same PR that ships engine changes worth releasing. Release CI stamps the Go binary's main.Version from the tag.

0