Personalbrain Mcp

io.github.lonnievPublished by GitHub account lonnievv1.18.0Updated Oct 24, 2026

FastMCP server for TheBrain API — AI access to a personal knowledge graph, Tollbooth-monetized

VerifiedStreamable HTTPWeb executableDatabasesFinanceKnowledge & Memory

Overview

AI-generated overview

Remote MCP server giving AI assistants read-write access to a personal TheBrain knowledge graph, with per-call Bitcoin Lightning micropayments.

What you can do
  • Read and search thoughts, notes and links in a TheBrain knowledge graph
  • Create, update and link thoughts, and run BrainQuery (BQL) Cypher-style graph queries with full CRUD
  • Manage sessions and credentials: check session status, open a Secure Courier channel, receive or forget credentials, list and select brains
  • Handle identity: request and receive an npub proof, check proof status, list held identities
  • Manage credits and payments: check balance, account statement, restore credits, purchase credits and check payment
  • Look up DPYC community membership, tax rate and advisories through the Oracle
When to use it
Useful when you keep notes and ideas in TheBrain and want an assistant to search, extend or restructure that graph from a chat client, and you are willing to pay small Lightning amounts per tool call.
Requirements
Remote endpoint at personal-brain.fastmcp.app over streamable HTTP; OAuth login required. A Nostr keypair (npub, with the nsec kept client-side) and a Nostr client for DM-based proofs and credential delivery. A TheBrain API key and brain ID, delivered via Secure Courier rather than environment variables. Pre-funded Lightning credit balance for paid tools.
Before you install
Every tool call is metered and paid in Bitcoin Lightning sats (reads about 1 sat, writes about 5, heavy queries about 10, prices set dynamically), so usage spends real money; top up via purchase_credits. TheBrain API keys and brain IDs are sent through encrypted Nostr DMs and vaulted in a Postgres database. Tools can create, update and delete thoughts and links. The nsec private key must stay with the user; never share it. receive_credentials drains the relay destructively, so call it once per…

Installation

In SourceWeft

  1. Open Personalbrain Mcp in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.lonniev%2Fpersonalbrain-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "personalbrain": {
      "type": "http",
      "url": "https://personal-brain.fastmcp.app/mcp"
    }
  }
}

README

thebrain-mcp

The first city on the Lightning Turnpike.

[License] [Python] [Horizon]

[Claude connects to PersonalBrain through thebrain-mcp, powered by Lightning micropayments]

An MCP server that gives AI agents read-write access to a personal knowledge graph — and pays for itself with Bitcoin Lightning micropayments.

The metaphors in this project are drawn with admiration from The Phantom Tollbooth by Norton Juster, illustrated by Jules Feiffer (1961). Milo, Tock, the Tollbooth, Dictionopolis, and Digitopolis are creations of Mr. Juster's extraordinary imagination. We just built the payment infrastructure.


The First City

Every turnpike needs its first city. Before the booths can collect fares and the authority can stamp purchase orders, someone has to build a destination worth driving to.

thebrain-mcp is that city — a FastMCP service deployed on Horizon that bridges AI agents to TheBrain, a personal knowledge graph of 9,000+ interconnected thoughts built over a decade. Every thought, link, attachment, and note operation maps directly to TheBrain's cloud API at api.bra.in.

It's also the proving ground for Tollbooth DPYC™ — the first MCP server where every tool call is metered via Bitcoin Lightning micropayments. Pre-fund, use, top up. No subscriptions, no API keys tied to billing accounts, no fiat payment processors. The novel contribution: an MCP server architecture where the operator monetizes AI agent access through Lightning micropayments without ever pestering the client mid-conversation.

Getting Started

Connecting via Horizon MCP

Connect any MCP-compatible client (Claude Desktop, Cursor, your own agent) to the live endpoint:

https://personal-brain.fastmcp.app/mcp

No configuration needed. Your client connects with OAuth; the connection holds no npub until you prove one into it by answering a Nostr DM (request_npub_proof, then receive_npub_proof). A client that holds your nsec signs each request instead (NIP-98) and needs no DM. Tools then take only npub.

First Connection Walkthrough

  1. session_status — Check your current session state.
  2. Get your patron npub from the dpyc-oracle's how_to_join() tool — this is the npub you registered as a DPYC™ Citizen, your identity for credit operations.
  3. Secure Courier onboarding:
    • Call request_credential_channel(sender_npub=<patron_npub>, service=<service>) — opens a Secure Courier channel, sends a welcome DM to your Nostr client, and returns the channel's nonce.
    • Reply via your Nostr client with your credentials in JSON: {"api_key": "...", "brain_id": "..."}
    • Call receive_credentials(sender_npub=<patron_npub>, service=<service>, nonce=<that nonce>) — vaults your credentials and activates the session.
  4. list_brains → set_active_brain — Select which brain to work with.
  5. brain_query — Start exploring your knowledge graph.

