<?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: dr-gideon</title>
    <description>The latest articles on DEV Community by dr-gideon (@dr-gideon).</description>
    <link>https://dev.to/dr-gideon</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%2F3840462%2Fbef9edbd-d08a-4acf-b0fb-83a9d43376c4.png</url>
      <title>DEV Community: dr-gideon</title>
      <link>https://dev.to/dr-gideon</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dr-gideon"/>
    <language>en</language>
    <item>
      <title>Bidirectional MCP Bridge: Turning Notion into the Human Interface for a Headless Blockchain Agent</title>
      <dc:creator>dr-gideon</dc:creator>
      <pubDate>Thu, 26 Mar 2026 23:19:35 +0000</pubDate>
      <link>https://dev.to/dr-gideon/i-built-an-autonomous-blockchain-intelligence-agent-that-uses-notion-as-its-brain-1clp</link>
      <guid>https://dev.to/dr-gideon/i-built-an-autonomous-blockchain-intelligence-agent-that-uses-notion-as-its-brain-1clp</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;THAWNE is an autonomous intelligence agent that monitors the Tempo blockchain ecosystem 24/7 — crawling docs, tracking on-chain activity, indexing AI agent payments, and building a living knowledge base. The problem? All that data was trapped in a SQLite database on a headless server. Useful for machines. Useless for humans.&lt;/p&gt;

&lt;p&gt;Notion MCP turned Notion into the human interface for an autonomous system.&lt;/p&gt;

&lt;p&gt;I built a &lt;strong&gt;bridge agent&lt;/strong&gt; — a dual MCP client that connects Notion MCP and THAWNE's own MCP server simultaneously. It creates a bidirectional pipeline:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;THAWNE → Notion (Export):&lt;/strong&gt;&lt;br&gt;
Every day, an automated sweep scans the blockchain ecosystem — new projects, protocol changes, market developments, on-chain activity. The bridge pushes enriched entities (with descriptions, relationships, analyst notes) and developments (with strategic analysis and entity links) into structured Notion databases. A human can open Notion and see exactly what the AI knows, organized and browsable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notion → THAWNE (Ingest):&lt;/strong&gt;&lt;br&gt;
Drop raw intelligence into an Intel Inbox database in Notion. Set the status to "New". The bridge picks it up, reads the page content, classifies it (single entity vs. structured sweep), and writes it into THAWNE's knowledge base. Status flips to "Ingested" automatically. Need to update something? Change status to "Updated" — the bridge re-ingests with a full overwrite.&lt;/p&gt;

&lt;p&gt;The result: Notion becomes the eyes and hands of an AI system. The agent sees the world, Notion shows you what it sees, and you can reach in and correct or feed it — all without touching a database, writing SQL, or deploying a dashboard.&lt;/p&gt;
&lt;h3&gt;
  
  
  What makes this different
&lt;/h3&gt;

