{"name":"io.github.fluidumber/autopm","slug":"fluidumber-autopm","title":null,"description":"18 AI product-management robots for market research, financials, and execution specs. No API keys","url":"https://mcp.market/server/fluidumber-autopm","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce"],"presence":{"score":23,"stars":1,"forks":0,"downloads_week":31,"last_push_at":"2026-07-05T06:55:35.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/fluidumber/AutoPM","website":"https://fluidumber.github.io/AutoPM/","version":"4.0.1","remotes":[],"packages":[{"registryType":"npm","identifier":"@productflow/autopm","version":"4.0.1","transport":{"type":"stdio"}}],"tools":[{"name":"accept-terms","description":"Accept the ProductFlow Terms of Service / EULA. Must be called once per persona before running any robot analyses. Until accepted, 'pm-profile-save' will return actionRequired: \"accept-terms\". What the terms cover: - Usage data (ratings, feedback notes) stored locally only in data/brain-database.json - Anonymised process improvement suggestions optionally emailed to the owner (only if PRODUCTFLOW_","write_action":false,"price_micros":0,"input_schema":null},{"name":"add-research","description":"Add external research data to a product. This is a convenience wrapper around 'context-add' specifically for research-flavoured content. Use this when the PM wants to: - Upload user interview transcripts or notes - Paste survey results or analysis findings - Record feedback from prototype testing or A/B experiments - Add competitive intelligence or analyst reports The research data will be automat","write_action":false,"price_micros":0,"input_schema":null},{"name":"ask-create","description":"Register a new Ask/Hypothesis for a product. This creates the foundational structure for running robots on a new problem space.","write_action":true,"price_micros":0,"input_schema":null},{"name":"context-add","description":"Attach a piece of PM-provided context to a product. Context entries feed future analyses — robots see them alongside interview answers. Types: note — ad-hoc note or observation url — a link with optional commentary document — a longer writeup (stored as its own file in context/documents/) analyst-report — third-party research report pasted as text research — external user research (interview trans","write_action":false,"price_micros":0,"input_schema":null},{"name":"context-get","description":"Retrieve the full content of a single context entry by its id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"context-list","description":"List all context entries attached to a product. Optionally filter by type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"epic-list","description":"List all epics generated for a given product by reading the epic robot output. Use this to determine valid epicId and featureId values to pass to downstream robots.","write_action":false,"price_micros":0,"input_schema":null},{"name":"feedback","description":"Save user feedback for a robot's analysis output. Call this after showing the user each robot's results and asking them to rate it. REQUIRED: You MUST provide either 'analysisMarkdown' or 'bypassReason' — never neither. analysisMarkdown — the full analysis text Claude generated for this robot. Providing it here persists it atomically alongside the rating so Phase 2 robots can read Phase 1 outputs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"freshness-check","description":"Show which robot analyses and interview answers are fresh, stale, or missing for a product. Use this BEFORE starting an interview or running robots to decide what can be reused and what should be refreshed. Each robot reports one of: fresh — last run is within the staleness window (reuse automatically) stale — older than the staleness window (re-run recommended) missing — never run The response al","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate-pdd","description":"Assemble a Product Definition Document (PDD) for a product that has completed Phase 2. HOW IT WORKS: 1. This tool loads every robot output saved to disk (Phase 1 + Phase 2) via save-robot-output. 2. It returns a structured assemblyPayload with all those outputs, plus metadata. 3. Claude uses that payload to compose the final PDD JSON according to the schema provided. 4. After Claude generates the ","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate-presentation","description":"Begin the presentation generation process. The presentation is a STRATEGIC artifact — it covers Phase 1 analysis only and is designed for stakeholder buy-in before Phase 2 execution begins. This tool does NOT immediately create the file. TWO INPUT MODES (prefer productSlug): productSlug — loads Phase 1 robot outputs from the workspace (survives server restarts, regeneratable any time). This is the","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-process-suggestions","description":"Retrieve process improvement suggestions generated by the Process Advisor. Suggestions are created automatically after every 5 feedback events for a robot. Two suggestion types: improve-robot — robot's average rating has fallen below 3.5 across 5+ runs new-robot — feedback notes repeatedly mention a topic no existing robot covers Suggestions with frequency >= NOTIFICATION_THRESHOLD (default 3) are","write_action":false,"price_micros":0,"input_schema":null},{"name":"greet","description":"Call this tool FIRST at the start of every new AutoPM session, before any other tool. It returns a complete picture of the PM's current environment: - Where AutoPM stores data on disk (workspace root, profiles dir, products dir) - Which PM personas exist and which is currently active - EULA acceptance status for the active persona - Which products already exist in the workspace - A step-by-step wo","write_action":false,"price_micros":0,"input_schema":null},{"name":"history","description":"Retrieve the history of past product analyses stored in the brain database.","write_action":false,"price_micros":0,"input_schema":null},{"name":"interview","description":"Interactive PM-style interview — ONE question at a time. FIRST CALL: Pass only 'businessIdea' to start the interview. Returns the first question. - Optional: pass 'productSlug' to tie the interview to an existing product so answers persist to disk. - Optional: pass 'useEarlierResearch: true' (requires productSlug) to reuse fresh prior answers — those questions will be pre-filled and skipped. SUBSE","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm-persona-create","description":"Create a new PM persona with an optional initial profile. Does NOT switch to the new persona — call 'pm-persona-switch' to activate it. A persona is an industry-specific PM context (e.g. \"ccaas-pm\", \"ai-cxm-pm\"). Different personas can have different staleness windows and product portfolios.","write_action":true,"price_micros":0,"input_schema":null},{"name":"pm-persona-list","description":"List all PM personas stored in the workspace. Each persona has its own profile, staleness overrides, and products context. Use this at session start to confirm which persona is active, or to switch to a different industry focus.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm-persona-switch","description":"Switch the active PM persona. The persona must already exist — create it first with 'pm-persona-create' if needed. After switching, all subsequent calls to 'pm-profile', 'pm-profile-save', and 'run-robot' will use the new persona's profile and staleness windows.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm-profile","description":"Retrieve the active PM persona's profile (role, industry focus, preferred frameworks, products owned). Returns { exists: false, actionRequired: 'setup' } if no profile exists — interview the PM and call 'pm-profile-save'. If the profile is older than 90 days, returns staleness: 'stale' — confirm it is still accurate before proceeding. To see all available personas, call 'pm-persona-list'. To switc","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm-profile-save","description":"Save or update the active PM persona's profile. All fields are optional — unspecified fields keep their prior values. If no persona is active yet, creates a \"default\" persona automatically.","write_action":false,"price_micros":0,"input_schema":null},{"name":"product-create","description":"Create a new product in the PM's workspace. Scaffolds the directory structure (context/, assets/, product.md, freshness.json) and adds the product to the PM profile's Products Owned list. Idempotent — creating a product that already exists returns the existing one. NOTE: The slug is automatically generated from the name, so you do not need to provide one.","write_action":true,"price_micros":0,"input_schema":null},{"name":"product-get","description":"Retrieve full metadata for a specific product by its slug.","write_action":false,"price_micros":0,"input_schema":null},{"name":"product-list","description":"List all products the PM has created in their workspace. Use this to let the PM pick which product they want to work on in the current session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"product-status","description":"Show the current workflow status for a product across all G1–G8 gates. Gates evaluated (in order): G1 PM Profile exists → G2 Product created → G3 Interview answered G4 Phase 1 complete → G5 Phase 2 promoted → G6 Phase 2 in progress G7 PDD exported → G8 Presentation generated Returns which gates passed, which are blocked, the highest consecutive gate reached, and a precise next-action instruction f","write_action":false,"price_micros":0,"input_schema":null},{"name":"promote-to-phase-2","description":"Promote a product from Phase 1 (strategic discovery) to Phase 2 (execution definition). TWO-CALL PATTERN — promotion requires explicit PM confirmation: CALL 1 — Review (omit 'confirm'): 1. Verifies all 7 Phase 1 robots are fresh (gate check). 2. Loads Phase 1 robot output files and extracts one-line summaries per robot. 3. Surfaces persona, feature, and competitor candidates for PM review. 4. Writ","write_action":false,"price_micros":0,"input_schema":null},{"name":"reset","description":"Clear all saved analysis data and feedback from the brain database.","write_action":false,"price_micros":0,"input_schema":null},{"name":"robots-list","description":"List all available ProductFlow analysis robots with their capabilities, phase grouping, staleness windows, and average user ratings. Phase 1 robots run first (strategic discovery) — no prerequisites. Phase 2 robots run after Phase 1 is complete and promote-to-phase-2 has been confirmed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"run-robot","description":"Run a SINGLE analysis robot and return its results. Call one robot at a time so the PM can review and give feedback before proceeding. Available robots — Phase 1 (strategic discovery, run first): 1. scout — Market demand (TAM/SAM/SOM, growth signals, demand validation) 2. detective — Competitive landscape (competitors, gaps, differentiators, moat) 3. people — User personas (segments, pain points, ","write_action":true,"price_micros":0,"input_schema":null},{"name":"save-artifact","description":"Save any arbitrary file (e.g. .html, .xlsx, .pptx, .md) generated by Claude into the product's assets directory. Supports both text and base64 encoded binary files.","write_action":false,"price_micros":0,"input_schema":null},{"name":"save-design-preferences","description":"Save the user's presentation design preferences to the database.","write_action":false,"price_micros":0,"input_schema":null},{"name":"save-pdd","description":"Persist the PDD JSON that Claude assembled via 'generate-pdd'. This tool: 1. Validates the PDD JSON has a meta block with productName + version. 2. Saves three files to assets/pdd/: pdd-<slug>-v<version>.json — machine-readable PDD pdd-<slug>-v<version>.md — Notion-compatible markdown pdd-<slug>-latest.md — copy of latest version (overwritten on every save) 3. Optionally renders an HTML file to pl","write_action":false,"price_micros":0,"input_schema":null},{"name":"save-presentation-file","description":"Save the raw HTML string generated by Claude into an actual HTML file in the plans directory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"save-robot-output","description":"Save the analysis text that Claude generated for a robot to the product's assets folder. This is distinct from the prompt payload saved by run-robot. This tool saves the ACTUAL ANALYSIS TEXT Claude produced — the content that Phase 2 robots read as their primary input. Call this immediately after Claude generates a robot's analysis, passing the clean Markdown and rich HTML versions. CRITICAL FORMA","write_action":false,"price_micros":0,"input_schema":null},{"name":"select-experiment","description":"Select the winning experiment cluster (or cherry-pick stories) after reviewing multi-cluster output from the user-stories robot. When UserStoriesRobot generates multiple experiment clusters (because experimentClusterCount > 1 in phase2Context), the PM reviews the competing solution hypotheses and selects the best approach. Three selection modes: 1. WHOLE CLUSTER: Pass a single 'clusterId' to accep","write_action":false,"price_micros":0,"input_schema":null},{"name":"staleness-policy","description":"Show the resolved staleness windows (in days) for every ProductFlow artifact. Resolution order (highest precedence wins): 1. Per-product override — products/<slug>/staleness-overrides.json 2. Per-persona override — profiles/<slug>/staleness-overrides.json 3. Project policy — config/staleness-policy.json 4. Compiled-in defaults Each entry shows: windowDays, phase, provenanceSource (which layer set ","write_action":false,"price_micros":0,"input_schema":null},{"name":"start-session","description":"Begin a ProductFlow work session. Call this at the start of every conversation. Evaluates all G1–G8 workflow gates and returns a structured status report showing exactly where the PM is in the 5-step process: G1 PM Profile exists → G2 Product created → G3 Interview answered G4 Phase 1 complete → G5 Phase 2 promoted → G6 Phase 2 in progress G7 PDD exported → G8 Presentation generated Writes active-","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":88,"grade":"A","scanned_at":"2026-09-26T11:36:36.899Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T11:36:36.944Z","components":{"code":{"score":25,"max":25,"notes":["58 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":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 83 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@productflow/autopm","version":"4.0.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-07-05T06:14:32.861Z","repositoryUrl":"git+https://github.com/fluidumber/AutoPM.git","weeklyDownloads":31}],"repo":{"found":true,"owner":"fluidumber","repo":"AutoPM","archived":false,"pushedAt":"2026-07-05T06:55:35Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/19747390?v=4","ownerCreatedAt":"2016-06-04T12:07:51Z"},"icon":{"url":"https://avatars.githubusercontent.com/u/19747390?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":31,"license":"MIT","lastPushAt":"2026-07-05T06:55:35.000Z","score":23}}}},"grade_history":[],"reviews":[]}