Returning users do not re-run this flow: the session restores from the vault on first use.

Secure Courier

Credentials are delivered via encrypted Nostr DMs — they never appear in the chat window. On first-time relay receipt, the service sends an ncred1... credential card back to the patron via DM for scan-and-paste reuse.

Human in the loop: The patron must consciously approve each credential delivery via their Nostr client. Never auto-poll or auto-retry receive_* calls — each receive_credentials drains the relay destructively (NIP-09 deletion after pickup). Call it exactly once per credential delivery.

Credits Model

CategoryPricing hintExamples
free0 satssession_status, check_balance, check_price
read1 satget_thought, search_thoughts, get_note
write5 satscreate_thought, create_link, update_thought
heavy10 satsbrain_query, get_modifications

Actual prices are set dynamically by the operator's pricing model in Neon via api_sats per tool. Auth and balance tools are always free.

Credits are issued as tranches with a tranche_lifetime (TTL). Tranches are consumed FIFO; expired tranches are pruned automatically. Use check_balance to see your balance, active tranches, and usage history. Top up via purchase_credits with Bitcoin Lightning.

Security

  • Identity is a Nostr keypair — users are identified by an npub (Nostr public key), not an email or username. The nsec (private key) stays with the patron — never shared, never sent to a service.
  • Identity is on the connection — a client that holds the nsec signs each HTTP request (NIP-98, kind 27235); an OAuth client proves the npub once into its connection by answering a Nostr DM (request_npub_proof → receive_npub_proof). Tools carry no proof argument.
  • Human in the loop — the patron approves each proof in their Nostr client and chooses how long it lasts, up to 30 days. When it lapses, a fresh request/receive cycle renews it.
  • Credentials via Secure Courier — TheBrain API keys and brain IDs are delivered via NIP-44 encrypted Nostr DMs, vaulted in Neon Postgres, and never exposed in the chat window.

BrainQuery (BQL)

A Cypher-subset query language purpose-built for TheBrain. Agents and humans express graph operations in the same formalism — full CRUD via MATCH, CREATE, SET, MERGE, and DELETE.

cypher
MATCH (n {name: "Projects"})-[:CHILD]->(m) RETURN mMATCH (n) WHERE n.name =~ "quarterly review" RETURN nMATCH (p {name: "Ideas"}) CREATE (p)-[:CHILD]->(n {name: "New Concept"})MATCH (root {name: "Company"})-[:CHILD*1..3]->(d) WHERE d.name CONTAINS "Budget" RETURN d

Variable-length paths, multi-hop chains, compound WHERE with AND/OR/NOT/XOR, similarity search, and property existence checks. Full grammar in BRAINQUERY.md.

Troubleshooting

When a tool call fails, read the response — it tells you what happened and what to do next. Credential lifecycle states are not errors; they are expected situations with clear guidance.

SituationWhat to do
proof is requiredCall request_npub_proof then receive_npub_proof — a fresh request/receive cycle. The proof lasts as long as the patron chose when approving it (up to 30 days).
Insufficient credit balanceCall purchase_credits to top up.
Cold start / session not readyRetry in 10-15 seconds.
Credentials not foundFollow the Secure Courier onboarding flow (step 3 above).
Upstream API errorOnly if the error explicitly mentions TheBrain API failure. Not a credential or billing issue.

Don't Pester Your Customer: Do NOT ask the patron to re-authenticate or re-do the Courier flow unless the error message specifically says credentials are missing or expired.

Self-Hosting

For local installation and setup, see INSTALL.md and QUICKSTART.md.

To run your own instance, set these environment variables:

Required
VariablePurpose
TOLLBOOTH_NOSTR_OPERATOR_NSECOperator's Nostr secret key -- the single bootstrap key for identity, Secure Courier DMs, and audit signing

This is the only env var the server reads. Certified operators bootstrap their Neon database URL from the Authority via encrypted Nostr DM -- NEON_DATABASE_URL is not read from the environment. The relay set comes from the shared dpyc-community registry, and tranche lifetime and constraints come from the operator's pricing model -- none of them is an env var.

Credentials via Secure Courier (NOT env vars)

All secrets flow through Secure Courier -- they never appear as environment variables:

