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

bitmate-mcp

v0.2.0

Published

Bitmate MCP Server — AI-agent-native algorithmic trading platform control

Downloads

40

Readme

bitmate-mcp

MCP (Model Context Protocol) server for Bitmate — AI-agent-native control of an algorithmic trading platform. Lets Claude, Cursor, Windsurf, and 20+ other MCP-compatible agents run the full Bitmate workflow: discover strategies, backtest, validate robustness, build portfolios, and deploy to live paper trading.

This npm package is a thin TypeScript proxy that bridges your agent's stdio transport to Bitmate's remote MCP endpoint at https://api.bitmate.ai/mcp. Authentication is OAuth 2.1 with PKCE — no API keys to copy-paste.


Quick start (two commands)

# 1. Auto-detect your AI tool(s) and write the right config stanza
npx bitmate-mcp setup

# 2. Sign in via browser — stores an OAuth token at ~/.bitmate/token
npx bitmate-mcp login

Restart your AI tool(s). That's it.


What setup does

Detects and configures every supported client in one pass. Writes the correct config file in the right schema for each tool, idempotently (safe to re-run, safe to run alongside other MCP servers).

Supported clients:

| Family | Tools | |---|---| | Claude | Claude Desktop, Claude Code | | Editors | Cursor, Windsurf, VS Code, GitHub Copilot, JetBrains IDEs, Visual Studio, Zed, Neovim (mcphub.nvim) | | VS Code extensions | Cline, Roo Code, Continue | | CLIs | Gemini CLI, Gemini Code Assist, OpenAI Codex CLI, Amazon Q CLI | | Apps | Goose, Amp, 5ire, LM Studio, Kiro, Antigravity |

Tools that are GUI-configuration-only (Warp, Cherry Studio, Augment Code) are called out at the end with copy-pasteable snippets.

What login does

Runs the OAuth 2.1 Authorization Code + PKCE flow:

  1. Discovers endpoints via /.well-known/oauth-authorization-server.
  2. Registers a fresh public client with Dynamic Client Registration.
  3. Opens your browser to the Bitmate consent page.
  4. You sign in with your Bitmate account and approve the scopes.
  5. A loopback server on 127.0.0.1 catches the auth code.
  6. Exchanges code → access + refresh token, persisted to ~/.bitmate/token (chmod 600).

The proxy picks up the token on next start and pre-emptively refreshes it when within two minutes of expiry.


Legacy mode (API key)

If you have a long-lived bm_... API key and want to skip the OAuth flow (CI, headless servers, one-off scripts):

export BITMATE_API_KEY=bm_your_key_here
npx bitmate-mcp setup         # embeds the key into each client config

Or configure the client manually:

{
  "mcpServers": {
    "bitmate": {
      "command": "npx",
      "args": ["-y", "bitmate-mcp"],
      "env": { "BITMATE_API_KEY": "bm_..." }
    }
  }
}

The proxy accepts either a token file or BITMATE_API_KEY. Token file wins when both are present.


Environment variables

| Variable | Default | Purpose | |---|---|---| | BITMATE_API_URL | https://api.bitmate.ai/mcp/ | Remote MCP endpoint | | BITMATE_ISSUER_URL | origin of BITMATE_API_URL | OAuth issuer (for login) | | BITMATE_OAUTH_SCOPES | mcp:read mcp:optimize mcp:trade | Space-separated scopes requested at login | | BITMATE_API_KEY | — | Legacy opaque bearer; overridden by token file if present |


Troubleshooting

no Bitmate credentials found → Run npx bitmate-mcp login or set BITMATE_API_KEY.

Token refresh failed → Your refresh token expired or was revoked. Run npx bitmate-mcp login again.

state mismatch (possible CSRF) during login → Stale browser tab. Close it and re-run npx bitmate-mcp login.

Failed to connect to Bitmate API → Check BITMATE_API_URL and your network. The server-side error message (after the colon) usually points at the real cause.


Documentation

License

MIT — see the top-level repository for the full text.