<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sissi Feng</title>
    <description>The latest articles on DEV Community by Sissi Feng (@sissi_feng_e177b85e70017f).</description>
    <link>https://dev.to/sissi_feng_e177b85e70017f</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2595936%2F7851c6ee-c8c8-4e33-8c39-3651cf63bf51.png</url>
      <title>DEV Community: Sissi Feng</title>
      <link>https://dev.to/sissi_feng_e177b85e70017f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sissi_feng_e177b85e70017f"/>
    <language>en</language>
    <item>
      <title>Spec Hub for Notion: 20-Tool MCP Server for Engineering Spec Management</title>
      <dc:creator>Sissi Feng</dc:creator>
      <pubDate>Sat, 28 Mar 2026 20:10:14 +0000</pubDate>
      <link>https://dev.to/sissi_feng_e177b85e70017f/spec-hub-for-notion-20-tool-mcp-server-for-engineering-spec-management-2kf8</link>
      <guid>https://dev.to/sissi_feng_e177b85e70017f/spec-hub-for-notion-20-tool-mcp-server-for-engineering-spec-management-2kf8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Spec Hub for Notion&lt;/strong&gt; is a full-featured engineering specification management system that turns your Notion workspace into a structured, AI-programmable spec tracking platform. It exposes &lt;strong&gt;20 MCP tools&lt;/strong&gt; that let any AI assistant (Claude, Cursor, VS Code Copilot) manage the entire lifecycle of engineering specs through natural language.&lt;/p&gt;

&lt;p&gt;The system solves a real pain point I've experienced on engineering teams: specs scattered across Google Docs, Confluence, and Slack threads, with no traceability between changes, decisions, and bugs. Spec Hub centralizes everything into 6 interconnected Notion databases with full relational integrity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Capabilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One-command workspace setup&lt;/strong&gt; — Creates 6 fully-configured Notion databases (Projects, Spec Items, Spec Versions, Change Requests, Decision Logs, Bugs) with proper schemas, relations, select options, and cross-references&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spec lifecycle management&lt;/strong&gt; — Create specs, version them with automatic versioning (v1, v2...), approve/deprecate versions, and track status through defined workflows&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Change request board&lt;/strong&gt; — File change requests against specs with priority levels, impact assessment, and kanban-style status tracking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug filing with @mentions&lt;/strong&gt; — File bugs linked to specs, and the system automatically @mentions the assignee in a Notion comment so they get a native notification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decision logging&lt;/strong&gt; — Record architectural decisions with rationale and link them to specific specs and change requests for full traceability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Impact linking&lt;/strong&gt; — Bidirectional impact links between any two database entries via Notion comments, creating a traceability graph&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Risk dashboard&lt;/strong&gt; — &lt;code&gt;get_overview&lt;/code&gt; computes risk flags across your workspace: specs stuck in review, high-severity open bugs, stalled change requests&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timeline view&lt;/strong&gt; — Merges events from all 6 databases into a single chronological feed, so you can see everything that happened to a spec&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The 20 Tools
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Tools&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Setup&lt;/td&gt;
&lt;td&gt;&lt;code&gt;setup_workspace&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Projects&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;create_project&lt;/code&gt;, &lt;code&gt;list_projects&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Specs&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;create_spec&lt;/code&gt;, &lt;code&gt;list_specs&lt;/code&gt;, &lt;code&gt;get_spec&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Versions&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;create_version&lt;/code&gt;, &lt;code&gt;approve_version&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Change Requests&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;create_cr&lt;/code&gt;, &lt;code&gt;list_crs&lt;/code&gt;, &lt;code&gt;update_cr&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decisions&lt;/td&gt;
&lt;td&gt;&lt;code&gt;log_decision&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bugs&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;file_bug&lt;/code&gt;, &lt;code&gt;list_bugs&lt;/code&gt;, &lt;code&gt;update_bug&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Analytics&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;get_overview&lt;/code&gt;, &lt;code&gt;get_timeline&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Utility&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;search&lt;/code&gt;, &lt;code&gt;list_users&lt;/code&gt;, &lt;code&gt;impact_link&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Video Demo
&lt;/h2&gt;

&lt;p&gt;Here's how Spec Hub works in practice — from workspace setup to spec creation, bug filing with @mentions, and analytics:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Workflow example with Claude:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User: "Set up Spec Hub in my Notion workspace"
→ Creates 6 databases with schemas, relations, and select options

User: "Create a KPI spec called deposition_stability_score in the Neuro Dashboard project, owned by Alice"
→ Creates spec + auto-generates v1

User: "File a critical bug: stability score returns NaN when input has &amp;lt;5 data points. Assign to Bob."
→ Creates bug entry + @mentions Bob in Notion comment → Bob gets notified instantly

