npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

create-context-hub

v0.4.2

Published

Create a Context Hub — a personal AI context layer shared across any MCP client (Claude.ai, Claude Code, Claude App, ChatGPT, Perplexity, Cursor, and more). One command to scaffold, deploy, and connect.

Downloads

172

Readme

create-context-hub

npm version npm downloads license

Set up a Context Hub in one command. No cloning, no manual config, no guesswork.

npx create-context-hub

What's new in 0.2.0: Context Hub now works with any MCP client — Claude.ai, Claude Code, Claude App, ChatGPT connectors, Perplexity, Cursor, Windsurf, Zed, and custom agents. The source tag on every memory and log entry is auto-detected from the MCP client's self-reported name during the initialize handshake, so you always know which tool wrote each entry.

The Problem

Every AI tool maintains its own separate context. A memory saved in Claude.ai isn't available in Claude Code, ChatGPT, or Perplexity. You re-explain yourself every time you switch tools. There's no cross-vendor API to bridge them.

What This Creates

A shared MCP server on Cloudflare Workers that every MCP-speaking AI client connects to simultaneously. It stores:

  • Memories — preferences, facts, learnings
  • Decisions — what you chose and why
  • Projects — descriptions and custom instructions per project
  • Instructions — global behavior rules ("always use TypeScript")
  • Identity — name, role, expertise, location
  • Context Log — breadcrumbs across sessions ("discussed auth on phone at 3pm")

24 MCP tools. Full-text search (FTS5). 3-layer deduplication. Runs on Cloudflare's free tier — $0/month.

How It Works

npx create-context-hub
        │
        ├── 1. Prompts for project name
        ├── 2. Scaffolds project files (MCP server, migration SQL, configs)
        ├── 3. Runs npm install
        ├── 4. Authenticates with Cloudflare (opens browser)
        ├── 5. Creates a D1 database on your Cloudflare account
        ├── 6. Patches wrangler.json with the database ID
        ├── 7. Runs database migration (creates 5 tables + FTS indexes)
        ├── 8. Deploys to Cloudflare Workers → gives you a live URL
        ├── 9. (Optional) Generates an API key + sets it as a Wrangler secret
        ├── 10. (Optional) Runs `claude mcp add` to connect Claude Code
        └── 11. Prints connector instructions for every MCP client
                (Claude.ai/App, ChatGPT, Perplexity, Cursor, etc.) + summary

If any step fails, the CLI prints the exact command to run manually. The scaffolded project is always valid — worst case, you finish 2-3 steps yourself.

What Gets Deployed

Claude App (Phone) ─────┐
Claude.ai (Browser) ────┤
ChatGPT (Connector) ────┤   MCP / Custom Connector (HTTPS)
Perplexity ─────────────┤
Cursor / Windsurf ──────┤
Any MCP client ─────────┤
                        ▼
               ┌──────────────────┐
               │  Your MCP Server │    Cloudflare Workers
               │  (24 tools)      │    Free tier ($0/month)
               │                  │    Always on, global edge
               │  Auto-detects    │    source = MCP client name
               │  the caller      │    (claude-code, chatgpt, …)
               └────────┬─────────┘
                        │
                        ▼
               ┌──────────────────┐
               │  Cloudflare D1   │    SQLite database
               │  (5GB free)      │    5M reads/day
               └──────────────────┘
                        ▲
                        │  HTTP transport (MCP)
               ┌────────┴─────────┐
               │  Claude Code /   │
               │  any terminal    │
               │  MCP client      │
               └──────────────────┘

Requirements

Usage

# Interactive — prompts for project name
npx create-context-hub

# Pass project name directly
npx create-context-hub my-hub

# Scaffold only (skip Cloudflare setup)
# Answer "No" when prompted for Cloudflare setup
npx create-context-hub my-hub

# Update an existing hub to the latest template (run from the project directory)
cd my-hub
npx create-context-hub@latest update

# Forgot where your hub lives? Scan common directories:
npx create-context-hub@latest locate

# Help
npx create-context-hub --help

What Gets Scaffolded

my-hub/
├── src/
│   └── index.ts            # MCP server (24 tools, ~1700 lines)
├── migrations/
│   └── 0001_init.sql       # Database schema (5 tables + FTS5 indexes)
├── wrangler.json            # Cloudflare Workers config (auto-patched with DB ID)
├── package.json             # Dependencies: @modelcontextprotocol/sdk, agents
├── tsconfig.json
└── .gitignore

After Setup

Once deployed, verify it works from every MCP client you connect:

In Claude.ai or Claude App:

"Who am I? Check your Context Hub."

In Claude Code:

"What do you know about me? Check context hub."

In ChatGPT / Perplexity / Cursor / any other MCP client:

"List my recent memories from context hub."

Cross-client sync:

  1. On your phone (Claude App): "Save this thought: consider migrating to tRPC for the dashboard"
  2. In ChatGPT (browser): "What was I thinking about on my phone?"
  3. In Claude Code (terminal): "Show me everything discussed in ChatGPT today."

Each entry is tagged with the source of the client that wrote it (claude-app, chatgpt, claude-code, …) — auto-detected from the MCP client's self-reported name.

Finding your hub

Forgot where you scaffolded your hub? The CLI scans common project directories (~/Documents, ~/Projects, ~/code, ~/dev, ~/Developer, ~/workspace, ~/src, cwd, and ~ shallow) for anything with the Context Hub fingerprint (wrangler.json + src/index.ts + migrations/0001_init.sql + CONTEXT_HUB durable object binding):

npx create-context-hub@latest locate

Example output:

┌   create-context-hub locate
◇  Found 1 Context Hub project.
│
│    [1] /Users/you/Projects/my-hub
│        Worker:   my-hub
│        D1 Name:  my-hub-db (0123abcd-...)
│
●  Next steps:
│    cd /Users/you/Projects/my-hub
│    npx create-context-hub@latest update
│    npx wrangler deploy
│
└  Done.

If it finds nothing, try the manual fallback:

# Search anywhere under your home directory
find ~ -name "wrangler.json" -not -path "*/node_modules/*" -exec grep -l "CONTEXT_HUB" {} \; 2>/dev/null

Or open your Cloudflare Workers dashboard — the Worker will be listed there under whatever name you scaffolded with.

Updating

Your Context Hub is a live MCP server. The CLI has a built-in update command that pulls the latest src/index.ts and migrations/ from the current template, preserving your wrangler.json (with your database ID), package.json, and any customizations.

cd my-hub
npx create-context-hub@latest update

The update flow:

  1. Detects that you're in a scaffolded Context Hub project (by checking for wrangler.json, src/index.ts, migrations/0001_init.sql)
  2. Shows you exactly which files will change and the line-count delta
  3. Writes .bak copies of files before overwriting (easy rollback)
  4. Optionally runs npx wrangler deploy for you

All connected MCP clients pick up the new tool schemas on their next conversation. In Claude Code, run /mcp to refresh immediately.

Manual alternative

If you prefer not to use the update command, you can pull the latest src/index.ts and migrations/0001_init.sql from the repo manually and run npx wrangler deploy yourself.

Related

  • context-hub — the full project with documentation, tool reference, and comparison with alternatives

License

MIT