CredentialDelivery
TheBrain API key + brain IDPatron delivers via encrypted Nostr DM
BTCPay credentials (btcpay_host, btcpay_api_key, btcpay_store_id)Operator delivers via Secure Courier

Note: THEBRAIN_API_KEY is not an environment variable. Patrons deliver their TheBrain API key and brain ID via Secure Courier (encrypted Nostr DM). Only the operator's nsec is configured as an env var.

Tool Surface

The server exposes the standard Tollbooth DPYC™ operator surface via register_standard_tools() from tollbooth-dpyc, plus its domain tools. Tools fall into three paths in the DPYC three-actor topology (Operator / Authority / Oracle):

PathToolsStatus
Hot (local ledger)check_balance, account_statement, account_statement_infographic, restore_credits, service_statusImplemented — delegates to server.py
Hot (Secure Courier)session_status, request_credential_channel, receive_credentials, forget_credentialsImplemented — Nostr credential delivery with credential card DM
Identityrequest_npub_proof, receive_npub_proof, check_proof_status, held_identitiesImplemented — proves an npub into an OAuth connection
Delegation (Authority)purchase_credits, check_paymentImplemented — auto-certifies via MCP-to-MCP
Delegation (Oracle)oracle_lookup_member, oracle_how_to_join, oracle_get_tax_rate, oracle_about, oracle_network_advisoryImplemented — MCP-to-MCP via OracleClient

Payment processing auto-certifies via the Authority (server-to-server OAuth). Secure Courier delivers encrypted credentials via Nostr DMs with automatic credential card (ncred1...) DM-back on first receipt. Oracle community tools route directly to the DPYC™ Oracle — free and unauthenticated.

Architecture

The Tollbooth DPYC™ ecosystem is a three-party protocol spanning three repositories:

RepoRole
tollbooth-authorityThe institution — tax collection, Schnorr signing, purchase order certification
tollbooth-dpycThe booth — operator-side credit ledger, BTCPay client, tool gating
dpyc-oracleThe concierge — community onboarding, tax rates, membership lookup
thebrain-mcp (this repo)The first city — reference MCP server powered by Tollbooth DPYC™

See the Three-Party Protocol diagram for the full architecture. The operator-side flow is also available.

Project Structure

thebrain-mcp/├── src/thebrain_mcp/        # Server source, BQL engine, Tollbooth├── tests/                   # Test suite (465+ tests)├── fastmcp.json             # Horizon deploy entrypoint (src/thebrain_mcp/server.py)├── pyproject.toml           # Package metadata and dependencies├── BRAINQUERY.md            # BQL grammar and reference├── INSTALL.md / QUICKSTART.md  # Local install and setup├── docs/diagrams/           # Architecture and protocol flow diagrams├── LICENSE                  # Apache License 2.0└── NOTICE                   # Attribution notice

Prior Art & Attribution

The methods, algorithms, and implementations contained in this repository may represent original work by Lonnie VanZandt, first published on February 16, 2026. This public disclosure establishes prior art under U.S. patent law (35 U.S.C. 102).

All use, reproduction, or derivative work must comply with the Apache License 2.0 included in this repository and must provide proper attribution to the original author per the NOTICE file.

How to Attribute

If you use or build upon this work, please include the following in your documentation or source:

Based on original work by Lonnie VanZandt and Claude.aiOriginally published: February 16, 2026Source: https://github.com/lonniev/thebrain-mcpLicensed under Apache License 2.0

Visit the technologist's virtual cafe for Bitcoin advocates and coffee aficionados at stablecoin.myshopify.com.

Patent Notice

The author reserves all rights to seek patent protection for the novel methods and systems described herein. Public disclosure of this work establishes a priority date of February 16, 2026. Under the America Invents Act, the author retains a one-year grace period from the date of first public disclosure to file patent applications.

Note to potential filers: This public repository and its full Git history serve as evidence of prior art. Any patent application covering substantially similar methods filed after the publication date of this repository may be subject to invalidation under 35 U.S.C. 102(a).

DPYC™ Ecosystem

Further Reading

The Phantom Tollbooth on the Lightning Turnpike — the full story of how we're monetizing the monetization of AI APIs, and then fading to the background.

Trademarks

DPYC™, Tollbooth DPYC™, and Don't Pester Your Customer™ are trademarks of Lonnie VanZandt. See the TRADEMARKS.md in the dpyc-community repository for usage guidelines.

License

Apache License 2.0 — see LICENSE and NOTICE for details.


Because in the end, the tollbooth was never the destination. It was always just the beginning of the journey.

Source: README.md at commit 79dffca

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v1.18.0LatestOct 21, 2026
  2. v1.17.6Sep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts