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

@usrivastava92/teamblind-mcp

v1.1.1

Published

MCP server for TeamBlind. Let your AI agent research Blind discussions on your behalf.

Readme

Let your AI agent research Blind discussions on your behalf.

npm version CI License: MIT

Give Claude, VS Code Copilot, and any MCP-compatible assistant access to your TeamBlind — search posts, browse your feed, read company gossip, and stay on top of workplace conversations without switching tabs.


Installation Methods

npx

npx Setup (Recommended)

Prerequisites: Node.js >= 22.14.0

One-time login

npx @usrivastava92/teamblind-mcp --login

This opens a Chromium browser window. Log into TeamBlind normally (Google, Apple, or email). The server detects your login, saves the session, and exits. You have 5 minutes to complete login and any 2FA challenges by default.

If you are already logged in, the command detects the active session, refreshes the saved state, and exits without forcing the login screen.

To intentionally reset the saved session and log in again:

npx @usrivastava92/teamblind-mcp --login --force

Client Configuration

Claude Desktop / Generic MCP Client (claude_desktop_config.json):

{
  "mcpServers": {
    "teamblind": {
      "command": "npx",
      "args": ["-y", "@usrivastava92/teamblind-mcp@latest"]
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "servers": {
    "teamblind": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@usrivastava92/teamblind-mcp@latest"]
    }
  }
}

The @latest tag ensures you always run the newest version — npx checks npm on each client launch and updates automatically. The server starts quickly and reuses your saved browser session from ~/.config/teamblind-mcp/.

Note: Early tool calls may return an authentication error if your session has expired. Re-run npx @usrivastava92/teamblind-mcp --login to refresh, or add --force to wipe the saved session first.


Local Setup (Develop & Contribute)

Contributions are welcome! Please open an issue first to discuss features or bug fixes before submitting a PR.

Prerequisites: Git, Node.js >= 22.14.0, Yarn 4.x

# 1. Clone the repo
git clone https://github.com/usrivastava92/teamblind-mcp
cd teamblind-mcp

# 2. Install dependencies
yarn install

# 3. Build
yarn build

# 4. Login (one-time)
yarn login

# 5. Start the MCP server
yarn start

Client Configuration (pointing to your local checkout):

{
  "mcpServers": {
    "teamblind": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/teamblind-mcp"
    }
  }
}

Available Tools

| Tool | Description | | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | search | Search TeamBlind for posts matching a query. Returns extracted post summaries (title, author, company, content, stats). | | fetch_post | Fetch a TeamBlind post by slug. Returns post details and comments. | | get_feed | Get recent posts from your authenticated TeamBlind home feed. Accepts scrollCount to load more items. | | list_my_companies | List all company private channels you have access to on TeamBlind. Returns company names and aliases. | | get_company_channel | Get posts from a company's private channel (e.g. Google). Requires employee-level access. Accepts company alias and optional scrollCount. | | close_session | Close the browser session and clean up resources. Saves cookies before closing. |


CLI Reference

teamblind-mcp --login          Open browser for interactive login
teamblind-mcp --login --force  Clear saved session, then re-login
teamblind-mcp --logout         Clear stored authentication state
teamblind-mcp [flags]          Start the MCP server (stdio)

| Flag | Default | Description | | ----------------- | ------------------------- | ---------------------------------------------- | | --no-headless | false | Show the browser window (useful for debugging) | | --log-level | ERROR | One of DEBUG, INFO, WARN, ERROR | | --login-timeout | 300 | Login timeout in seconds | | --user-data-dir | ~/.config/teamblind-mcp | Path to persistent browser profile | | --timeout | 15000 | Browser page operation timeout in milliseconds | | --tool-timeout | 180 | Per-tool execution timeout in seconds |

Environment variable equivalents exist for most flags:

| Variable | Description | | ------------------------- | ----------------------------------------------- | | TEAMBLIND_BASE_URL | Base URL (default: https://www.teamblind.com) | | TEAMBLIND_USER_DATA_DIR | Override session storage path | | HEADLESS | Set to 0 or false for non-headless | | LOGIN_TIMEOUT | Login timeout in seconds | | LOG_LEVEL | Logging level | | TIMEOUT | Browser page timeout in ms | | TOOL_TIMEOUT | Per-tool timeout in seconds |


Session Storage

All session data is stored under ~/.config/teamblind-mcp/:

~/.config/teamblind-mcp/
├── profile/               # Chromium persistent profile
├── cookies.json           # Portable cookie export
└── source-state.json      # Session metadata
  • Profile: Your browser profile persists between restarts — cookies, localStorage, and IndexedDB are all preserved
  • Cookies: Exported as JSON for portability and validation
  • Permissions: All session files are created with owner-only permissions (0700 for dirs, 0600 for files)

Troubleshooting

| Symptom | Fix | | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | "No authentication state found" | You haven't logged in yet. Run npx @usrivastava92/teamblind-mcp --login. | | "Not logged into TeamBlind" | Your session may have expired. Run npx @usrivastava92/teamblind-mcp --login to reuse it if still valid, or --login --force for a fresh session. | | Browser window doesn't open on --login | Chromium is downloaded automatically on npm install. If missing, run: npx playwright install chromium. | | Tool calls time out | Increase the timeout: --timeout 30000 or set TIMEOUT=30000. | | Want to debug browser actions? | Use --no-headless to see the browser window while tools execute. | | Clear everything and start fresh | Run npx @usrivastava92/teamblind-mcp --logout then npx @usrivastava92/teamblind-mcp --login, or just use npx @usrivastava92/teamblind-mcp --login --force. | | Login hangs or captcha appears | Run --login with --no-headless so you can solve the captcha manually in the browser window. |


[!IMPORTANT] FAQ

Is this safe to use? Will I get banned?

This tool controls a real authenticated browser session; it doesn't exploit undocumented APIs or bypass authentication. That said, TeamBlind's Terms of Service may prohibit automated tools and browser automation. So far, no user bans related to this project have been reported. However, platform policies can change at any time, so use responsibly and at your own discretion. If you encounter any issues, please open a discussion or issue on GitHub.

What if my agents execute too many actions?

TeamBlind may apply rate limits, additional verification checks, or other restrictions if it detects excessive automated activity. This MCP executes tool calls sequentially through a shared browser session but does not enforce platform-specific rate limits. Prompt your agents responsibly and avoid unnecessary or excessive requests.


Acknowledgements

Built with Model Context Protocol SDK and Playwright.

Use in accordance with TeamBlind's Terms of Service. This project automates access to TeamBlind through a user-authenticated browser session. Users are responsible for ensuring their usage complies with TeamBlind's Terms of Service and applicable policies.

License

MIT