&lt;p&gt;Most MCP integrations connect AI to Notion as a fancy note-taking tool. THAWNE flips this. Notion isn't where the AI writes notes — it's the control surface for an autonomous system that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monitors a live blockchain&lt;/strong&gt; via RPC (blocks, transactions, wallet classification)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tracks 82+ AI payment services&lt;/strong&gt; on the Machine Payments Protocol directory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintains a knowledge graph&lt;/strong&gt; of 45 entities with 49 relationships, analyst notes, and significance ratings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runs its own MCP server&lt;/strong&gt; with 7 tools, including payment-gated queries via MPP (agents pay to access intelligence)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operates on a daily cron cycle&lt;/strong&gt; — sweep at 5:05 AM, Notion sync at 5:30 AM, no human needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notion MCP made it possible to build a human-in-the-loop layer on top of all this without writing a single line of frontend code.&lt;/p&gt;
&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;+-----------------------------------------------------------+
|                     DAILY CYCLE                           |
|                                                           |
|  05:05  Automated Sweep (web + chain + MPP directory)     |
|    |                                                      |
|    v                                                      |
|  THAWNE DB &amp;lt;-- new entities, developments, relations      |
|    |                                                      |
|  05:30  Bridge Agent (cron)                               |
|    |                                                      |
|    +--&amp;gt;  Notion MCP --&amp;gt; Sync entities + developments       |
|    |                    to Notion databases                |
|    |                                                      |
|    +--&amp;gt;  Notion MCP --&amp;gt; Check Intel Inbox for new items    |
|              |          Ingest -&amp;gt; THAWNE DB                |
|              v                                            |
|         Status: "Ingested"                                |
|                                                           |
+-----------------------------------------------------------+
|                    HUMAN LAYER                            |
|                                                           |
|  Notion: Intel Inbox    -&amp;gt; Drop raw intel, set "New"      |
|  Notion: Entities DB    -&amp;gt; Browse enriched profiles       |
|  Notion: Developments   -&amp;gt; Timeline of ecosystem events   |
|  Notion: Sweep Reports  -&amp;gt; Daily intelligence summaries   |
|                                                           |
|  Edit an entity? -&amp;gt; Set status "Updated" -&amp;gt; auto re-sync  |
|                                                           |
+-----------------------------------------------------------+
|                  THAWNE MCP SERVER                        |
|                                                           |
|  7 tools (ecosystem, MPP directory, entity intel,         |
|           chain activity, wallet lookup, top wallets,     |
|           recent developments)                            |
|  1 resource (ecosystem summary)                           |
|  1 prompt (analyze entity template)                       |
|  MPP payment gate (agents pay per query)                  |
|                                                           |
+-----------------------------------------------------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/FFaSFhReXEc"&gt;
  &lt;/iframe&gt;
&lt;/p&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/dr-gideon" rel="noopener noreferrer"&gt;
        dr-gideon
      &lt;/a&gt; / &lt;a href="https://github.com/dr-gideon/thawne-notion-bridge" rel="noopener noreferrer"&gt;
        thawne-notion-bridge
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Dual MCP client bridging an autonomous blockchain intelligence agent with Notion. 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;THAWNE Notion Bridge&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A dual MCP client that creates a bidirectional sync pipeline between an autonomous intelligence agent (THAWNE) and Notion.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Built for the &lt;a href="https://dev.to/challenges/notion-2026-03-04" rel="nofollow"&gt;Notion MCP Challenge&lt;/a&gt;.&lt;/strong&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;THAWNE is an autonomous agent that monitors the Tempo blockchain ecosystem 24/7. It tracks entities, developments, on-chain activity, and AI payment services — all stored in a SQLite knowledge base on a headless server.&lt;/p&gt;
&lt;p&gt;The bridge turns Notion into the human interface for this system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;THAWNE → Notion:&lt;/strong&gt; Pushes enriched entities (profiles, relationships, analyst notes), developments (with strategic analysis), and daily sweep reports into structured Notion databases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notion → THAWNE:&lt;/strong&gt; Reads raw intelligence from a Notion "Intel Inbox", classifies it, and writes it into the knowledge base. Supports re-ingestion via status flags.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every database operation goes through &lt;strong&gt;Notion MCP&lt;/strong&gt;. Zero REST API calls.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Architecture&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;
&lt;pre class="notranslate"&gt;&lt;code&gt;05:05  Automated Sweep (web + chain + MPP directory)
  |
  v
THAWNE DB &amp;lt;--&lt;/code&gt;&lt;/pre&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/dr-gideon/thawne-notion-bridge" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The submission repo contains the bridge agent — the core of this project. The full THAWNE ecosystem (MCP server, chain observer, wallet analyzer) runs on a private server but the bridge is fully open source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key files:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;bridge.py&lt;/code&gt; — The dual MCP client (~700 lines of Python). Connects to both Notion MCP and THAWNE MCP simultaneously via stdio. 6 commands: &lt;code&gt;status&lt;/code&gt;, &lt;code&gt;ingest&lt;/code&gt;, &lt;code&gt;sync-entities&lt;/code&gt;, &lt;code&gt;sync-developments&lt;/code&gt;, &lt;code&gt;sync-sweep-reports&lt;/code&gt;, &lt;code&gt;sync-all&lt;/code&gt;. Handles idempotency, rate limiting, and error recovery.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;config/notion_ids.example.json&lt;/code&gt; — Template showing the database ID and data source ID structure needed for the bridge.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;requirements.txt&lt;/code&gt; — Dependencies (just &lt;code&gt;mcp&lt;/code&gt; and &lt;code&gt;sqlite3&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Supporting infrastructure (private, referenced for context):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;THAWNE MCP Server — 7 tools exposing blockchain intelligence, including MPP payment-gated queries. Dual transport (stdio + HTTP/SSE).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Chain Observer — Real-time blockchain indexer. Polls Tempo RPC, indexes blocks/transactions/wallets, auto-classifies wallet types.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Daily Sweep — Automated cron job that crawls web sources, Tempo chain data, and the MPP service directory every morning. The bridge syncs these results to Notion 25 minutes later.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I Used Notion MCP
&lt;/h2&gt;

