{"_id":"@diegoaltoworks/localize-remote-mcp-server","_rev":"6-1799323750b06b7c59dbeaef045a7c54","name":"@diegoaltoworks/localize-remote-mcp-server","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.0":{"name":"@diegoaltoworks/localize-remote-mcp-server","version":"1.0.0","keywords":["mcp","proxy","model-context-protocol"],"license":"MIT","_id":"@diegoaltoworks/localize-remote-mcp-server@1.0.0","maintainers":[{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"}],"bin":{"localize-remote-mcp-server":"bin/cli.js"},"dist":{"shasum":"eef5af8e2473304f455a44a112b2ad186ea27f04","tarball":"https://registry.npmjs.org/@diegoaltoworks/localize-remote-mcp-server/-/localize-remote-mcp-server-1.0.0.tgz","fileCount":3,"integrity":"sha512-JRjQ4qm7WIYzyz65XYouSxS5AwgtytIpydWngaiiwsIVZ4XB1kKuSruv7X2yQONcZno6ZkJIlc8VdUeMslAPvw==","signatures":[{"sig":"MEUCIDlQq5BKwGxFbtsE2XO0vZKK8AcYB3MQXmyWvGCkKFJHAiEAjleUWp8k/QSzK15LkvAbkBbY1WSyYWQy7KWRgkW4kI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3736},"type":"module","_npmUser":{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"},"_npmVersion":"10.8.2","description":"Proxy a remote HTTP MCP server to localhost","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/localize-remote-mcp-server_1.0.0_1776011783447_0.18051386662801971","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@diegoaltoworks/localize-remote-mcp-server","version":"1.0.1","keywords":["mcp","proxy","model-context-protocol"],"license":"MIT","_id":"@diegoaltoworks/localize-remote-mcp-server@1.0.1","maintainers":[{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"}],"bin":{"localize-remote-mcp-server":"bin/cli.js"},"dist":{"shasum":"8eaa0039f672966bf7ac0fe1e88c42644d1bb373","tarball":"https://registry.npmjs.org/@diegoaltoworks/localize-remote-mcp-server/-/localize-remote-mcp-server-1.0.1.tgz","fileCount":4,"integrity":"sha512-vlD+H3mrRDLrd8ICGfKt2AcQPd4Moh+BvtZQSZVNIplaP6K4LCeF9cKRHHIRXp1RVuezi4JcIGtQVXUfLaC6xg==","signatures":[{"sig":"MEUCIQDqBG7PZC2DuQPnnsi612mUAyzvOZeDLphWejDBQs33OQIgT6vETa2I8XmS/vpoRqTO81YGFndxqelCL3K4Fy2aHn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5185},"type":"module","gitHead":"daba78a30268ddcc9b9dae0a9c7fdcad3570b7be","_npmUser":{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"},"_npmVersion":"10.8.2","description":"Proxy a remote HTTP MCP server to localhost","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/localize-remote-mcp-server_1.0.1_1776012302668_0.0744647977558528","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@diegoaltoworks/localize-remote-mcp-server","version":"1.0.2","keywords":["mcp","proxy","model-context-protocol"],"license":"MIT","_id":"@diegoaltoworks/localize-remote-mcp-server@1.0.2","maintainers":[{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"}],"bin":{"localize-remote-mcp-server":"bin/cli.js"},"dist":{"shasum":"0ea25b38c7dd6bf98bdee5b0d36ff3c90bc70de0","tarball":"https://registry.npmjs.org/@diegoaltoworks/localize-remote-mcp-server/-/localize-remote-mcp-server-1.0.2.tgz","fileCount":5,"integrity":"sha512-B1rHd2Uz/1oULju8awKf/vD92V8lWCjx4zsSO9o/7EC8z3jM89e/Lfn4m+ySHPVHHNTIU4KnnVOCMXAZ/o8J7A==","signatures":[{"sig":"MEUCIF5tijRpqG1vSYBtNkXpnoz2K4bTNmUzOY3o2ZxdOUIBAiEA/O/Tw0KUr6Ld12PS8lujFZpLFeehSw6g5xBp+8ejeGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8403},"type":"module","gitHead":"b9476790e489c12b5649ccff709b2633cba28683","_npmUser":{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"},"_npmVersion":"10.8.2","description":"Proxy a remote HTTP MCP server to localhost","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/localize-remote-mcp-server_1.0.2_1776013541217_0.5706541898937696","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@diegoaltoworks/localize-remote-mcp-server","version":"1.1.0","keywords":["mcp","proxy","model-context-protocol"],"license":"MIT","_id":"@diegoaltoworks/localize-remote-mcp-server@1.1.0","maintainers":[{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"}],"bin":{"localize-remote-mcp-server":"bin/cli.js"},"dist":{"shasum":"dafa3058ebaebbe741c216a958f31d15de042e12","tarball":"https://registry.npmjs.org/@diegoaltoworks/localize-remote-mcp-server/-/localize-remote-mcp-server-1.1.0.tgz","fileCount":5,"integrity":"sha512-5G8BublrecQJwRVFxdOhR34rZVy0vPgh4KJuRYPreMNcB5TzvcshEXk1AQS3yfFhR96LNeJPf+TEOO7BYHRtLw==","signatures":[{"sig":"MEUCIAlIkDkXlS7QfMIEYIilh/NXWSFGkhcTds67B7gyPdVLAiEAravwsSdEr+q+9RTTSQtIbw6PG/FEvn2Wd9DtvcClu3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9463},"engines":{"node":">=12"},"gitHead":"d82e070ea32d2d2e3c6821c1f06ee52c695020e1","scripts":{"test":"node --test src/*.test.js bin/*.test.js"},"_npmUser":{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"},"_npmVersion":"10.8.2","description":"Proxy a remote HTTP MCP server to localhost","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/localize-remote-mcp-server_1.1.0_1776014438641_0.5635758294319857","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@diegoaltoworks/localize-remote-mcp-server","version":"1.1.1","keywords":["mcp","proxy","model-context-protocol"],"license":"MIT","_id":"@diegoaltoworks/localize-remote-mcp-server@1.1.1","maintainers":[{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"}],"bin":{"localize-remote-mcp-server":"bin/cli.js"},"dist":{"shasum":"841cc2e75bebc49c237343e7d8317ec956482b9f","tarball":"https://registry.npmjs.org/@diegoaltoworks/localize-remote-mcp-server/-/localize-remote-mcp-server-1.1.1.tgz","fileCount":5,"integrity":"sha512-aWglGJ4dBQFKqub1CU99JgB0zkQ6ZlEZ+0dePoB9M01VPMGZZ7+nsUQy1dq04MriIYcWoMKB2FuZdL+4GzH9eA==","signatures":[{"sig":"MEUCIQDnaw9OhjG38oM5fm63FWHyZZEOSOHl73q/v2awcUEuCgIgKUa6zV1ejX/TOQ1Zl6byUpzmcEzSXmv7UYvRJuuI2ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9463},"engines":{"node":">=12"},"gitHead":"d82e070ea32d2d2e3c6821c1f06ee52c695020e1","scripts":{"test":"node --test src/*.test.js bin/*.test.js"},"_npmUser":{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"},"_npmVersion":"10.8.2","description":"Proxy a remote HTTP MCP server to localhost","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/localize-remote-mcp-server_1.1.1_1776014911236_0.6655701557769056","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@diegoaltoworks/localize-remote-mcp-server","version":"1.1.2","description":"Proxy a remote HTTP MCP server to localhost","bin":{"localize-remote-mcp-server":"bin/cli.js"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/diegoaltoworks/localize-remote-mcp-server.git"},"homepage":"https://github.com/diegoaltoworks/localize-remote-mcp-server#readme","bugs":{"url":"https://github.com/diegoaltoworks/localize-remote-mcp-server/issues"},"engines":{"node":">=12"},"scripts":{"test":"node --test src/*.test.js bin/*.test.js"},"keywords":["mcp","proxy","model-context-protocol"],"_id":"@diegoaltoworks/localize-remote-mcp-server@1.1.2","gitHead":"6c20e153bedce199eb4b05e4c8a4ac2b61b30e98","_nodeVersion":"20.17.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-RXaizr322Zg+orVEPsbfdzP3jp/6YbQ/x6XiaY+rJ6z5oXXoxU2A+TFeI5A1ZpYLMOoudJN8q+rF9Nlyrth7Fg==","shasum":"e05b628cdb7568e11c687ae1f5a1a348ae3c03d1","tarball":"https://registry.npmjs.org/@diegoaltoworks/localize-remote-mcp-server/-/localize-remote-mcp-server-1.1.2.tgz","fileCount":5,"unpackedSize":9770,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD+g/I9UcrSdEdVo8eXhQSxYekTyDKRMdh+9jzEInt+/wIhAPykV6Qb63ry6n68P6QRXFtpB/LUSNOPw/7tle9OGSzw"}]},"_npmUser":{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"},"directories":{},"maintainers":[{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/localize-remote-mcp-server_1.1.2_1776015066553_0.8631269833128874"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-12T16:36:23.330Z","modified":"2026-04-12T17:31:06.808Z","1.0.0":"2026-04-12T16:36:23.592Z","1.0.1":"2026-04-12T16:45:02.810Z","1.0.2":"2026-04-12T17:05:41.358Z","1.1.0":"2026-04-12T17:20:38.767Z","1.1.1":"2026-04-12T17:28:31.362Z","1.1.2":"2026-04-12T17:31:06.700Z"},"license":"MIT","keywords":["mcp","proxy","model-context-protocol"],"description":"Proxy a remote HTTP MCP server to localhost","maintainers":[{"name":"diegoaltoworks","email":"diego@diegoalto.co.uk"}],"readme":"# Localize Remote MCP Server\n\nBridge any remote HTTP MCP server into Claude Desktop.\n\n## The problem\n\nClaude Desktop only supports MCP servers that run locally as commands (stdio transport). It cannot connect to remote MCP servers over HTTP. The two transports are fundamentally incompatible:\n\n![The broken approach — Claude Desktop cannot connect directly to a remote HTTP/SSE MCP server](docs/mcp_broken_approach.png)\n\n## The solution\n\nThis package bridges the gap. You configure it in Claude Desktop's config file, Claude launches it automatically, and it translates between stdio and your remote server's HTTP endpoint. You never run this yourself — Claude does.\n\n![The working solution — localize-remote-mcp-server acts as a local stdio bridge](docs/mcp_working_solution.png)\n\n## Setup\n\n1. Open your Claude Desktop config file `claude_desktop_config.json`:\n   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n   - **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n2. Add your remote MCP server to the `mcpServers` section. Replace the URL with your remote server's MCP endpoint:\n\n```json\n{\n  \"mcpServers\": {\n    \"my-remote-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@diegoaltoworks/localize-remote-mcp-server\",\n        \"https://my-remote-server.example.com/mcp\"\n      ]\n    }\n  }\n}\n```\n\n3. Restart Claude Desktop.\n\nThat's it. Claude Desktop will launch the bridge process in the background and your remote server's tools will appear in Claude.\n\n## How it works\n\nWhen Claude Desktop starts, it runs the `npx` command from your config. The bridge process:\n\n1. Receives JSON-RPC messages from Claude Desktop over stdin\n2. Forwards them as HTTP POST requests to your remote MCP server\n3. Parses the response (JSON or SSE) and writes it back to stdout\n\nClaude Desktop sees it as a normal local MCP server. Your remote server receives normal HTTP MCP requests. Neither side knows about the bridge.\n\n## HTTP proxy mode\n\nIf you need a local HTTP proxy instead of stdio (for other MCP clients), you can run it directly with `--port`:\n\n```bash\nnpx @diegoaltoworks/localize-remote-mcp-server --port 6969 https://my-remote-server.example.com/mcp\n```\n\nThis is not needed for Claude Desktop.\n\n## What it does\n\n- Bridges stdio and HTTP MCP transports\n- Parses SSE responses from remote servers\n- Forwards authorization headers and MCP session IDs\n- Zero dependencies — just Node.js\n","readmeFilename":"README.md","homepage":"https://github.com/diegoaltoworks/localize-remote-mcp-server#readme","repository":{"type":"git","url":"git+https://github.com/diegoaltoworks/localize-remote-mcp-server.git"},"bugs":{"url":"https://github.com/diegoaltoworks/localize-remote-mcp-server/issues"}}