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

@jetkey/mcp-bridge

v2.7.0

Published

MCP bridge for multiplexing multiple Jetkey MCP servers into one stdio interface

Downloads

137

Readme

@jetkey/mcp-bridge

MCP bridge that multiplexes multiple Jetkey cloud servers into a single stdio interface with 7 universal tools.

Overview

The Jetkey MCP Bridge connects AI assistants to cloud infrastructure through the Model Context Protocol (MCP). It provides a unified interface to manage AWS, GCP, Azure, and other cloud services across multiple accounts—all through natural language.

Key Benefits:

  • Unified Access: One bridge, multiple cloud accounts
  • Constant Tool Count: 7 tools regardless of how many servers you have (50 servers = still 7 tools)
  • Natural Language Search: Find cloud operations using semantic search
  • Safety Controls: Dry-run previews and approval workflows for high-risk operations
  • Auto-Updates: Background update checks with zero intervention

Installation

npm/npx

npx @jetkey/mcp-bridge YOUR_API_KEY

MCP Client Configuration

Add to your MCP client's configuration file:

{
  "mcpServers": {
    "jetkey": {
      "command": "npx",
      "args": ["-y", "@jetkey/mcp-bridge@latest", "YOUR_API_KEY"]
    }
  }
}

Common config file locations:

  • Cursor: ~/.cursor/mcp.json
  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
  • Other MCP clients: Refer to client documentation

Get your API key from: https://jetkey.com/user/api-keys

The 7 Universal Tools

1. servers

List all cloud MCP servers you have access to.

servers()
// Returns: { servers: [{ id, name, slug, bundleName }], count }

2. services

List cloud services available in a specific server.

services({ server_id: "df1e03e2-..." })
// Returns: { services: { aws: ["ec2", "s3", "lambda", ...] }, bundleName }

3. operations

List all operations for a service with pagination and filtering.

operations({
  server_id: "df1e03e2-...",
  service: "s3",
  limit: 50,        // optional, default 50, max 200
  offset: 0,        // optional, for pagination
  tags: ["list"],   // optional, filter by operation type
  search: "bucket"  // optional, filter by name/description
})
// Returns: operation details including required parameters

4. search

Search for tools using natural language queries.

search({
  query: "list S3 buckets",
  server_id: "df1e03e2-...",  // Required
  limit: 10,                   // optional
  threshold: 0.3               // optional, similarity threshold
})
// Returns: { tools: [{ toolId, name, description, similarity }] }

5. inspect

Get detailed parameter schemas and documentation for a tool.

inspect({
  server_id: "df1e03e2-...",
  tool_id: "aws.s3.list-buckets",
  mode: "summary"  // or "full"
})
// Returns: { requiredParams, commonParams, examples, hint }

6. execute

Execute a cloud operation.

execute({
  server_id: "df1e03e2-...",
  tool_id: "aws.s3.list-buckets",
  parameters: {},
  dryRun: true  // optional: preview without making changes
})
// Returns: operation result or dry-run preview

7. approval

Manage approval workflows for high-risk operations.

// List pending approvals
approval({ action: "list" })

// Check specific approval status
approval({ action: "status", approval_id: "abc123" })

// Execute an approved operation
approval({ action: "retry", approval_id: "abc123" })

Typical Workflow

1. "What cloud accounts do I have?"
   → servers()

2. "What services can I access in AWS Production?"
   → services({ server_id: "df1e03e2-..." })

3. "What S3 operations are available?"
   → operations({ server_id: "df1e03e2-...", service: "s3" })

4. "Find tools for listing buckets"
   → search({ query: "list S3 buckets", server_id: "df1e03e2-..." })

5. "What parameters does ListBuckets need?"
   → inspect({ server_id: "df1e03e2-...", tool_id: "aws.s3.list-buckets" })

6. "List my buckets"
   → execute({ server_id: "df1e03e2-...", tool_id: "aws.s3.list-buckets" })

Environment Variables

| Variable | Description | Default | |----------|-------------|---------| | JETKEY_MCP_URL | Base URL for Jetkey API | https://jetkey.com |

Example for local development:

{
  "mcpServers": {
    "jetkey": {
      "command": "npx",
      "args": ["-y", "@jetkey/mcp-bridge", "YOUR_API_KEY"],
      "env": {
        "JETKEY_MCP_URL": "http://localhost:3001"
      }
    }
  }
}

Auto-Update Mechanism

The bridge automatically checks for updates on startup:

  • Checks NPM registry (throttled to once per 24 hours)
  • Downloads updates in the background (non-blocking)
  • Updates apply on next bridge restart
  • Gracefully handles network failures

Check your version:

npx @jetkey/mcp-bridge --version

Architecture

MCP Client (Cursor, Claude Desktop, etc.)
    ↓ stdio
Jetkey MCP Bridge (7 universal tools)
    ↓ HTTP/JSON-RPC
Discovery API → [Server A, Server B, Server C, ...]
    ↓
Cloud Operations (AWS, GCP, Azure, etc.)

The bridge:

  1. Discovers available servers via the Jetkey API
  2. Exposes 7 universal tools that route to appropriate backends
  3. Handles authentication, logging, and error handling

Scalability

| Servers | Tools | |---------|-------| | 2 | 7 | | 10 | 7 | | 50 | 7 | | 1000 | 7 |

Unlike per-server tool prefixing (which creates 4N tools for N servers), universal tools keep the interface constant.

Development

# Install dependencies
npm install

# Build
npm run build

# Run locally
node dist/index.js YOUR_API_KEY

Requirements

  • Node.js >= 18.0.0
  • Jetkey API key (from https://jetkey.com/user/api-keys)

License

MIT


Questions? Visit jetkey.com or email [email protected]