{"_id":"@botanicastudios/mcp-host-rpc","_rev":"14-3b5e3197dd1adbde755156ee0e6df312","name":"@botanicastudios/mcp-host-rpc","dist-tags":{"latest":"0.4.0"},"versions":{"0.0.1":{"name":"@botanicastudios/mcp-host-rpc","version":"0.0.1","keywords":[],"author":"","license":"ISC","_id":"@botanicastudios/mcp-host-rpc@0.0.1","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"dist":{"shasum":"1e86c4c8008638de4da60133e3e24f6f8393d0bd","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.0.1.tgz","fileCount":36,"integrity":"sha512-9nAdY0OGFAOjd1tL/5Q8FhHBsjXL9md6nbQIOVVofppWvbZwy/vp0O0G8liW1jpVWRSUeUGu0zng0Y08usCJ8A==","signatures":[{"sig":"MEUCIQCDg0voDTKrPmQRDGuRZ1DsKbgFeBxpJBCH3vYbAss3BgIgKeSCg5jQbHwj3rcpf1JmS47GW4XQ4Y/rG36LNGr6Rtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114578},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3d4cae860525e70d9496b20e15bb0479f55b554b","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","test:ui":"vitest --ui","test:run":"vitest run","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","actor":{"name":"tnjm","type":"user","email":"toby.m@rsden.com"},"email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"This MCP server bridges MCP tool calls to JSON-RPC function calls over a socket connection.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.12","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.0.1_1752107441984_0.5988495146148141","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@botanicastudios/mcp-host-rpc","version":"0.0.2","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.0.2","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"ae2845f9099e16016e74ec2fb13ca3fc7f6892d3","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.0.2.tgz","fileCount":36,"integrity":"sha512-xD5mOcdKpbQ//FuY3A/BkqVn5medKFmtOg4ykvbUjtcBwrK5Ck7D1+v87EYJParHqvCLFZWTw5bHS/fgWdbirg==","signatures":[{"sig":"MEUCICC+Eh5wYuDq3M3B8gnib/HpNyomGwq4SZn0UNY3uOvaAiEA6YzLm39s8Oex9v22+QGE7CFryUgNGkH0ysRodogKQ0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115940},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"44597c336942a1ff533976f3e71af25f512425a0","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","test:ui":"vitest --ui","test:run":"vitest run","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","actor":{"name":"tnjm","type":"user","email":"toby.m@rsden.com"},"email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.12","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.0.2_1752108239743_0.28558099818453164","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@botanicastudios/mcp-host-rpc","version":"0.1.0","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.1.0","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"35b22dc2d827206d9f50fc22214a6bba477162e9","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.1.0.tgz","fileCount":41,"integrity":"sha512-ynSDsoC6tebBmw6ESHXwHCTnEUhK7RaPKwguWJAHBf9k6zFaJIUloiItyUCOp6qQlv+Bw7RvlT+oPWicdkNhsg==","signatures":[{"sig":"MEYCIQCWcbhdM1XlGjhgJn/9dOlEK211kcstxCRViIvPuJ9PdgIhAK8VPHUag2Yg37GuHbynS4PMzlHUk1/nTDC+JPntkxqU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146236},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"885de8dbb02f1f1b0ae4c5aa6734652c0a9f1e1c","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","test:run":"vitest run","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.1.0_1752353297372_0.11969770371341415","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@botanicastudios/mcp-host-rpc","version":"0.1.1","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.1.1","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"0f562b583260b9d1d133b5d721ea1a36ad8f10c3","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.1.1.tgz","fileCount":41,"integrity":"sha512-PrkUK2qqedENjnz1KDYExqVnPvLKPZI/wVux0dOscrpYaWvuV43JvcYTGc+MPE+8hbpSAAf4sDX39e3JSs9M5Q==","signatures":[{"sig":"MEUCIQC6WMs5DaC79RyV+OvXoX94ge0VGYimJYkAd/trVXySOQIgUeIxb0QqB+2YA0xEVjie9DghVhIYvA2MNXTB9j1aAkw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157383},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"85afa685316164c3ca346cf6db42cb0c4ba247ee","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","test:run":"vitest run","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.1.1_1752359089298_0.7042505348674801","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@botanicastudios/mcp-host-rpc","version":"0.1.2","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.1.2","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"c0d0784da1b7aad8b237924885049b1a452de4a0","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.1.2.tgz","fileCount":47,"integrity":"sha512-rEYGGhlvYcJTPfiQhCkyFfbF6vmcScFs/DSK6RF9Mwi8GIw8M1vWkd/i2mIFGWnN7yLB4EJZfglXHyo4doaxCg==","signatures":[{"sig":"MEUCIE8vDYVmhi57bdlwATiXJYqfDUYr3gA8eAppNGgE0JltAiEA13fhK9Co9GlWbQX/EdY63r5Pq7ZVZl3p/J4Fh03AAHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242813},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"f66b2109dbdcdb540b7e945088a6cda148a4669b","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.1.2_1752362857176_0.13583239937610547","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@botanicastudios/mcp-host-rpc","version":"0.2.0","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.2.0","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"c877437041fb72b71d4aa7c812d6fac74fcfb977","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.2.0.tgz","fileCount":47,"integrity":"sha512-PVw0IAuiO0Le6ebp6JU5h2yomxMGpz/ZKDPY1Wy8h4+Ky4ekQl2Dq9YXcPSnNRxtTy8O7Dlep4q9/FS8jwlG4g==","signatures":[{"sig":"MEQCIHBJ9s/J4Vwd+bKnbD1uMIQfvMn2Q7VXeb4MJrR8vTbyAiAUTRhtK8bFiCPh8jtLSL0Q7vI71IBuZ1gtJfTJ33dXnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242723},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"5ce7776b8bce8472d8ff3937ef5b534e241c3e6d","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.2.0_1752364438472_0.22230723120709306","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@botanicastudios/mcp-host-rpc","version":"0.2.1","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.2.1","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"bf8939f3467b87050169b0ca5f125d5d763fe1b8","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.2.1.tgz","fileCount":47,"integrity":"sha512-Hy8WZcctKGt275rcnjy5Vs7LbwbZj9rr+Oz9JpLb6Kouw1W35YMXSmnW93uN4FX0zevRuleimau7wcU3XI3eNg==","signatures":[{"sig":"MEQCIBc+QUYZiWLHaQr1XPZ49VuoYMHhxoQRDEhqJnVO13y2AiBl/Fnn5jsxq/tYU/P0cJ5bt8Txem7KxZ6v0FTgpNCdQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242732},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"f0bfef602e2c995bd0148ef3994eb24a941f6266","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.2.1_1753274141777_0.15043741410529088","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@botanicastudios/mcp-host-rpc","version":"0.2.2","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.2.2","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"546b1417fbbe875b45ac1135613e4fc14c704dc3","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.2.2.tgz","fileCount":47,"integrity":"sha512-8MuLQrZyqM241iwyAq7FpMH/6NcfX93vH7Ts5ngQuDjDdE7N+fbq4rtSZHrZdoyeDqAyEq/vR13lhsmGpITGkg==","signatures":[{"sig":"MEUCIQDt06hc91ToLa7uwT/luU3ma3Cm6z1oT8sfbnEJqlnI/QIgEQQlDoQACfPKlS3bkdEYkpnREy7jRD3thDn/CPBEtFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242769},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"53eecdc2cd858ef10700c5ecece0358f6be76e42","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.2.2_1753274275021_0.8799812502215456","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@botanicastudios/mcp-host-rpc","version":"0.2.4","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.2.4","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"0cc43129a14973a5e4ce942672f953f1659f3a4d","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.2.4.tgz","fileCount":47,"integrity":"sha512-EorgNUoDfyY+rhstOEtTde7DHvL8xK3YYn3Dsu6u6pgYMGQntlbdnyvud/qQZxxtsHnC6vp9hY0KlcJ+wYujug==","signatures":[{"sig":"MEUCIQCPGX6oJMu/uiYOjDZSYvTnQNz0sXc9pmzjsc4zP9eu+AIgHr9vSxST72a5j9lxdYWWYEa66AA2fYqKJs8hQeOcaFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255050},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"53eecdc2cd858ef10700c5ecece0358f6be76e42","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.2.4_1753281252936_0.16219795832380757","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@botanicastudios/mcp-host-rpc","version":"0.3.0","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.3.0","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"8f5cda373be5f1ebde874e0358070d6b5e4d02d7","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.3.0.tgz","fileCount":47,"integrity":"sha512-GyQlBPoO3lIn0TKw9HA2uBHt4b6xI7snW2lvx531z+68d9rjcVgdr82otfItkbBt6XJJwqwlzNh+4dFyGj4A/w==","signatures":[{"sig":"MEQCIFavOxQndFaVrkH9ganWGMY1VTn0CYq2l/F/BCCyrdDWAiB1OGgh9dW6PeBgO3yrLHM14aIM//zved6IaaKVwKrgFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279544},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"33244cb64bf990635752c9ca8312c3afbc32202e","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.3.0_1753951828674_0.3913104506634677","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@botanicastudios/mcp-host-rpc","version":"0.3.1","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.3.1","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"903b6121aebe72b93b61dad663333ec45664aba1","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.3.1.tgz","fileCount":49,"integrity":"sha512-wtSfN4kPpkebTNcbOL3VhDjabFI8l0MoxuGj6BwBoixYBmlYm1Pr8kh+12tVoZqEgfphplIu+y9APWzsq2cqEg==","signatures":[{"sig":"MEQCIB68GfQMLEdlesoNlmM0Z2hD53u2x+Z5J6i6jKR3MRlvAiBle0o1FTiAhHxaOH2XOE0UHXnHFz3OHABPFHST4Gc1NQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327732},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"73b204ed747dd3fcc8aa8ea5b6e8b8d11b3265d3","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.3.1_1753954985540_0.7110701999416469","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@botanicastudios/mcp-host-rpc","version":"0.3.2","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.3.2","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"0336990726bae77dbe41a6e8ea4d1bd6e6ef71b4","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.3.2.tgz","fileCount":50,"integrity":"sha512-N12z7tFWX+178tHOqowGZ6yP6c/TkPb2EsenJuZ6ch1zRYChkfRLuivXy8mZuasJxQ++ILsQ5aW4VsizeqlvyA==","signatures":[{"sig":"MEUCIH4uPwSklpOqzf35ew3AUizutZ17Vv8JgPHotO9SNmhrAiEAkmmf2qPlHPpQCEnAUQ7qM5b3QIZdDsRvdSlvYKHg2XU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334136},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"bad4517d2996d2b0fa29b27630790e9d2d30c5ed","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.3.2_1753955821065_0.04969516788401229","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@botanicastudios/mcp-host-rpc","version":"0.3.3","keywords":["mcp","host","rpc"],"author":{"name":"Botanica Studios"},"license":"MIT","_id":"@botanicastudios/mcp-host-rpc@0.3.3","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"bin":{"mcp-host-rpc":"dist/index.js"},"dist":{"shasum":"e1f7c6cdab082287e8386d941fa26918e96413ca","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.3.3.tgz","fileCount":55,"integrity":"sha512-EgVAi4+YbsqeWj2zagEKzhDCCkgtD3hSHsdPYtGiOTAXCyQde3CrjodK4Xvr/JVERb2dFu18fL7UGZWVsWCbFA==","signatures":[{"sig":"MEYCIQCERGnmhI5OPa4/t8RNwOg9oH99FPxiUWriZO3KYRqAzgIhAIlV+kCZyYR0ogXxmqfbeoe9yIyqMl2I1jemoJRpF1RO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354419},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./host":{"types":"./dist/host.d.ts","import":"./dist/host.js"}},"gitHead":"41077eb4315abdc9030aebe92a48766909d5de23","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc","start":"node dist/index.js","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","test:ui":"vitest --ui","example:zod":"npm run build && node examples/zod-example.js","test:coverage":"vitest run --coverage"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"_npmVersion":"10.9.2","description":"A simple MCP host RPC bridge","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^3.25.76","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","typescript":"^5.8.3","@types/node":"^24.0.12","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/mcp-host-rpc_0.3.3_1754348608881_0.43063696248218775","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@botanicastudios/mcp-host-rpc","version":"0.4.0","type":"module","main":"dist/index.js","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./host":{"import":"./dist/host.js","types":"./dist/host.d.ts"}},"bin":{"mcp-host-rpc":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsx src/index.ts","watch":"nodemon --exec tsx src/index.ts","example":"npm run build && node examples/simple-example.js","example:zod":"npm run build && node examples/zod-example.js","test":"vitest run","test:ui":"vitest --ui","test:coverage":"vitest run --coverage"},"author":{"name":"Botanica Studios"},"license":"MIT","keywords":["mcp","host","rpc"],"description":"A simple MCP host RPC bridge","dependencies":{"@modelcontextprotocol/sdk":"^1.15.0","json-rpc-2.0":"^1.7.1","jsonwebtoken":"^9.0.2","zod":"^3.25.76"},"devDependencies":{"@types/jsonwebtoken":"^9.0.6","@types/node":"^24.0.12","@vitest/coverage-v8":"^3.2.4","@vitest/ui":"^3.2.4","mcp-client":"^1.4.0","nodemon":"^3.1.10","ts-node":"^10.9.2","tsx":"^4.20.3","typescript":"^5.8.3","vitest":"^3.2.4"},"ts-node":{"esm":true,"experimentalSpecifierResolution":"node"},"_id":"@botanicastudios/mcp-host-rpc@0.4.0","gitHead":"4a01a9e7f37c6213714bf6a2fed6829eaab7c776","types":"./dist/index.d.ts","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-CdgroA0iD++YG/xrwoEoBk+mFcsd/uunCo4Feps9Ut0TfgYEAkVgYUb7lQxRmXYNT/iaXugkfVmKAmqHFSl3lA==","shasum":"7855bbed016ae21f3a7e27e6ece5111049717c49","tarball":"https://registry.npmjs.org/@botanicastudios/mcp-host-rpc/-/mcp-host-rpc-0.4.0.tgz","fileCount":75,"unpackedSize":443807,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG3fulFYqZhPeF4io6LRWZ9Y2tdjjiGWawLkbZmvAZeEAiBRljqhTCfFOp+97Fu7B80AetwU+FtSNVWCKWaUDaC0Nw=="}]},"_npmUser":{"name":"tnjm","email":"toby.m@rsden.com"},"directories":{},"maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-host-rpc_0.4.0_1755006614818_0.914345353520764"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-10T00:30:41.817Z","modified":"2025-08-12T13:50:15.249Z","0.0.1":"2025-07-10T00:30:42.191Z","0.0.2":"2025-07-10T00:43:59.932Z","0.1.0":"2025-07-12T20:48:17.561Z","0.1.1":"2025-07-12T22:24:49.492Z","0.1.2":"2025-07-12T23:27:37.359Z","0.2.0":"2025-07-12T23:53:58.649Z","0.2.1":"2025-07-23T12:35:41.978Z","0.2.2":"2025-07-23T12:37:55.212Z","0.2.4":"2025-07-23T14:34:13.158Z","0.3.0":"2025-07-31T08:50:28.849Z","0.3.1":"2025-07-31T09:43:05.762Z","0.3.2":"2025-07-31T09:57:01.277Z","0.3.3":"2025-08-04T23:03:29.083Z","0.4.0":"2025-08-12T13:50:15.018Z"},"author":{"name":"Botanica Studios"},"license":"MIT","keywords":["mcp","host","rpc"],"description":"A simple MCP host RPC bridge","maintainers":[{"name":"tnjm","email":"toby.m@rsden.com"}],"readme":"# MCP Host RPC Bridge\n\nA Node.js library that bridges MCP (Model Context Protocol) tool calls to JSON-RPC function calls. Supports both Unix socket connections (default) and HTTP transport for flexible integration with any application architecture.\n\n## Features\n\n- 🚀 **Dual Transport Modes**: Unix sockets for local IPC, HTTP for web integration\n- 🔐 **JWT Authentication**: Secure context passing with cryptographic signatures\n- 🔧 **Framework Agnostic**: Works with Express, Fastify, Next.js, or raw Node.js\n- 📝 **TypeScript Support**: Full type definitions included\n- 🎯 **Zod Integration**: Automatic schema conversion for type-safe tools\n\n## Installation\n\n```bash\nnpm install @botanicastudios/mcp-host-rpc\n```\n\n## Quick Start\n\n### Socket Mode (Default)\n\n```javascript\nimport { McpHost } from '@botanicastudios/mcp-host-rpc/host';\n\n// Create host with Unix socket transport (default)\nconst host = new McpHost({ debug: true });\n\n// Register a tool\nhost.registerTool('get_data', {\n  title: 'Get Data',\n  description: 'Retrieves data from the system',\n  functionName: 'getData',\n  inputSchema: {\n    type: 'object',\n    properties: {\n      id: { type: 'string' }\n    },\n    required: ['id']\n  }\n}, async (context, args) => {\n  return { type: 'text', text: `Data for ${args.id}` };\n});\n\n// Start the server\nawait host.start();\n\n// Get MCP server configuration\nconst config = host.getMCPServerConfig(\n  'my-server',\n  ['get_data'],\n  { userId: '123', permissions: ['read'] }\n);\n```\n\n### HTTP Mode\n\n```javascript\nimport express from 'express';\nimport { McpHost } from '@botanicastudios/mcp-host-rpc/host';\n\nconst app = express();\n\n// Create host with HTTP transport\nconst host = new McpHost({\n  transport: 'http',\n  httpPath: '/mcp-rpc',\n  httpUrl: 'http://localhost:3000/mcp-rpc'\n});\n\n// Set up HTTP endpoint\napp.use(express.json());\napp.post('/mcp-rpc', async (req, res) => {\n  await host.handleHttpRequest(req, res);\n});\n\n// Register tools and start\nhost.registerTool(/* ... */);\nawait host.start();\napp.listen(3000);\n```\n\n## Documentation\n\n- **[Socket Mode Guide](docs/socket-mode.md)** - Detailed documentation for Unix socket transport\n- **[HTTP Mode Guide](docs/http-mode.md)** - Complete guide for HTTP transport integration\n\n## Core Concepts\n\n### Transport Modes\n\n1. **Socket Mode** (default) - Uses Unix domain sockets for high-performance local IPC\n2. **HTTP Mode** - Uses HTTP POST requests for web integration and remote access\n\n### Context-Based Security\n\nEvery tool handler receives a verified context object extracted from JWT tokens:\n\n```javascript\nhost.registerTool('read_file', {\n  /* tool config */\n}, async (context, args) => {\n  // context contains verified JWT payload\n  if (!context.permissions.includes('read')) {\n    throw new Error('Permission denied');\n  }\n  // Implement tool logic\n});\n```\n\n### Tool Registration\n\nTools can be registered with JSON Schema or Zod schemas:\n\n```javascript\nimport { z } from 'zod';\n\n// Using Zod schema (auto-converted to JSON Schema)\nconst schema = z.object({\n  name: z.string().min(1),\n  age: z.number().positive()\n});\n\nhost.registerTool('create_user', {\n  title: 'Create User',\n  description: 'Creates a new user',\n  functionName: 'createUser',\n  inputSchema: schema // Zod schema auto-converted\n}, async (context, args) => {\n  // args is validated against schema\n});\n```\n\n## API Reference\n\n### `new McpHost(options)`\n\nCreates a new MCP host instance.\n\n```typescript\ninterface McpHostOptions {\n  // Transport mode ('socket' or 'http')\n  transport?: 'socket' | 'http';\n  \n  // Socket mode options\n  pipePath?: string;\n  \n  // HTTP mode options  \n  httpPath?: string;\n  httpUrl?: string;\n  \n  // Common options\n  secret?: string;\n  debug?: boolean;\n  start?: boolean;\n}\n```\n\n### `host.registerTool(name, config, handler)`\n\nRegister a tool with the host.\n\n### `host.getMCPServerConfig(name, tools, context, options?)`\n\nGet MCP server configuration for `claude_desktop_config.json`.\n\n### `host.handleHttpRequest(req, res)`\n\nHandle HTTP requests (HTTP mode only).\n\n### `host.start()` / `host.stop()`\n\nStart or stop the host server.\n\n## Examples\n\nCheck out the `examples/` directory for complete examples:\n\n- `simple-example.js` - Basic socket mode usage\n- `zod-example.js` - Zod schema validation\n- `http-express-example.js` - Express.js HTTP integration\n- `http-fastify-example.js` - Fastify HTTP integration\n- `http-raw-example.js` - Raw Node.js HTTP server\n\n## Running Examples\n\n```bash\n# Socket mode example\nnpm run example\n\n# HTTP mode examples\nnode examples/http-express-example.js\nnode examples/http-fastify-example.js\n```\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.","readmeFilename":"README.md"}