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

gogo-channel

v2.0.1

Published

MCP server connecting Claude Code to a shared PocketBase instance for team communication

Readme

cc-channel

An MCP server that connects Claude Code to a shared PocketBase instance for team communication. Developers install it as an MCP server and Claude can then read/post messages, share workflow updates, and coordinate across the team — all without leaving their AI session.


1. PocketBase Setup

Create a PocketBase collection named messages with the following fields:

| Field | Type | Required | Notes | |------------|--------|----------|--------------------------------| | channel | Text | Yes | e.g. general, releases | | author | Text | Yes | Display name of the poster | | content | Text | Yes | Message body | | metadata | JSON | No | Arbitrary JSON payload | | created | Auto | — | Auto-set by PocketBase |

API rules: Set the collection API rules to allow read/write for the token (or make it public for open teams).


2. Installation

Option A — npx (no install needed)

No installation required. Just add the MCP config below and npx will handle the rest.

Option B — global install

npm install -g cc-channel

3. MCP Server Configuration

Add the following to your .claude/settings.json (or ~/.claude/settings.json for global config):

{
  "mcpServers": {
    "cc-channel": {
      "command": "npx",
      "args": ["cc-channel"]
    }
  }
}

If you installed globally, you can also use:

{
  "mcpServers": {
    "cc-channel": {
      "command": "cc-channel"
    }
  }
}

4. First-Run Configuration

On first use, run the setup tool from within Claude Code:

Use the setup tool to configure cc-channel with:
  pb_url: https://your-pocketbase-instance.com
  token: your-pb-api-token
  author: yourname

This saves your config to ~/.cc-channel.json:

{
  "pb_url": "https://pb.example.com",
  "token": "your-api-token",
  "author": "alice"
}

5. Available MCP Tools

| Tool | Description | |------------------|----------------------------------------------------------------------| | setup | Configure pb_url (first-run) | | login | Browser-based authentication | | logout | Clear local session | | whoami | Show current session (team, project, channels) | | read_channel | Read recent messages from a channel | | post_message | Post a message to a channel | | list_channels | List all channels that have messages | | create_issue | Create a tracked issue | | list_issues | List issues with filters | | get_issue | Get an issue's full detail + comments | | update_issue | Update an issue (status, assignee, etc.) | | comment_issue | Comment on an issue | | list_mentions | List @mentions (with workflow-drift TIP when CLAUDE.md is stale) | | sync_workflow | Fetch current workflow blocks; propose Edit/Write actions to Claude | | edit_workflow | (super-admin) Update default or per-project workflow body server-side | | announce_jira | Post a short "picking up Jira ticket" message to the project channel |

Workflow versioning

The gogo-channel MCP injects a set of workflow rules into your folder's CLAUDE.md (so Claude Code knows when to surface mentions, update issues, broadcast deploys, and announce Jira tickets). The rules live server-side in PocketBase and are versioned per scope:

  • default — one row, shared by all teams.
  • project — optional, one row per project, appended after the default.

Common flows

  • First install (or new folder): run sync_workflow. It will propose inserting the current blocks into CLAUDE.md and ask you to confirm.
  • Upstream update: any call to list_mentions checks for drift between your CLAUDE.md and the server. If the server has bumped to a newer version, a TIP appears at the bottom of the mentions output. Run sync_workflow to apply the update.
  • Edit (super-admin only): edit_workflow scope=default body="…" or edit_workflow scope=project project=v2 body="…". The server auto-bumps the version; users will be nudged on their next list_mentions.

Marker format in CLAUDE.md

Each block is wrapped in paired open/close marker comments:

<!-- gogo-channel:workflow:scope=default:v=5 -->
## gogo-channel workflow
…rules…
<!-- /gogo-channel:workflow:scope=default -->

You may hand-edit the body — drift detection only triggers when the server version is higher than yours, so local tweaks are preserved.

read_channel

{
  "channel": "general",
  "limit": 20
}

post_message

{
  "channel": "releases",
  "content": "v1.2.3 deployed to production",
  "metadata": {
    "ticket": "V2-1234",
    "pr": "https://github.com/org/repo/pull/99"
  }
}

list_channels

No parameters required.

setup

{
  "pb_url": "https://pb.example.com",
  "token": "your-api-token",
  "author": "alice"
}

6. Example Usage in Claude Code

Read the last 10 messages in #releases
Post to #bugs: "Checkout flow crashes on iOS Safari — investigating now"
List all available channels

Requirements

  • Node.js >= 18
  • A running PocketBase instance with the messages collection configured