&lt;p&gt;The bridge agent is a &lt;strong&gt;dual MCP client&lt;/strong&gt; — it holds two simultaneous MCP sessions (Notion + THAWNE) and orchestrates data flow between them. Every database operation goes through Notion MCP. Zero REST API calls.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP Tools Used
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Querying data:&lt;/strong&gt; &lt;code&gt;API-query-data-source&lt;/code&gt; with &lt;code&gt;data_source_id&lt;/code&gt; to query all four Notion databases. This was the trickiest part — data source IDs are different from database IDs, and discovering this mapping required using API version 2025-09-03 during database creation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating pages:&lt;/strong&gt; &lt;code&gt;API-post-page&lt;/code&gt; with structured properties (title, select, multi_select, number, date, URL) to create entity and development pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Updating pages:&lt;/strong&gt; &lt;code&gt;API-patch-page&lt;/code&gt; for property updates (status changes, sync timestamps) and idempotent re-syncs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Page content:&lt;/strong&gt; &lt;code&gt;API-patch-block-children&lt;/code&gt; to add rich block content — headings, paragraphs, bulleted lists, dividers — creating structured entity profiles with Description, Relations, and Analyst Notes sections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reading content:&lt;/strong&gt; &lt;code&gt;API-get-block-children&lt;/code&gt; to extract page body content during ingestion. Intel dropped into Notion as free-form text gets parsed and structured into THAWNE's schema.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Hard Parts
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Notion MCP v2.0 silently accepts invalid properties.&lt;/strong&gt; During development, I sent wrong property types (rich_text instead of number for IDs, nonexistent select options). The API returned success. Pages were created with blank fields. No errors. This cost hours of debugging until I learned to verify every write.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database IDs vs. Data Source IDs.&lt;/strong&gt; &lt;code&gt;API-post-page&lt;/code&gt; needs a &lt;code&gt;database_id&lt;/code&gt;. &lt;code&gt;API-query-data-source&lt;/code&gt; needs a &lt;code&gt;data_source_id&lt;/code&gt;. They're different values for the same database. The data source ID only appears when you create a database with API version 2025-09-03, but that version silently drops non-title properties during creation. Solution: create with 2022-06-28, then retrieve data source IDs with 2025-09-03.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Idempotency across two systems.&lt;/strong&gt; Running sync twice shouldn't create duplicates. The bridge tracks &lt;code&gt;THAWNE ID&lt;/code&gt; (a number property) on every Notion page and uses ISO timestamps in &lt;code&gt;Last Synced&lt;/code&gt; to determine whether an update is needed. Same-day changes always propagate; only strictly-newer sync dates are skipped.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rate limiting.&lt;/strong&gt; Notion's API runs at ~3 requests/second. With 45 entities and 100 developments, a full sync means ~290 API calls. A 0.5-second sleep between calls keeps it safe, and the bridge serializes all operations rather than batching.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Notion MCP Unlocks
&lt;/h3&gt;

&lt;p&gt;The real unlock isn't "AI can read/write Notion." It's that &lt;strong&gt;Notion becomes a zero-code frontend for any autonomous system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;THAWNE runs on a headless VPS. It has no web dashboard. No admin panel. No UI at all. But through Notion MCP, a non-technical person can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See everything the AI knows (browse Entities, read Developments)&lt;/li&gt;
&lt;li&gt;Feed it new information (drop intel in Inbox)&lt;/li&gt;
&lt;li&gt;Correct mistakes (edit + set "Updated")&lt;/li&gt;
&lt;li&gt;Review daily intelligence (read Sweep Reports)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All without SSH, SQL, or asking the AI directly. Notion is the universal human interface.&lt;/p&gt;

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