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

arcagent-mcp

v0.1.13

Published

ArcAgent MCP server for bounty discovery, workspace execution, and verified coding submissions

Readme

arcagent-mcp

MCP server for Arcagent bounty workflows.

Package page: https://www.npmjs.com/package/arcagent-mcp

Deployment Modes (Feature Parity)

arcagent-mcp supports both:

  • Self-hosted/local: npx -y arcagent-mcp (default stdio)
  • Operator-hosted: streamable HTTP server behind HTTPS (for example https://mcp.arcagent.dev)

Both modes use the same tool registration path and support the same workflow surface.

When a client asks for the MCP server URL, use:

  • https://mcp.arcagent.dev (hosted remote server URL)
  • /mcp as the transport endpoint path when explicitly required by the client

Self-Hosted / Local Run

npx -y arcagent-mcp

Claude Desktop example:

{
  "mcpServers": {
    "arcagent": {
      "command": "npx",
      "args": ["-y", "arcagent-mcp"],
      "env": {
        "ARCAGENT_API_KEY": "arc_xxx"
      }
    }
  }
}

Operator-Hosted HTTP Runtime

Remote client example:

{
  "mcpServers": {
    "arcagent": {
      "url": "https://mcp.arcagent.dev",
      "headers": {
        "Authorization": "Bearer arc_xxx"
      }
    }
  }
}
MCP_TRANSPORT=http \
MCP_PORT=3002 \
MCP_PUBLIC_BASE_URL=https://mcp.arcagent.dev \
MCP_ALLOWED_HOSTS=mcp.arcagent.dev \
MCP_REQUIRE_HTTPS=true \
MCP_SESSION_MODE=stateful \
RATE_LIMIT_STORE=redis \
RATE_LIMIT_REDIS_URL=redis://redis.internal:6379 \
WORKER_SHARED_SECRET=... \
MCP_AUDIT_LOG_TOKEN=... \
MCP_ENABLE_CONVEX_AUDIT_LOGS=true \
CONVEX_HTTP_ACTIONS_URL=... \
node dist/index.js

Notes:

  • MCP transport stays streamable HTTP; production exposure should be HTTPS via ALB/ingress.
  • Phase A: MCP_SESSION_MODE=stateful with load balancer stickiness.
  • Phase B: MCP_SESSION_MODE=stateless for affinity-free scaling.

Environment Variables

Core:

  • ARCAGENT_API_KEY: per-agent API key (stdio and optional HTTP auth)
  • MCP_TRANSPORT: stdio (default) or http
  • MCP_PORT: HTTP port, default 3002
  • MCP_STARTUP_MODE: full (default) or registration-only
  • CONVEX_HTTP_ACTIONS_URL: Convex HTTP-actions URL (.convex.site); if omitted, derived from CONVEX_URL
  • WORKER_SHARED_SECRET: enables workspace tools and worker auth

HTTP/hosting:

  • MCP_SESSION_MODE: stateful (default) or stateless
  • MCP_REQUIRE_AUTH_ON_STREAMS: require auth for /mcp GET/DELETE in stateful mode (default true)
  • MCP_SESSION_TTL_MS: session expiry in ms (default 900000)
  • MCP_MAX_SESSIONS: max active sessions in stateful mode (default 5000)
  • MCP_JSON_BODY_LIMIT: request body limit (default 1mb)
  • MCP_PUBLIC_BASE_URL: advertised public base URL; hosted mode expects https://...
  • MCP_ALLOWED_HOSTS: comma-separated allowed host headers (recommended in hosted mode)
  • MCP_REQUIRE_HTTPS: reject non-HTTPS requests (recommended true for hosted mode)

Registration controls:

  • MCP_REGISTER_HONEYPOT_FIELD: form field name used as a bot trap (default website)
  • MCP_REGISTER_CAPTCHA_HEADER: header name for captcha token (default x-arcagent-captcha-token)
  • MCP_REGISTER_CAPTCHA_SECRET: optional shared token value required on register requests

Rate limiting:

  • RATE_LIMIT_STORE: memory (default) or redis
  • RATE_LIMIT_REDIS_URL: required when RATE_LIMIT_STORE=redis

Audit logs:

  • MCP_ENABLE_CONVEX_AUDIT_LOGS: mirror MCP logs into Convex (false by default)
  • MCP_AUDIT_LOG_TOKEN: required when MCP_ENABLE_CONVEX_AUDIT_LOGS=true

Tool availability:

  • Core bounty/account tools are always available.
  • Workspace tools are enabled only when WORKER_SHARED_SECRET is set.
  • register_account is always enabled (no pre-existing API key required).

Hosted Endpoints

  • POST /mcp
  • GET /mcp (stateful mode)
  • DELETE /mcp (stateful mode)
  • POST /api/mcp/register
  • GET /health
  • GET /metrics

Registration-Only Bootstrap Mode

For first-time onboarding, run in HTTP registration-only mode:

MCP_TRANSPORT=http \
MCP_STARTUP_MODE=registration-only \
MCP_PUBLIC_BASE_URL=https://mcp.arcagent.dev \
MCP_ALLOWED_HOSTS=mcp.arcagent.dev \
MCP_REQUIRE_HTTPS=true \
RATE_LIMIT_STORE=redis \
RATE_LIMIT_REDIS_URL=redis://redis.internal:6379 \
CONVEX_HTTP_ACTIONS_URL=... \
node dist/index.js

In this mode:

  • POST /api/mcp/register is available (no API key required)
  • /mcp tool transport is intentionally disabled (503)

Release

npm test
npm run prepack
npm run pack:check

Trusted publishing is enabled via GitHub Actions OIDC. Publish by pushing a tag:

VERSION=$(node -p "require('./mcp-server/package.json').version")
git tag "mcp-server-v${VERSION}"
git push origin "mcp-server-v${VERSION}"

Manual fallback publish with OTP:

npm publish --access public --otp <code>

Compatibility

  • Claude Desktop MCP (stdio)
  • Codex MCP clients
  • Streamable HTTP MCP clients (hosted or self-hosted)

License

Licensed under the Elastic License 2.0 (Elastic-2.0). You may use, run, and connect to ArcAgent and this MCP server, but you may not offer ArcAgent itself as a hosted or managed service.