This is a submission for the Notion MCP Challenge
What I Built
AutoPM is an AI-powered product management assistant that turns a single product idea
into a fully structured Notion workspace β PRDs, task breakdowns, daily standups, and
sprint plans β in seconds.
No more context-switching between AI tools and your Notion workspace. Just describe your
product idea, and AutoPM:
- Generates a full PRD β problem statement, goals, user personas, user stories, and out-of-scope items
- Breaks it into Epics & Tasks β with priorities, story points, and a ready-to-go Sprint 1 plan (~20 story points)
- Writes everything directly to Notion via Notion MCP
- Reads your workspace via MCP to generate context-aware daily standups and sprint plans from your real backlog
π Live demo: autopm-two.vercel.app
π GitHub: github.com/himanshu748/dev-challenge-1
Video Demo
Show us the code
AutoPM β AI Product Manager
AI-powered product management assistant that creates PRDs, task breakdowns, standups, and sprint plans directly in Notion β built with HuggingFace Inference API + Notion MCP.
Built for the dev.to Notion MCP Challenge.
Live demo: autopm-two.vercel.app
What It Does
Enter a product idea and AutoPM:
- Generates a full PRD via HuggingFace AI (problem, goals, personas, user stories, scope)
- Creates an Epics & Tasks breakdown with priorities and story points
- Writes everything to Notion via Notion MCP (stdio transport)
- Reads your workspace via MCP to generate context-aware standups and sprint plans
How I Used Notion MCP
AutoPM uses @notionhq/notion-mcp-server via stdio transport for ALL Notion operations:
-
Reads β
API-post-searchto scan workspace pages,API-get-block-childrento read task data -
Writes β
API-post-pageto create PRD pages, task breakdowns, standup reports, sprint plans -
Auth check β
API-get-selfto verify MCP connectivity on health check
The MCP serverβ¦
How I Used Notion MCP
Notion MCP is the backbone of AutoPM β every single Notion interaction goes through it,
zero direct REST calls.
I spin up @notionhq/notion-mcp-server as a stdio child process per request, managed
by the Python mcp SDK's ClientSession:
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async with stdio_client(StdioServerParameters(
command="npx",
args=["-y", "@notionhq/notion-mcp-server"],
env={"NOTION_TOKEN": token},
)) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
await session.call_tool("API-post-page", {...})
MCP tools used
| Tool | Purpose |
|---|---|
API-get-self |
Health check β verify MCP connectivity on startup |
API-post-search |
Scan workspace for existing pages before generating standups |
API-get-block-children |
Read task data from Notion for context-aware generation |
API-post-page |
Create PRD pages, task breakdowns, standup reports, sprint plans |
What Notion MCP actually unlocks
Without MCP, AutoPM would be a one-way pipe β generate content, dump it somewhere.
With MCP, it becomes bidirectional: it reads your existing workspace state before
generating anything. The standup and sprint planner aren't making things up β they're
grounded in your actual Notion data. That's the real unlock.
Architecture
βββββββββββββββββββ ββββββββββββββββββββββββ ββββββββββββββββββββββββ
β Browser (UI) ββββββΆβ FastAPI Backend ββββββΆβ Notion MCP Server β
β Vanilla HTML β β (Python) β β (stdio transport) β
βββββββββββββββββββ ββββββββββ¬ββββββββββββββ β npx @notionhq/ β
β β notion-mcp-server β
βΌ ββββββββββββ¬ββββββββββββ
ββββββββββββββββββββ β
β HuggingFace β βΌ
β Inference API β βββββββββββββββββββ
β (Qwen 72B) β β Notion API β
ββββββββββββββββββββ βββββββββββββββββββ
Flow: HuggingFace (Qwen 2.5 72B) generates structured PM content β FastAPI formats
Notion blocks β MCP writes/reads Notion workspace
Tech Stack
- Backend: FastAPI (Python)
-
AI: HuggingFace Inference API β
Qwen/Qwen2.5-72B-Instruct(free tier!) -
Notion:
@notionhq/notion-mcp-servervia stdio transport -
MCP SDK: Python
mcppackage βClientSession+StdioServerParameters - Frontend: Vanilla HTML/CSS/JS, glassmorphism dark theme
- Deployed on: Vercel


Top comments (0)