{"name":"io.github.unempyd/revenueos","slug":"unempyd-revenueos","title":null,"description":"Self-hosted revenue department: find opportunities, execute approved work, measure results.","url":"https://mcp.market/server/unempyd-revenueos","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":42,"stars":7,"forks":0,"downloads_week":936,"last_push_at":"2026-09-14T06:52:02.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/unempyd/revenueos","website":"https://unempyd.github.io/revenueos/","version":"0.2.4","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"revenueos","version":"0.2.4","runtimeHint":"uvx","transport":{"type":"stdio"},"packageArguments":[{"value":"revenueos-mcp","type":"positional","valueHint":"revenueos-mcp"}],"environmentVariables":[{"description":"Path to the onboarded RevenueOS workspace (defaults to ~/.revenueos).","name":"REVENUEOS_ROOT"},{"description":"Optional: enables the LLM paths (relevance gating, skill execution).","isSecret":true,"name":"ANTHROPIC_API_KEY"}]}],"tools":[{"name":"revenueos_ads_audit","description":"RevenueOS Ads Auditor: ingest an ad platform export and flag wasted spend, over-pacing campaigns and dangerous spend concentration. `csv_path` must be the 13-column claude-ads generic export format (date, account_id, account_name, campaign_id, campaign_name, campaign_status, creative_id, creative_name, conversion_action, conversions, budget, spend, currency); `platform` is one of google, meta, you","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_approve","description":"Approve a pending action from revenueos_today so it can be executed. Approving alone never sends, publishes or spends anything — call revenueos_execute afterwards to act.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_discover_leads","description":"RevenueOS Lead Discovery: read prospects from OpenOutreach (when installed, across a process boundary) and any CSV drop already in data/exports/, then run the qualification gate. Pass `csv_path` (Instantly/Smartlead columns: email, first_name, last_name, company, title, website, linkedin_url, reason) to import one more file first — it is copied into data/exports/leads-<timestamp>.csv. Only a QUALI","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_draft_followups","description":"RevenueOS Sales Follow-up: draft first-touch cold emails for newly discovered prospects from the business's own canon (offer, differentiators, pain points). Drafts are queued as follow_up actions and are never sent by this tool — call revenueos_approve then revenueos_execute to send one. Set REVENUEOS_DRY_RUN=1 (the Community default) to write sends to data/outputs/ instead of over real SMTP.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_execute","description":"Execute an approved action: send the drafted email, or run the matching SKILL.md (SEO fix, ads recommendation, content deliverable) against the business context. This is the only tool in RevenueOS Community that sends, publishes or writes a deliverable, and it only acts on actions already approved with revenueos_approve.","write_action":true,"price_micros":0,"input_schema":null},{"name":"revenueos_ignore","description":"Dismiss a pending action from revenueos_today without acting on it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_lessons","description":"What RevenueOS learned from this business's own measured results: one dated lesson per executed action that was measured (what was attempted, what the evidence showed, what to do differently). Read this before proposing work — the same lessons are injected into every worker prompt. Run `revenueos learn` (or the CLI) to derive new ones from recent outcomes; nothing here is written by this tool.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_measure","description":"RevenueOS Revenue Monitor: check every executed action for a measurable result — an SEO re-crawl, a reply or bounce on a sent email, the next ad export's spend delta, or a written content deliverable — and record it. Outcomes are honest: pending until evidence exists, never fabricated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_results","description":"What RevenueOS Community has done and what measurable result occurred: every executed action with its outcome (emails sent, replies, SEO fixes confirmed by re-crawl, ad spend deltas, deliverables written). Outcomes are honest — pending until real evidence exists.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_run","description":"Run one RevenueOS Community worker now and return what it found: discover, outreach, inbox, seo, ads-audit, content, monitor, measure, or \"all\" to run every worker in order. Workers only analyse and queue actions — they never send, publish or spend.","write_action":true,"price_micros":0,"input_schema":null},{"name":"revenueos_search_skills","description":"RevenueOS Marketing Intelligence: search the unified skill catalogue (SEO, ads, cold email, content, growth — hundreds of vendored playbooks) for a topic and return matching skills with their source and description. Use this to see which skill a content or SEO action would run before approving it, or to find a skill for a task not yet queued.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_seo_audit","description":"RevenueOS SEO Auditor: crawl the business's website for missing titles/descriptions, thin pages, duplicate titles and a missing sitemap, and compare domain authority against its configured competitors. Pass `website` to audit a different URL for this one run. Each defect is queued as a seo_opportunity action pointing at the SEO skill that fixes it — nothing is changed until you call revenueos_appr","write_action":false,"price_micros":0,"input_schema":null},{"name":"revenueos_today","description":"The RevenueOS Community brief: pending opportunities awaiting a decision, current pipeline value, and the latest metrics for this connected business. Call this first to see what RevenueOS found and what is waiting on approve/execute/ignore.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-19T21:32:27.499Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-19T21:32:27.465Z","components":{"code":{"score":8,"max":25,"notes":["291 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 6 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"revenueos-0.2.4/skills/pipelines/video-clip-pipeline/scored_pipeline.py: … Get video title title_result = subprocess.run( f'yt-dlp --get-title \"{args.url}\"', shell=…"},{"id":"exec.shell-true","severity":"medium","component":"code","title":"subprocess with shell=True","evidence":"revenueos-0.2.4/skills/pipelines/video-clip-pipeline/scored_pipeline.py: …y: result = subprocess.run(cmd, shell=True, capture_output=True, text=True, check=…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"revenueos","version":"0.2.4","found":true,"license":"MIT","dependencyCount":23,"publishedAt":"2026-09-13T13:17:18.316600Z"}],"repo":{"found":true,"owner":"unempyd","repo":"revenueos","archived":false,"pushedAt":"2026-09-14T06:52:02Z","stars":7,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/96277767?v=4","ownerCreatedAt":"2021-12-17T04:22:36Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/96277767?v=4&s=128","source":"registry"},"presence":{"stars":7,"forks":0,"downloadsWeek":936,"license":"MIT","lastPushAt":"2026-09-14T06:52:02.000Z","score":42}}}},"grade_history":[{"kind":"restore","fromGrade":"D","toGrade":"C","reason":"score 57: Shell command built from a string (injection risk); subprocess with shell=True","createdAt":"2026-09-19T21:13:43.169Z"}],"reviews":[]}