User: "Show me the project overview"
→ Returns risk dashboard with open bugs, stalled CRs, specs needing review
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Show us the code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/SissiFeng" rel="noopener noreferrer"&gt;
        SissiFeng
      &lt;/a&gt; / &lt;a href="https://github.com/SissiFeng/spec-hub-notion" rel="noopener noreferrer"&gt;
        spec-hub-notion
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Engineering Spec Management System powered by Notion MCP — track specs, change requests, decisions, and bugs in Notion with full traceability and @mention support. Built for the Notion MCP Challenge.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Spec Hub for Notion&lt;/h1&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Engineering Spec Management System powered by Notion MCP&lt;/strong&gt; — track specs, change requests, decisions, and bugs in Notion with full traceability, @mention support, and cross-linking.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Built for the &lt;a href="https://dev.to/devteam/join-the-notion-mcp-challenge-1500-in-prizes-73e" rel="nofollow"&gt;Notion MCP Challenge&lt;/a&gt;.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What It Does&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Spec Hub turns your Notion workspace into a structured engineering specification management system. It bridges the gap between internal engineering teams and external collaborators by providing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Structured Spec Registry&lt;/strong&gt; — Versioned specs (KPIs, API contracts, components, parameters, etc.) with JSON content, diff-ready history, and approval workflows&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Change Request Board&lt;/strong&gt; — Kanban-style workflow tracking from &lt;code&gt;proposed → under_review → approved → implementing → verified → closed&lt;/code&gt;, with impact flags showing which teams need to sync&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decision Logs&lt;/strong&gt; — Immutable records of &lt;em&gt;why&lt;/em&gt; decisions were made, with alternatives considered and participants recorded&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug Tracking with @Mentions&lt;/strong&gt; — File bugs linked to specs, auto-mention assignees in Notion comments so they get notified immediately&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/SissiFeng/spec-hub-notion" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Architecture:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;AI Assistant (Claude / Cursor / VS Code)
        │
        │ MCP Protocol (stdio)
        ▼
  spec_hub_notion (FastMCP Server)
   ├─ 20 registered tools
   ├─ Pydantic v2 input validation
   ├─ Async NotionClient (httpx)
        │
        │ Notion REST API v1
        ▼
  Notion Workspace
   ├─ Projects DB
   ├─ Spec Items DB ←─ relations ─→ Spec Versions DB
   ├─ Change Requests DB
   ├─ Decision Logs DB
   └─ Bugs DB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Tech stack:&lt;/strong&gt; Python 3.10+, FastMCP (MCP SDK), Pydantic v2, httpx (async), Notion API v1&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Used Notion MCP
&lt;/h2&gt;

&lt;p&gt;Spec Hub makes &lt;strong&gt;deep use of 7 Notion API endpoints&lt;/strong&gt; through a custom async client, going well beyond basic CRUD:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Database Creation with Rich Schemas
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;setup_workspace&lt;/code&gt; tool programmatically creates 6 databases with complex schemas including select/multi-select options, relation properties linking databases together, and rich text fields. Each database is created with pre-configured select options (e.g., spec types: &lt;code&gt;kpi&lt;/code&gt;, &lt;code&gt;component&lt;/code&gt;, &lt;code&gt;api_contract&lt;/code&gt;, &lt;code&gt;data_pipeline&lt;/code&gt;; bug severities: &lt;code&gt;critical&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;).&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Relational Data Model
&lt;/h3&gt;

&lt;p&gt;Specs, versions, change requests, and bugs are all interconnected through Notion relation properties. When you create a spec, it auto-generates a linked version entry. When you file a bug, it links to the affected spec. This creates a queryable dependency graph inside Notion.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. @Mention Notifications via Comments API
&lt;/h3&gt;

&lt;p&gt;The killer feature: when filing a bug, Spec Hub uses the &lt;strong&gt;Notion Comments API&lt;/strong&gt; to post a comment with a &lt;strong&gt;user @mention&lt;/strong&gt; (using the &lt;code&gt;mention_user()&lt;/code&gt; rich text block). This triggers a native Notion notification to the assignee — no external integration needed. The system resolves user IDs via the Users API, so you can assign bugs by name.&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Bidirectional Impact Links
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;impact_link&lt;/code&gt; tool creates traceability between any two entries (e.g., linking a bug to a change request) by posting reciprocal comments on both pages. This creates a navigable audit trail inside Notion itself.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Computed Analytics from Database Queries
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;get_overview&lt;/code&gt; tool queries all 6 databases and computes aggregate risk metrics: how many specs are stuck in review, how many critical bugs are open, which change requests have stalled. It returns a structured dashboard that an AI assistant can reason about.&lt;/p&gt;
&lt;h3&gt;
  
  
  6. Cross-Database Timeline
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;get_timeline&lt;/code&gt; tool merges &lt;code&gt;created_time&lt;/code&gt; and &lt;code&gt;last_edited_time&lt;/code&gt; from entries across all databases into a single chronological feed. This gives teams a unified activity log — something Notion doesn't natively provide across databases.&lt;/p&gt;
&lt;h3&gt;
  
  
  7. Full-Text Search
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;search&lt;/code&gt; tool wraps Notion's search API to find specs, bugs, or decisions by keyword across the entire workspace.&lt;/p&gt;
&lt;h3&gt;
  
  
  What This Unlocks
&lt;/h3&gt;

&lt;p&gt;By exposing these capabilities through MCP, any AI assistant becomes a &lt;strong&gt;spec management co-pilot&lt;/strong&gt;. Engineers can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create and version specs through natural conversation&lt;/li&gt;
&lt;li&gt;File bugs and automatically notify the right person&lt;/li&gt;
&lt;li&gt;Get a risk assessment of their project in one question&lt;/li&gt;
&lt;li&gt;Trace any change back to the decision and spec that motivated it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Notion workspace becomes both the &lt;strong&gt;source of truth&lt;/strong&gt; and the &lt;strong&gt;collaboration surface&lt;/strong&gt; — humans work in Notion's UI, AI works through MCP, and everything stays in sync.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with Python, FastMCP, and the Notion API. MIT licensed.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
