{"_id":"@apexti/mcp-bridge","_rev":"8-2affc71b497b3d5670d17cd4838eff1b","name":"@apexti/mcp-bridge","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@apexti/mcp-bridge","version":"0.1.0","keywords":["mcp","bridge","toolbelt"],"author":{"name":"Toolbelt"},"license":"MIT","_id":"@apexti/mcp-bridge@0.1.0","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"bin":{"toolbelt-bridge":"src/index.js"},"dist":{"shasum":"fc429abd4c3857d0a7b76e2b74307c563c92376f","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.1.0.tgz","fileCount":7,"integrity":"sha512-nHJmzemGm8QaSe02A4RfP/8MbJX9tGppDL5CjAwGClMxiB14YtN9D3YiSAAKaOKq9mSd5bF5BRbNqG/M2M9txQ==","signatures":[{"sig":"MEQCICAGiyCWwc2gt549CFgDGdg6LZnWFdD5csfrgv6+GTH5AiAm2Y4HmP6Tguhg7w/eckpEr+eNP2abDXNgd1QVYSJJMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59977},"main":"src/index.js","type":"module","gitHead":"ca363745d3f14e45c1dcb98438731d6ae553caea","scripts":{"dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1","start":"node src/index.js"},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"_npmVersion":"10.8.2","description":"Bridge for running MCP servers locally and connecting to Toolbelt","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ws":"^8.14.2","uuid":"^9.0.0","dotenv":"^16.3.1","express":"^4.18.2","commander":"^11.0.0","@modelcontextprotocol/sdk":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.0_1745434415569_0.5464893650787366","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@apexti/mcp-bridge","version":"0.1.1","keywords":["mcp","bridge","toolbelt"],"author":{"name":"Toolbelt"},"license":"MIT","_id":"@apexti/mcp-bridge@0.1.1","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"bin":{"toolbelt-bridge":"src/index.js"},"dist":{"shasum":"f698c940e981f7a5969d8cbe071219326094782b","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.1.1.tgz","fileCount":7,"integrity":"sha512-S/IEiYavbaMCEMu+cJBxIlucG+SorIpf69e/DoUf6/Z6vCf734Ru+qPbkZIeF+YzgCVt58Noj7vchpsQfUmi5w==","signatures":[{"sig":"MEUCIGIC0fsUYg7JxQTWrl9y5O+8QVeIUoyWDAA+NIMM2WKuAiEAxB+7CzXY5bMs6aGUQO1IUH9V4WQjRb5shtaBqDE4F4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59980},"main":"src/index.js","type":"module","gitHead":"c65c68c93cb472b4030edb5cb8a3f711b31a3c05","scripts":{"dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1","start":"node src/index.js"},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"_npmVersion":"10.8.2","description":"Bridge for running MCP servers locally and connecting to Toolbelt","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ws":"^8.14.2","uuid":"^9.0.0","dotenv":"^16.3.1","express":"^4.18.2","commander":"^11.0.0","@modelcontextprotocol/sdk":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.1_1745435249990_0.7413436877497441","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@apexti/mcp-bridge","version":"0.1.2","keywords":["mcp","bridge","toolbelt"],"author":{"name":"Apexti"},"license":"MIT","_id":"@apexti/mcp-bridge@0.1.2","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"dist":{"shasum":"5520011ac413e6322ecab7bde46c682a187b862e","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.1.2.tgz","fileCount":8,"integrity":"sha512-M7au/AWWA4PCMnZMW89GRAAR9lI1wHNJZipWhbqW532EjSJqutb1C8MQfrTNX/cY8GKO10inmTJQUnDvk1sNMA==","signatures":[{"sig":"MEYCIQCThhNglCfDDSCZMdqTtybn/dGiOkcoZiYlKdVOGHZfDAIhAMcKTOVxkJZxsf1Ru/s64pP1hVZeba740h30cSI1NrTl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61665},"main":"src/index.js","type":"module","gitHead":"13c670542add9c2efe6eed08b6ede5666ad4b58c","scripts":{"dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1","start":"node src/index.js"},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"_npmVersion":"10.8.2","description":"Bridge for running MCP servers locally and connecting to Toolbelt","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ws":"^8.14.2","uuid":"^9.0.0","dotenv":"^16.3.1","express":"^4.18.2","commander":"^11.0.0","@modelcontextprotocol/sdk":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.2_1758208451249_0.4772262306925521","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@apexti/mcp-bridge","version":"0.1.3","keywords":["mcp","bridge","toolbelt"],"author":{"name":"Apexti"},"license":"MIT","_id":"@apexti/mcp-bridge@0.1.3","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"bin":{"toolbelt-bridge":"src/cli.js"},"dist":{"shasum":"36e068ac89d9ae047852b651fddd856b0891ec66","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.1.3.tgz","fileCount":8,"integrity":"sha512-4VoqYQhRFOLPXpa6ynyO5zYDRTXc7NN0i6paufzdSEItsCvjEd+VwNIFre/b+3KcER0sDDCAURfQAGHmvOFb5w==","signatures":[{"sig":"MEUCIQCWrD9Zof7149RTdyh+y6uqOaeEArjETlGTsR+ixOyYoQIgCpNzJkT3YEAt2EhJyVg8BP1Gdxc3uC/RW0GuT4owPbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61719},"main":"src/index.js","type":"module","gitHead":"457830d315d166073515c7ab3622c4d6986abc8c","scripts":{"dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1","start":"node src/index.js"},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"_npmVersion":"10.8.2","description":"Bridge for running MCP servers locally and connecting to Toolbelt","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ws":"^8.14.2","uuid":"^9.0.0","dotenv":"^16.3.1","express":"^4.18.2","commander":"^11.0.0","@modelcontextprotocol/sdk":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.3_1758209100097_0.11328739235148166","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@apexti/mcp-bridge","version":"0.1.4","keywords":["mcp","bridge","toolbelt"],"author":{"name":"Apexti"},"license":"MIT","_id":"@apexti/mcp-bridge@0.1.4","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"bin":{"toolbelt-bridge":"src/index.js"},"dist":{"shasum":"ce554b5f3ad474058bb90e70ebbf5ceed0b9c934","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.1.4.tgz","fileCount":8,"integrity":"sha512-D31MS9FkgmFhVozSJLX/3jMrFCLjgfEUKTBrRHm+KREtYljhtDvIMlttyzMGfPZEkSVHTGAUrBawFpr1Lvlu0A==","signatures":[{"sig":"MEQCID0WL8w1e2ljB7vYWaRYCNwNJ4KEN2g64yj8HvoZOMyWAiBThlL4FHFxJzjQk4aTlrqqblamKfcHBXj2rzcb5kyLfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61742},"main":"src/index.js","type":"module","gitHead":"457830d315d166073515c7ab3622c4d6986abc8c","scripts":{"dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1","start":"node src/index.js"},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"_npmVersion":"10.8.2","description":"Bridge for running MCP servers locally and connecting to Toolbelt","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ws":"^8.14.2","uuid":"^9.0.0","dotenv":"^16.3.1","express":"^4.18.2","commander":"^11.0.0","@modelcontextprotocol/sdk":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.4_1758209316177_0.5037435415869791","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@apexti/mcp-bridge","version":"0.1.5","keywords":["mcp","bridge","toolbelt"],"author":{"name":"Apexti"},"license":"MIT","_id":"@apexti/mcp-bridge@0.1.5","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"bin":{"toolbelt-bridge":"src/index.js"},"dist":{"shasum":"cc32b907eb98702220be9032b0f628d9a601bda4","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.1.5.tgz","fileCount":8,"integrity":"sha512-pU+mtv10wEK624bcb31j03/9mesV5r5HM9dPr3TUqdHGv6i1so8cgLgeYAmaCiN2Ybb9Qme58xj6hbBiHV+9Rw==","signatures":[{"sig":"MEYCIQDaFbDZGE478yD39WkvYrZHa3uWUKySrfnLbALmi5YC3AIhAK+Ecv0zpC3WkxJBfs7/fcXarCHDgVxccBIFNTbScsTQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61742},"main":"src/index.js","type":"module","gitHead":"457830d315d166073515c7ab3622c4d6986abc8c","scripts":{"dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1","start":"node src/index.js"},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"_npmVersion":"10.8.2","description":"Bridge for running MCP servers locally and connecting to Toolbelt","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ws":"^8.14.2","uuid":"^9.0.0","dotenv":"^16.3.1","express":"^4.18.2","commander":"^11.0.0","@modelcontextprotocol/sdk":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.5_1758209365120_0.20152689449545358","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@apexti/mcp-bridge","version":"0.1.6","keywords":["mcp","bridge","toolbelt"],"author":{"name":"Apexti"},"license":"MIT","_id":"@apexti/mcp-bridge@0.1.6","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"bin":{"toolbelt-bridge":"src/index.js"},"dist":{"shasum":"4ed27b2f3670d7d78897497e4be170c54a9fa9dd","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.1.6.tgz","fileCount":8,"integrity":"sha512-JL8TvP5DzZVBEaWiWIBT96Eefp8+jecfwr3uXwZhw4mr/9TLbBrAJ32Qc/8NDSvyrJWzdbbsJMANWGk7iRBYnQ==","signatures":[{"sig":"MEUCIQCgQLG4w0DXP4p0PlV0MmRtJVVDVZoaWxMgyjmPVIaa/gIgJluDLrL/WPJ/ibepKkh+dNpuWDDVhOXSl7t+h9gnAq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61761},"main":"src/index.js","type":"module","gitHead":"6758ed60a18433450c18a027015e063fc8f48d0a","scripts":{"dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1","start":"node src/index.js"},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"_npmVersion":"10.8.2","description":"Bridge for running MCP servers locally and connecting to Toolbelt","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ws":"^8.14.2","uuid":"^9.0.0","dotenv":"^16.3.1","express":"^4.18.2","commander":"^11.0.0","@modelcontextprotocol/sdk":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.6_1758209842198_0.13596603944237184","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@apexti/mcp-bridge","version":"0.2.0","description":"Bridge for running MCP servers locally and connecting to Toolbelt","main":"src/index.js","bin":{"toolbelt-bridge":"src/index.js"},"type":"module","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["mcp","bridge","toolbelt"],"author":{"name":"Apexti"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.0.3","commander":"^11.0.0","dotenv":"^16.3.1","express":"^4.18.2","uuid":"^9.0.0","ws":"^8.14.2"},"devDependencies":{"nodemon":"^3.0.1"},"_id":"@apexti/mcp-bridge@0.2.0","gitHead":"4a88aaaab7407cac4b606dda3999d3399ff54e49","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-vaTiorbvYqsYqU0QTdcYas9/FQ2ECQ10DbftPFAWGIBzlHUC8Z50XrmuiuCgUKHcTadCMQLFzI71egQN48CUUw==","shasum":"3468833f87469ac3330877a16066e014f5b89cf0","tarball":"https://registry.npmjs.org/@apexti/mcp-bridge/-/mcp-bridge-0.2.0.tgz","fileCount":6,"unpackedSize":60950,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDGDAbk+nVsp8Msx/O5OLBi5/dH5G5JtmeZMcsIbzdqvgIhAMdCvPyDMxJbjGNQ5tGLe16VbjkdjxIvalTL4uvE0a2a"}]},"_npmUser":{"name":"ryanapexti","email":"ryan.moore@apexti.com"},"directories":{},"maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-bridge_0.2.0_1758631741414_0.42064537116612777"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-23T18:53:35.459Z","modified":"2025-09-23T12:49:01.819Z","0.1.0":"2025-04-23T18:53:35.786Z","0.1.1":"2025-04-23T19:07:30.214Z","0.1.2":"2025-09-18T15:14:11.438Z","0.1.3":"2025-09-18T15:25:00.279Z","0.1.4":"2025-09-18T15:28:36.369Z","0.1.5":"2025-09-18T15:29:25.333Z","0.1.6":"2025-09-18T15:37:22.377Z","0.2.0":"2025-09-23T12:49:01.598Z"},"author":{"name":"Apexti"},"license":"MIT","keywords":["mcp","bridge","toolbelt"],"description":"Bridge for running MCP servers locally and connecting to Toolbelt","maintainers":[{"name":"ryanapexti","email":"ryan.moore@apexti.com"},{"name":"sigiti","email":"sigi@apexti.com"}],"readme":"# Toolbelt MCP Bridge\n\nThe Toolbelt MCP Bridge allows you to run MCP (Model Context Protocol) servers locally on your machine while connecting them to your Toolbelt account. This enables you to:\n\n1. Run private MCP servers that don't need to be hosted in the cloud\n2. Develop and test new MCP servers locally before deployment\n3. Use specialized MCP servers that require local resources\n4. Maintain control over your data and services\n\n## Installation\n\n```bash\n# Clone the repository (if you haven't already)\ngit clone https://github.com/yourusername/toolbelt.git\ncd toolbelt/mcp-bridge\n\n# Install dependencies\nnpm install\n```\n\n## Configuration\n\nCreate a `.env` file in the mcp-bridge directory with the following variables:\n\n```\nTOOLBELT_URL=wss://toolbelt.apexti.dev/bridge\nAPI_KEY=your-api-key\n```\n\nYou can get your API Key from your Toolbelt account settings.\n\n## Usage\n\n### Starting the Bridge\n\n```bash\nnpm start server\n```\n\nThis will start the bridge and connect to your Toolbelt account. Any MCP servers you register with the bridge will be available in your Toolbelt account.\n\n### Running External MCP Servers\n\nThe bridge supports several ways to run external MCP servers:\n\n#### 1. Run an MCP Server with npx\n\nYou can run any MCP server package directly with the bridge:\n\n```bash\n# Run with stdio transport (for servers that communicate via standard I/O)\nnpm run mcp-bridge run @modelcontextprotocol/server-memory --transport-type stdio\n\n# Run with additional arguments\nnpm run mcp-bridge run @modelcontextprotocol/server-memory -- -a \"--port=3000\"\n\n# Disable SSL verification for development with local HTTPS servers\nnpm run mcp-bridge run @modelcontextprotocol/server-memory --reject-unauthorized false\n```\n\nThis will:\n\n1. Start the bridge\n2. Start a server adapter (for WebSocket transport)\n3. Run the specified MCP server package with npx\n4. Connect the server to the bridge\n\n#### 2. Start a Server Adapter\n\nIf you want to run multiple MCP servers or have more control over how they're started:\n\n```bash\n# Start a server adapter on a random port\nnpm run mcp-bridge server\n\n# Start a server adapter on a specific port\nnpm run mcp-bridge server -p 8080\n```\n\nThis will start the bridge and a server adapter. You'll see a connection URL that you can use to connect your MCP servers to the bridge.\n\n#### 3. Start the Bridge with a Server Adapter\n\nYou can also start the bridge with a server adapter in one command:\n\n```bash\nnpm run mcp-bridge start -s\n```\n\n### Using with Custom MCP Servers\n\nYou can register custom MCP servers with the bridge programmatically:\n\n```javascript\nimport { McpBridgeServer } from \"@toolbelt/mcp-bridge\";\nimport { YourCustomMcpServer } from \"./your-custom-server.js\";\n\n// Create and initialize your MCP server\nconst customServer = new YourCustomMcpServer();\nawait customServer.initialize();\n\n// Create and start the bridge\nconst bridge = new McpBridgeServer({\n  apiKey: \"your-api-key\",\n  toolbeltUrl: \"wss://yourtoolbelt.app/bridge\",\n});\n\n// Start the bridge\nawait bridge.start();\n\n// Register your custom server with the bridge\nawait bridge.registerServer(customServer);\n\nconsole.log(`${customServer.name} registered with the bridge`);\n```\n\n## Development\n\nFor development with auto-restart on file changes:\n\n```bash\nnpm run dev\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}