{"_id":"@candleswarm/mcp","_rev":"18-133a0f08cdf38079308e00ceb1a0da39","name":"@candleswarm/mcp","dist-tags":{"latest":"0.1.17"},"versions":{"0.1.0":{"name":"@candleswarm/mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.0","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bugs":{"url":"https://github.com/candleswarm/mcp/issues"},"bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js"},"dist":{"shasum":"34446f1569fa16aec4d23eeb69654436b9cb716c","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.0.tgz","fileCount":10,"integrity":"sha512-icIc9dWt1P/E7IlvY7c2dLAE3Vk+q/SuZBEivtc8F2upQ9jk1u1065Ay3A5CcSMYNqmNydkwEKpX5RQd8Pn/ow==","signatures":[{"sig":"MEUCIQDSs4Q4qEz5PKgleZVKxFFRO/Osqc3fniuQjIyqLKfa2wIgZ26zdcO1L0+8nKzIpK2UjXFsnZlRDin4qzqLNpInt5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277295},"main":"dist/server.js","type":"module","engines":{"node":">=22.18.0"},"gitHead":"c403165cc67ed4b895fcef386fa4b33fde6d0443","scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/candleswarm/mcp.git","type":"git"},"_npmVersion":"11.10.1","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.0_1787400835165_0.3023763694545376","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@candleswarm/mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.1","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bugs":{"url":"https://github.com/candleswarm/mcp/issues"},"bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js"},"dist":{"shasum":"7b24b872ae801348dd4316cb6b4e1c26b0ebd62d","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.1.tgz","fileCount":10,"integrity":"sha512-vTy96wQCnMjISaUdCSL2eIoZ64tQltyvEH5P+xhBmGaO6hto0TSlWTeZvhN85G/e/380ZcHkQFjWvAbm9odv6A==","signatures":[{"sig":"MEUCIQCPUE/KL1rVoD+3jRC8/53m9kTFJ1ebZ6K8A0giTIlAYAIgDMFlFPUNUkSkCyo9RveHUo2yutalHjTJhnVlk+KojAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292073},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-mcp-release.Nr2ovH/candleswarm-mcp-0.1.1.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-mcp-release.Nr2ovH/candleswarm-mcp-0.1.1.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-vTy96wQCnMjISaUdCSL2eIoZ64tQltyvEH5P+xhBmGaO6hto0TSlWTeZvhN85G/e/380ZcHkQFjWvAbm9odv6A==","repository":{"url":"git+https://github.com/candleswarm/mcp.git","type":"git"},"_npmVersion":"11.10.1","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.1_1787431528268_0.621806396092631","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@candleswarm/mcp","version":"0.1.2","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.2","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js"},"dist":{"shasum":"c8fd5ed6b6c4ab03fb6cfe89db4af7d5ca0c7099","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.2.tgz","fileCount":10,"integrity":"sha512-+nHb7V4u8PGAPJx543dAA5cAVqw8seGqHQh33KcEt4UW59l9HeDUVGMci3nHHXk0ygVUbniPNv0meJk/wSYjWw==","signatures":[{"sig":"MEQCIGUMFJRpPIeL8574P9979w6OpKIa+DGd0LcmJ7vH3TBDAiA09nvqJ8ZWd1OXymWAuCmwT1KpxCwBdT6MyLyUPKqA+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299729},"main":"dist/server.js","type":"module","_from":"file:candleswarm-mcp-0.1.2.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/home/hakan/Dev/CandleSwarm/mcp/candleswarm-mcp-0.1.2.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-+nHb7V4u8PGAPJx543dAA5cAVqw8seGqHQh33KcEt4UW59l9HeDUVGMci3nHHXk0ygVUbniPNv0meJk/wSYjWw==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.2_1787469752514_0.6909188923101801","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@candleswarm/mcp","version":"0.1.3","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.3","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js"},"dist":{"shasum":"2123c672b0c06b3ff98f8d1c72d9ec84b73e3061","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.3.tgz","fileCount":10,"integrity":"sha512-8ZfeuLVV1TdVD9r34U1mhSPVCD3pEtpEK2gQecPrquuCTraVH5rdd5w2tnf3WVF0jJvw9+siKowBVJz6WIoBsw==","signatures":[{"sig":"MEUCIQD7xnkVslnYUcc8Qqgck6+fNaX7xKFZ6Ft5TbrP1uuq6gIgK7rjNiyT6bm/GCFcUUtLVe9iX7qmJ4vvlDpEvA995iw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303469},"main":"dist/server.js","type":"module","engines":{"node":">=22.18.0"},"gitHead":"8cac3127d542f0f6265738f7a2cdc9f9c1efc423","scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"overrides":{"esbuild":"^0.28.1"},"_npmVersion":"11.10.1","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.3_1787480659080_0.9809522218403928","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@candleswarm/mcp","version":"0.1.4","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.4","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"7c0e22c2afae7911b82904a28b3b82f8c25f1b84","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.4.tgz","fileCount":12,"integrity":"sha512-uJ3rxQ+GLYWxciNX8cAROExVJ11gLeECqXAekhNjOaA197EXRMf2VZAqJaNjglW99UuBSLbZ0Z5PlUiUvkFfXw==","signatures":[{"sig":"MEQCIArJPaHdY+E3X+Zvh9g8VsdUhMHB3j7PHdwGenJFh0pvAiAolrv8iXESoq0YlU+MAmcodSZ3M75VmIZ+LOkGN/hQaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":307132},"main":"dist/server.js","type":"module","_from":"file:candleswarm-mcp-0.1.4.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/home/hakan/Dev/CandleSwarm/mcp/candleswarm-mcp-0.1.4.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-uJ3rxQ+GLYWxciNX8cAROExVJ11gLeECqXAekhNjOaA197EXRMf2VZAqJaNjglW99UuBSLbZ0Z5PlUiUvkFfXw==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.4_1787481770531_0.17614324837724582","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@candleswarm/mcp","version":"0.1.5","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.5","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"a9e5b1de1e065b39f3adf705fda6eb8dc2b9ec70","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.5.tgz","fileCount":12,"integrity":"sha512-Z52KgxeP25Pd40vkBOxBbr8c/9oLTEzYcaR6Wqz/wdBBeorfV1xvtd/ouBVlHQamh7rDf5XNWINmwBg+EcR6QA==","signatures":[{"sig":"MEQCIHIf+tRMMoEhaATFBuPT4NvKqmXW6d4s23jPPr4s41gVAiAaIxilv9B8Qvqye1xp29wQQxqbqxY3fStn5YprQ70/+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311175},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-mcp-0.1.5.m1tlY1/artifact/candleswarm-mcp-0.1.5.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-mcp-0.1.5.m1tlY1/artifact/candleswarm-mcp-0.1.5.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-Z52KgxeP25Pd40vkBOxBbr8c/9oLTEzYcaR6Wqz/wdBBeorfV1xvtd/ouBVlHQamh7rDf5XNWINmwBg+EcR6QA==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.5_1787591643669_0.8493556859667442","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@candleswarm/mcp","version":"0.1.6","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.6","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"dfdd153002d2066467e011407d357a1ba253091d","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.6.tgz","fileCount":12,"integrity":"sha512-6PvST0K42pERNkuvAKlxd7MOj5+Ytfq4+rf4RbPv/J+GW8UYf0gZ7S8KwerkDhyB6etd3QCGpRJMaI8hWAYc6Q==","signatures":[{"sig":"MEUCIQCLMAYL6EHzmkiR7a5bvouzZv2J8lS83rhwVtaduueNVAIgPQ9FZQ/S/8u+NJIgghBxdkOooUxe2YWK2a+6G4PThwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311135},"main":"dist/server.js","type":"module","engines":{"node":">=22.18.0"},"gitHead":"006c973ba962ddb4ff96a62ca810f8707743284b","scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"overrides":{"esbuild":"^0.28.1"},"_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.6_1787604789543_0.6841340761223906","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@candleswarm/mcp","version":"0.1.7","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.7","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"d0dd6c657b6193a3fb1da8d4e1ccb8131990cb4d","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.7.tgz","fileCount":12,"integrity":"sha512-svYtWBGayBCG4txsdO48n0RL7zZ2jaj+dRidB2J0vGnTLxuxUzM601A5BDn1HBbAXCEaOde6mOtvLVitwgxKhA==","signatures":[{"sig":"MEYCIQDnq9cKY2zVrJwCs315zXDAVbmXSaoS86eluTRKJJ71pQIhAPuEyTI/GYgJYR3ojubjsjlnO//KTuijw9EIyKMqdNDI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357166},"main":"dist/server.js","type":"module","_from":"file:candleswarm-mcp-0.1.7.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/home/hakan/Dev/CandleSwarm/.release/mcp-0.1.7-main/candleswarm-mcp-0.1.7.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-svYtWBGayBCG4txsdO48n0RL7zZ2jaj+dRidB2J0vGnTLxuxUzM601A5BDn1HBbAXCEaOde6mOtvLVitwgxKhA==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.7_1787957547680_0.2406303881713241","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@candleswarm/mcp","version":"0.1.8","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.8","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"2005f2ff05a25ba495e1f88263e18cd98eaa02c2","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.8.tgz","fileCount":12,"integrity":"sha512-bZxLoiex3Hq4jBGcAob0z6sgo3mrjOBVQjz+dHWE3yGONP7vTu3XwlhLPmkRcd1lQvnsvcJD+4NV3zvbQJKY6A==","signatures":[{"sig":"MEYCIQCRDs/0V1LBRBNl9//T5r+5JKoKsMvhO9GDqKbZpsJdEwIhAIKHOJpu7ehUTAaxF4OkbPOG469vcc4Xlxal7h81HSpO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFCgtDWezkRYPPsPULJ2mTHsRqSgGa1sbMI00avOr2+bAiAxACVJBb4qFoEHKUmNQnzDsQsh6rPyUuUZO6ya82yBsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360559},"main":"dist/server.js","type":"module","_from":"file:/tmp/cs-mcp-package-09ex7X/candleswarm-mcp-0.1.8.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/cs-mcp-package-09ex7X/candleswarm-mcp-0.1.8.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-bZxLoiex3Hq4jBGcAob0z6sgo3mrjOBVQjz+dHWE3yGONP7vTu3XwlhLPmkRcd1lQvnsvcJD+4NV3zvbQJKY6A==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.8_1788891892108_0.5216572219373679","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@candleswarm/mcp","version":"0.1.9","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.9","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"4473f945c57087d025977acd6828fb213dba1314","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.9.tgz","fileCount":12,"integrity":"sha512-U8zyBKtlRnBsbnCas4BVFpa3iC7ACbnF04DSFQuiJtL/f3SUggx0Kd0+awjSD1ITG3FhtZ5kYI29ybSoh6wINA==","signatures":[{"sig":"MEUCIQCyX2sDRxiBsvofOQQt7AaFHk5cAG7SUtq+L5JMIVV6CwIgU3lDyyFUE0jS4epB09zAJw3sLW5ZS3za5nZsEorGAQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD2KsMHWWa48xZpsJJqjwyOHEIR8YoLWq2Rz0DKSy75pgIgSygtz0UEP2y4v1++B9SDul/0Ozb7qOSSaOKYvFLoYNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362510},"main":"dist/server.js","type":"module","_from":"file:/tmp/cs-release-mcp-ucSBNq/candleswarm-mcp-0.1.9.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/cs-release-mcp-ucSBNq/candleswarm-mcp-0.1.9.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-U8zyBKtlRnBsbnCas4BVFpa3iC7ACbnF04DSFQuiJtL/f3SUggx0Kd0+awjSD1ITG3FhtZ5kYI29ybSoh6wINA==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.9_1788959983383_0.36884248679906295","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@candleswarm/mcp","version":"0.1.10","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.10","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"2e6e76fbf884598a03bc74522ae02510a3eb5fd4","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.10.tgz","fileCount":12,"integrity":"sha512-ziXrSuEPFyoDdSy/2c4Fr3indU+uFilzowqrTDimpdKYbodvixhmEU1x9eA6w0k07rlgWjrODI/JZjKmPWK/+g==","signatures":[{"sig":"MEUCIQD5zAenUMZQnIhV/xgcr7nQdEZ2hLEShu5GcsZNpx6vqwIgYJN/Io5NtoY8KJXE9Lpd0xjTTAE8/9aJkQTDJdgMVp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHdk0cerXYoTpLHW4Il14uFhTOoQPaGTwqfBGvj7D4sdAiA7cCB1Dc/xvjaMxZ8xJKWLNtbv/9NcWOIi5oL0G4vVcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371335},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-release-20260910/mcp/candleswarm-mcp-0.1.10.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-release-20260910/mcp/candleswarm-mcp-0.1.10.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-ziXrSuEPFyoDdSy/2c4Fr3indU+uFilzowqrTDimpdKYbodvixhmEU1x9eA6w0k07rlgWjrODI/JZjKmPWK/+g==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.10_1789060042060_0.8690805156050714","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@candleswarm/mcp","version":"0.1.11","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.11","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"544d6e9f8d3d8929bba68fc559266418b2dae7c6","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.11.tgz","fileCount":12,"integrity":"sha512-KIba2I5vbMhKoeMd4Hm07X7O+4YY2kBs0bQYQviwD8vtpjlhbCAzl1Dw1pgxvKCVAodnBTlVTV5xKs1OEsme8Q==","signatures":[{"sig":"MEUCIQCDqSfkqhAbbzO18sGEJtdDenq3qfX4/r0hNTFf0XEZwgIgHn85y0F7SUq1RxtA8/Lb1MXzxoNkdOmpAl/lwFVj75E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCHVPmf0oQj8s1npnW4M5KfHK9h0Nxcvi4DgS/cmAPuzgIhAIdvQRWOrzWgH3k6WKE6Bes4FKALOeHwbjqWNO63yO6W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375335},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-mcp-0.1.11/candleswarm-mcp-0.1.11.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-mcp-0.1.11/candleswarm-mcp-0.1.11.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-KIba2I5vbMhKoeMd4Hm07X7O+4YY2kBs0bQYQviwD8vtpjlhbCAzl1Dw1pgxvKCVAodnBTlVTV5xKs1OEsme8Q==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.11_1789087569622_0.055553832847495155","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@candleswarm/mcp","version":"0.1.12","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.12","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"2a6720eb898079f39751aa3a1b1a987c75e05a18","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.12.tgz","fileCount":12,"integrity":"sha512-nZfhi3q58EogG3OizXn7gH106SZQWeJ/0rdesci5pu8KMp62VWky3HLOVDeWgCa6Oq96GFexikTUcrd9P2iCcQ==","signatures":[{"sig":"MEUCIQDb5aUsMgGkfqTuhWfuWPZiHw6+yt49wuoEhrqBsDlOqwIgZTBdMZpBm7WjzycxVZoWsgt4wwkxMRgobia+7exOBbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE41vSuI9ZytuZn3TX51X8OVqgyW/6+vKizhE4b53qPHAiBFDX7VYVwdM6LdtYYayKP1SJkKB1XmSsNpJ4XPKB129w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":374898},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-sweep-release.yA872v/mcp/candleswarm-mcp-0.1.12.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-sweep-release.yA872v/mcp/candleswarm-mcp-0.1.12.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-nZfhi3q58EogG3OizXn7gH106SZQWeJ/0rdesci5pu8KMp62VWky3HLOVDeWgCa6Oq96GFexikTUcrd9P2iCcQ==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.12_1789127922276_0.6353440681988793","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@candleswarm/mcp","version":"0.1.13","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.13","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"c1a903bf90d4eccf8ee7f8e9056cd0045e6cc5fb","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.13.tgz","fileCount":12,"integrity":"sha512-XAlq+nmyLZqVnqBgXl6bpC2at+M53pCBgv04XjSQfeqnbp4g243FviA/lj7HiDYDKKGhxirQ9S0Mdl72AzhU3A==","signatures":[{"sig":"MEYCIQDOKqJKc0DYD8qA4X7Z4e8rgkqy5y/lH6lkruBvdN6DsAIhAP18kZeaUMVvsEowP7mHW+oM+5zQgdiUGerw6WFKzVC4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC1dZyZqp5aTFHmoev3YL23Axal9lck50ssH4xT3wikMAIhANDkorfaqqaYLbZBPYULrWFML654PyyagUUYn52ZxZKA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377848},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-mcp-0.1.13.uuLnsf/candleswarm-mcp-0.1.13.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && tsup","doctor":"node bin/doctor.js","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-mcp-0.1.13.uuLnsf/candleswarm-mcp-0.1.13.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-XAlq+nmyLZqVnqBgXl6bpC2at+M53pCBgv04XjSQfeqnbp4g243FviA/lj7HiDYDKKGhxirQ9S0Mdl72AzhU3A==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.13_1789223002306_0.7071096576802194","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@candleswarm/mcp","version":"0.1.14","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.14","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"ff884f3dad3a2610cee56d90cde109dc7f0730c9","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.14.tgz","fileCount":12,"integrity":"sha512-pGIm7fUCCT62JqMCl8iHX4ges3/adqgnFHZRAR7FyuygpkeF7xRPEyCXXgby8Y7tPp/LYu+OH9cW0jK96ZEjWg==","signatures":[{"sig":"MEQCIB2CZDDJVsVgb0pvHYrVdXnx9V/Z4Ik4GUTwds3NGWfgAiAsvrf1+qJGhKvmQXN2p9F8uXOrmt7MqtkUKKTOsjpKqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDWQMJIMIpEP3Mpk48G+Pn4rhZqUlVVDUgYayy6QjXinAiAdavKa2LuuioRjr78ir2Tfj2UEW5Z+avGIHRfGyIo68A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431848},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-mcp-0.1.14-abJW4r/source/candleswarm-mcp-0.1.14.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && npm run auto-tune:verify && tsup","doctor":"node bin/doctor.js","auto-tune:sync":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-sync --config auto-tune-engine.provenance.json --authority-root ${CANDLESWARM_APP_ROOT:-../app}","auto-tune:verify":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-verify --config auto-tune-engine.provenance.json","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-mcp-0.1.14-abJW4r/source/candleswarm-mcp-0.1.14.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-pGIm7fUCCT62JqMCl8iHX4ges3/adqgnFHZRAR7FyuygpkeF7xRPEyCXXgby8Y7tPp/LYu+OH9cW0jK96ZEjWg==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.14_1789594208715_0.3962547100837561","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@candleswarm/mcp","version":"0.1.15","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.15","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"99ecc781d289ae026b2fc03279ba5906e559dd02","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.15.tgz","fileCount":12,"integrity":"sha512-PUn0gh2XMwloQ7zgUKGsrR+FaXi1Q0l7/fYAuOlFcmg0G8rPivnUaNDNydNBNU1H8Ybz3XcHenVFbhN9Bjy94Q==","signatures":[{"sig":"MEUCIQCicY4sMlS1cMN2sVhBpxXudzwwvkN4ScLAg+uSYX2sgAIgeBdg/Y4uEOoWcqutJ17f7PRacSX9nDypzSQNWZY+XPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD7rooolFh0J29xtVFzvUz+9WxRWZMnC4fdfK5iSpBXFwIhAI58vXDVtRA6yMNDDgaRIv5VMCcpWqdNUP8wnLP8LMdJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432218},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-mcp-release-ofAnJq9I/artifacts/candleswarm-mcp-0.1.15.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && npm run auto-tune:verify && tsup","doctor":"node bin/doctor.js","auto-tune:sync":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-sync --config auto-tune-engine.provenance.json --authority-root ${CANDLESWARM_APP_ROOT:-../app}","auto-tune:verify":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-verify --config auto-tune-engine.provenance.json","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-mcp-release-ofAnJq9I/artifacts/candleswarm-mcp-0.1.15.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-PUn0gh2XMwloQ7zgUKGsrR+FaXi1Q0l7/fYAuOlFcmg0G8rPivnUaNDNydNBNU1H8Ybz3XcHenVFbhN9Bjy94Q==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.15_1789601251846_0.7080281357490303","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@candleswarm/mcp","version":"0.1.16","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"license":"MIT","_id":"@candleswarm/mcp@0.1.16","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"homepage":"https://candleswarm.com","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"fc41debbc7b6faf25b8f886e1b41d6fc6923711e","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.16.tgz","fileCount":12,"integrity":"sha512-Hy4JmNdpR74eN36C9mtTca0LYIU4VQjPuu8PTpkeGj07GLm16NWwmVXaNMfscnlxYHwaiyjp8jTubFMCRi6yfg==","signatures":[{"sig":"MEYCIQCoA5H7AzInGhEtj6+7FR8mRAkCjr/nGXGXXh1aR4/LYQIhAMbmD0a2lHXoPPF2yi9q/T63uURtNZkTpJfD7RpRBcJk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBvRpTUC8eQOAvTXZPxOJDAE03JK7k99OTmCc1CjK3UKAiBJSXhP5oP2PJOIX9RUKkkTi0e2rlPFP9bljyL2JdRJqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432187},"main":"dist/server.js","type":"module","_from":"file:/tmp/candleswarm-mcp-release-3aw7BU/mcp-main/candleswarm-mcp-0.1.16.tgz","engines":{"node":">=22.18.0"},"scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && npm run auto-tune:verify && tsup","doctor":"node bin/doctor.js","auto-tune:sync":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-sync --config auto-tune-engine.provenance.json --authority-root ${CANDLESWARM_APP_ROOT:-../app}","auto-tune:verify":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-verify --config auto-tune-engine.provenance.json","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"_resolved":"/tmp/candleswarm-mcp-release-3aw7BU/mcp-main/candleswarm-mcp-0.1.16.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-Hy4JmNdpR74eN36C9mtTca0LYIU4VQjPuu8PTpkeGj07GLm16NWwmVXaNMfscnlxYHwaiyjp8jTubFMCRi6yfg==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.16_1789603731668_0.507782256695116","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"_id":"@candleswarm/mcp@0.1.17","bin":{"mcp":"bin/mcp.js","candleswarm-mcp":"bin/candleswarm-mcp.js","candleswarm-mcp-init":"bin/init.js","candleswarm-mcp-doctor":"bin/doctor.js","candleswarm-mcp-update":"bin/update.js"},"dist":{"shasum":"01cdb1814a2413804dd502a4eadd184f0957929d","tarball":"https://registry.npmjs.org/@candleswarm/mcp/-/mcp-0.1.17.tgz","fileCount":12,"integrity":"sha512-DJT6eIW81nRCH5yMiA5mGHrMsGYo9OseoEkarUS39o0i1DI8gbRgzCFks5OH3sRBeBntbmbbBFiHQS5AmMfs+g==","signatures":[{"sig":"MEQCIGvb0vmXWn7T00ZaJLphPOg/qP/r4Wn1x68FNOWPCMHKAiBkibvzGGpMvpjoNTqkSQr5h/Pg8VANnJbrBR4KXpfuMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDqflQU6vP79zrMJAj5mBaN0zZRlf514HmPDDQS27NZcAiA9DJ7yQU2NG6Qi87tbHC6w74JGKIi2cafAV5g0RDgcMg=="}],"unpackedSize":433295},"main":"dist/server.js","name":"@candleswarm/mcp","type":"module","_from":"file:/home/hakan/Dev/CandleSwarm/mcp/candleswarm-mcp-0.1.17.tgz","engines":{"node":">=22.18.0"},"license":"MIT","scripts":{"dev":"tsx src/server.ts","init":"node bin/init.js","lint":"tsc --noEmit","test":"vitest run","build":"npm run contracts:verify && npm run auto-tune:verify && tsup","doctor":"node bin/doctor.js","auto-tune:sync":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-sync --config auto-tune-engine.provenance.json --authority-root ${CANDLESWARM_APP_ROOT:-../app}","auto-tune:verify":"python3 vendor/candleswarm-auto-tune-engine-provenance.py consumer-verify --config auto-tune-engine.provenance.json","contracts:verify":"python3 vendor/candleswarm-contracts-provenance.py consumer-verify --config contracts.provenance.json"},"version":"0.1.17","_npmUser":{"name":"candleswarm-admin","email":"admin@candleswarm.com"},"homepage":"https://candleswarm.com","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"_resolved":"/home/hakan/Dev/CandleSwarm/mcp/candleswarm-mcp-0.1.17.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-DJT6eIW81nRCH5yMiA5mGHrMsGYo9OseoEkarUS39o0i1DI8gbRgzCFks5OH3sRBeBntbmbbBFiHQS5AmMfs+g==","_npmVersion":"11.7.0","description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","directories":{},"maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"_nodeVersion":"22.21.0","dependencies":{"ajv":"^8.20.0","undici":"^7.29.0","@bufbuild/protobuf":"^2.5.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.11","tsup":"^8.3.5","yaml":"^2.9.0","vitest":"^4.1.10","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.1.17_1789741971930_0.7156930083774542"}}},"time":{"created":"2026-08-22T12:13:55.006Z","modified":"2026-09-18T14:32:52.267Z","0.1.0":"2026-08-22T12:13:55.313Z","0.1.1":"2026-08-22T20:45:28.412Z","0.1.2":"2026-08-23T07:22:32.684Z","0.1.3":"2026-08-23T10:24:19.294Z","0.1.4":"2026-08-23T10:42:50.667Z","0.1.5":"2026-08-24T17:14:03.885Z","0.1.6":"2026-08-24T20:53:09.704Z","0.1.7":"2026-08-28T22:52:27.840Z","0.1.8":"2026-09-08T18:24:52.226Z","0.1.9":"2026-09-09T13:19:43.457Z","0.1.10":"2026-09-10T17:07:22.167Z","0.1.11":"2026-09-11T00:46:09.819Z","0.1.12":"2026-09-11T11:58:42.360Z","0.1.13":"2026-09-12T14:23:22.404Z","0.1.14":"2026-09-16T21:30:08.814Z","0.1.15":"2026-09-16T23:27:31.956Z","0.1.16":"2026-09-17T00:08:51.780Z","0.1.17":"2026-09-18T14:32:52.068Z"},"license":"MIT","homepage":"https://candleswarm.com","keywords":["mcp","model-context-protocol","candleswarm","trading","backtest","ai-agents","codex","claude-code","strategy-development"],"description":"Secure CandleSwarm MCP server for AI agents to develop, backtest, and optimize crypto strategies with App-visible drafts.","maintainers":[{"name":"candleswarm-admin","email":"admin@candleswarm.com"}],"readme":"# @candleswarm/mcp\n\n[![npm version](https://img.shields.io/npm/v/@candleswarm/mcp.svg)](https://www.npmjs.com/package/@candleswarm/mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\nThe official Model Context Protocol server for\n[CandleSwarm](https://candleswarm.com). It lets AI agents develop and\nbacktest canonical regime strategies, optimize toward your goals, save\nApp-visible drafts, and check publication readiness.\n\nMCP never performs final publication. A user reviews and publishes a ready draft\nin the CandleSwarm web App.\n\n## Quick start\n\nYou need Node.js 22.18.0 or newer and an MCP key from the\n[CandleSwarm MCP keys page](https://app.candleswarm.com/workers/mcp-keys).\nChoose your AI client and run one command:\n\n### OpenAI Codex\n\n```bash\nnpx -y @candleswarm/mcp init --client codex --name candleswarm-codex\n```\n\nVerify with `npx -y @candleswarm/mcp doctor --name candleswarm-codex`.\n\n### Claude Code\n\n```bash\nnpx -y @candleswarm/mcp init --client claude-code --name candleswarm-claude\n```\n\nVerify with `npx -y @candleswarm/mcp doctor --name candleswarm-claude`.\n\n### Grok Build\n\n```bash\nnpx -y @candleswarm/mcp init --client grok --name candleswarm-grok\n```\n\nVerify with `npx -y @candleswarm/mcp doctor --name candleswarm-grok`.\nThe installer registers the local stdio server through `grok mcp add`; this is\nfor Grok Build, while grok.com custom connectors require a public Remote MCP URL.\n\n### Other MCP client\n\n```bash\nnpx -y @candleswarm/mcp init --client other --name candleswarm\n```\n\nVerify with `npx -y @candleswarm/mcp doctor --name candleswarm`.\n\nThe initializer asks for the MCP key in a hidden prompt, validates it, stores it\nin a named local profile, and registers the selected client. For another MCP\nclient it prints a secret-free JSON server definition. The key is never added\nto the generated command or client configuration.\n\nRestart the client, then call `candleswarm_doctor` inside it to verify authentication, worker\ncompatibility, server version, and the exact live tool catalog.\nThe CLI `doctor` also performs a bounded best-effort npm version check. When a\nnewer release exists, its final lines show the single version-pinned `update`\ncommand; registry outages never fail diagnosis. The report always shows the running MCP package version\nand uses the exact profile selected by `--name` for both config diagnostics and\nAPI authentication.\n\nUpgrade every CandleSwarm definition in the supported Codex, Claude Code, and\nGrok user configs without entering an API key again:\n\n```bash\nnpx -y @candleswarm/mcp@latest update\n```\n\nThe command changes only CandleSwarm package version pins. Secure profiles and\nAPI keys are not read or modified. Restart the updated clients afterward. For\nan Other client, replace its package command manually with the version printed\nby the updater.\n\n## Multiple keys and instances\n\n`--name` is both the visible MCP server name and the secure profile identity.\nReusing a name updates that instance. A different name creates an independent\ninstance and must use its own CandleSwarm MCP key.\n\n### Two instances in one client\n\nCreate two keys, then run the initializer once for each name:\n\n```bash\nnpx -y @candleswarm/mcp init --client codex --name candleswarm-codex-1\nnpx -y @candleswarm/mcp init --client codex --name candleswarm-codex-2\n```\n\nYour client can now address `candleswarm-codex-1` and\n`candleswarm-codex-2` independently.\n\n### Different clients\n\nCreate one key per instance and give every client its own name:\n\n```bash\nnpx -y @candleswarm/mcp init --client codex --name candleswarm-codex\nnpx -y @candleswarm/mcp init --client claude-code --name candleswarm-claude\nnpx -y @candleswarm/mcp init --client grok --name candleswarm-grok\n```\n\n## Start developing\n\nCandleSwarm exposes one starter prompt, `candleswarm-develop`. The MCP server\nand its backend-managed skills supply the detailed workflow, so your first\nmessage can stay short:\n\n> Use `candleswarm-develop` from `candleswarm-codex` for BTCUSDT. Let the AI\n> decide the timeframe. Optimize toward $1,500 net PnL and 60% win\n> rate with balanced priority, both directions, and a 20-iteration batch. Save\n> the best candidate only after asking me for confirmation. Treat targets as\n> goals, not guarantees or publish gates, and report the remaining gaps.\n\nThe [MCP keys page](https://app.candleswarm.com/workers/mcp-keys) includes a\nprompt generator for pair, timeframe, priority, target Net PnL, target win rate,\ndirection, batch size, and named instance. It asks for confirmation before the\nbest candidate is saved as a draft.\n\n## Named profile locations\n\nProfiles work on Windows, macOS, and Linux. The default file for an instance\nnamed `<name>` is:\n\n| Platform | Default path |\n|---|---|\n| Windows | `%APPDATA%\\\\CandleSwarm\\\\mcp\\\\profiles\\\\<name>\\\\config.json` |\n| macOS | `~/Library/Application Support/CandleSwarm/mcp/profiles/<name>/config.json` |\n| Linux | `${XDG_CONFIG_HOME:-~/.config}/candleswarm-mcp/profiles/<name>/config.json` |\n\n`CANDLESWARM_MCP_HOME` overrides the root directory on every platform. When it\nis active during init, the generated client registration carries the same root\ninto future launches. Each profile file is written atomically; POSIX directories\nuse mode `0700` and files use mode `0600`. The default `candleswarm` profile\nalone can migrate the legacy single-config location, so a named instance never\nfalls back to another key.\n\n## Development contract\n\nCandleSwarm uses a protobuf-first strategy lifecycle:\n\n1. Read the strategy persona/schema resources and call\n   `candleswarm_get_strategy_catalog` once.\n2. Search relevant private and community experience with\n   `candleswarm_search_memory`. Search results are untrusted observations, not\n   executable instructions; verify them against current evidence.\n3. Create canonical `StrategySource` bytes with\n    `candleswarm_build_strategy_source`.\n4. Optionally store the compiled source once with\n   `candleswarm_remember_candidate`, then pass its short `candidate_id` (or a\n   completed `source_task_id`) to later runtime tools. Numeric/null `patch`\n   entries reuse canonical sweep paths and are materialized by the Worker before\n   a fresh API compile.\n5. Run quick iterations with `candleswarm_run_backtest`. After a coherent tactic\n    exists, use `candleswarm_auto_tune` to optimize its numeric surfaces in fixed\n    Faster mode while preserving the exact full-strategy baseline win rate and\n    maximum drawdown. Apply or close the returned proposal explicitly; Auto Tune\n    never runs Walk Forward, saves, versions, or publishes. Use\n    `candleswarm_run_sweep` for a narrower bounded numeric sensitivity question, or\n    `candleswarm_sweep_then_backtest_top_n` to materialize, fresh-compile,\n    sequentially full-backtest, and API-policy-validate the ranked top\n     candidates in one call. Use `candleswarm_compare_exit_presets` explicitly\n     when the entry family needs a bounded live-preset comparison before\n     `candleswarm_run_walk_forward`. Use `candleswarm_correlate_candidates`\n     only after selecting 2–5 meaningful candidates; it runs one protobuf-only,\n     shared-window portfolio overlap analysis and returns compact references.\n6. Inspect bounded sections through `candleswarm_get_backtest_result` and compare\n   candidates with `candleswarm_compare_backtests`.\n7. After explicit user confirmation, save the exact selected bytes with\n   `candleswarm_save_strategy` using `session_id+candidate_id` (or\n   `session_id+source_task_id`); do not reconstruct or retransmit payloads. This\n   creates draft `v1`. Preserve accepted milestones under the same strategy by\n   calling `candleswarm_create_strategy_version` before updating `v2`, `v3`,\n   and later versions. `sourceRevision` is protobuf source lineage and is not\n   the App draft version number.\n8. Read the complete API-owned gate state with\n   `candleswarm_check_publish_readiness`. Use `candleswarm_run_publish_checks`\n   only for the API-selected next check.\n9. Review and publish in the web App. There is no MCP final-publish tool.\n10. Only when the user explicitly wants to retire the development context and\n    no durable composite workflow remains active, call\n    `candleswarm_development_session` with `action=close`, the exact\n    `session_id`, and `confirm_close=true`. Close preserves lineage and does not\n    release, restart, or delete the Worker. Repeating it returns\n    `already_closed`; a later exact start creates a fresh context.\n\nEvery quick test compiles a fresh `StrategyArtifactEnvelope` from canonical\n`StrategySource` bytes. Quick-test `task_id` values are not durable web/API\nbacktest ids and cannot be published directly.\n\n## Canonical test policy\n\nThe API owns the publication test policy. Under the standard policy, development\nuses:\n\n- initial balance: 1000;\n- dollar risk per trade: 20;\n- the API-provided rolling test window.\n\nChanging any of these values fails closed. For an explicitly noncanonical local\nexperiment, the MCP process operator must set the exact, case-sensitive value:\n\n```text\nCANDLESWARM_DISABLE_PUBLISH_RULES=true\n```\n\nAny overridden run is marked\n`NON_CANONICAL_DEVELOPMENT_TEST publishable=false`; it can never become canonical\npublication evidence. Do not enable this setting in production.\n\n## Tool catalog\n\nThe public catalog contains exactly these tools under the canonical `candleswarm_` prefix.\nThe runtime generates discovery from the same definitions used for argument\nvalidation and dispatch.\n\n### Diagnose and discover\n\n| Tool | Purpose |\n|---|---|\n| `candleswarm_doctor` | Diagnose config, authentication, worker compatibility, server version, and live tools without exposing secrets. |\n| `candleswarm_get_pairs` | List active pairs, candle ranges, and supported market-index symbols. |\n| `candleswarm_get_strategy_catalog` | Read live indicators, parameters, outputs, exit tactics, presets, risk guards, and the strategy guide. |\n| `candleswarm_indicator_preview` | Preview bounded real indicator values and statistics for one symbol/timeframe; omitted optional fields use schema defaults (`source=SELF`, `timeframe=15m`, `limit=20`) and numeric limits are clamped to 0–200. |\n\n### Develop and inspect\n\n| Tool | Purpose |\n|---|---|\n| `candleswarm_build_strategy_source` | Encode a protobuf-JSON authoring DTO as canonical `StrategySource` bytes and validate it with the API compiler. |\n| `candleswarm_remember_candidate` | Store one compiled source in the API and return a short session-scoped `candidate_id` without echoing payload bytes. |\n| `candleswarm_run_backtest` | Compile a fresh artifact and run a direct reserved-worker quick test with lineage. |\n| `candleswarm_run_sweep` | Run a bounded parameter sweep and return the winning assignment plus ranked plateau candidates. |\n| `candleswarm_auto_tune` | Run the App-parity fixed-Faster Auto Tune chain for one regime/side, freeze full-strategy win-rate/drawdown guards, and return an immutable proposal for explicit apply or close; never runs Walk Forward or saves. |\n| `candleswarm_sweep_then_backtest_top_n` | Sweep, materialize, fresh-compile, sequentially backtest, and API-policy-validate the ranked top 1–10 candidates. `summary` is the compact default; `best`, 5% accepted `plateau`, and bounded `full` are explicit modes. |\n| `candleswarm_compare_exit_presets` | Explicitly materialize, fresh-compile, and sequentially full-backtest up to ten names from the live Worker exit-preset catalog; returns the reusable winner. |\n| `candleswarm_prepare_candidate` | Compile, full-backtest, apply API-owned guards, and by default run walk-forward. Returns `READY_TO_SAVE`/`NO_SAVE` evidence and never saves, versions, or publishes. |\n| `candleswarm_run_walk_forward` | Walk-forward test the current unsaved protobuf candidate. |\n| `candleswarm_correlate_candidates` | Sequentially backtest 2–5 candidates over one shared API-owned window and report bounded pairwise position overlap plus maximum portfolio concurrency. |\n| `candleswarm_get_backtest_result` | Read one bounded section from either a quick `task_id` or durable `backtest_id`; exactly one is required. |\n| `candleswarm_compare_backtests` | Compare 2–20 completed quick-test task ids against the first baseline. |\n| `candleswarm_compare_strategy_snapshots` | Bounded protobuf semantic diff between two authorized candidate, draft-version, or durable-backtest sources; normalizes source lineage and omits payload bytes. |\n| `candleswarm_development_session` | Start, inspect, update, report, or explicitly close a development session. Close requires exact `session_id` plus `confirm_close=true`, preserves lineage, and does not alter Worker lifecycle. |\n| `candleswarm_get_development_iteration` | Fetch one full iteration on demand; session status returns bounded summaries. |\n\nWorker deployment/restart, reservation, and keepalive are automatic on session\nstart and worker-backed tool calls. The caller does not manage workers manually.\n\n### Draft strategies and publication checks\n\n| Tool | Purpose |\n|---|---|\n| `candleswarm_list_strategies` | List the caller's strategies with bounded pagination and filters. |\n| `candleswarm_get_strategy` | Fetch compact metadata by default; decoded source or protobuf payloads require explicit `detail`. |\n| `candleswarm_save_strategy` | Compile and save an App-visible draft from inline source or an exact session candidate/task reference; never publishes. |\n| `candleswarm_update_strategy` | Update draft metadata or replace its compiled source; never publishes. |\n| `candleswarm_list_strategy_versions` | List v1/v2/v3 history and the selected version. |\n| `candleswarm_get_strategy_version` | Read compact version metadata by default; decoded source or canonical payloads require explicit `detail`. |\n| `candleswarm_create_strategy_version` | Copy a selected/source version into the next saved version. |\n| `candleswarm_update_strategy_version` | Compile and update one explicit mutable draft version. |\n| `candleswarm_select_strategy_version` | Select the workspace version used by strategy-level updates. |\n| `candleswarm_delete_strategy_version` | Delete a mutable draft version while retaining at least one version. |\n| `candleswarm_check_publish_readiness` | Read all canonical backtest, walk-forward, similarity, entitlement, and missing-action gates. |\n| `candleswarm_run_publish_checks` | Start only the API-selected next readiness stage and then refresh readiness. |\n\n### Experience memory and feedback\n\n| Tool | Purpose |\n|---|---|\n| `candleswarm_add_memory` | Save a structured, evidence-backed, reusable cause/effect lesson. |\n| `candleswarm_search_memory` | Search bounded private/community observations by query, market context, topic, and source. |\n| `candleswarm_get_memory` | Fetch one authorized memory through its typed reference. |\n| `candleswarm_developer_feedback` | Submit a bounded bug, feature request, suggestion, or note. |\n\n## Experience privacy\n\nExperience sharing is private by default and is controlled only by the\nauthenticated user's “Deneyimlerimi paylaş / Share my experiences” preference in\nthe web App. Tool arguments cannot opt the user in.\n\nWhen sharing is disabled, new lessons stay private and search uses only that\nuser's private memory. When sharing is enabled, eligible lessons may be distilled\ninto anonymized community hints and community search becomes available. Raw\nprivate memory is never returned to another user. Disabling sharing revokes the\nuser's community-derived contributions according to the API policy.\n\nStore only specific, reusable findings backed by a task/backtest id and bounded\nmetrics. Do not store prompts, commands, credentials, personal data, or speculative\nnotes.\n\n## MCP Resources and Prompts\n\nStable resources:\n\n- `candleswarm://persona`\n- `candleswarm://schemas/strategy-source`\n- `candleswarm://skills/<name>`\n\nMemory and community hints are deliberately not enumerable Resources. Use the\nauthorized memory tools so ownership, source labels, pagination, and revocation\nare enforced.\n\nAvailable starter prompt:\n\n- `candleswarm-develop`: one goal-directed canonical five-regime workflow with\n  bounded pair, timeframe, Net PnL, win-rate, priority, direction, iteration,\n  and draft inputs.\n\nThe prompt treats optimization targets as goals rather than guarantees or\npublication gates. Before parameter optimization it directs the agent to build\nbull, bear, sideways, breakout, and forced-flow-reversal regimes, inspect live\nTOTAL/market context and multiple derivative/liquidation families, and treat\nmissing observations as unavailable rather than zero. It loads the detailed\nregime and outcome skills from the server, rejects narrow variants of the first\nthree regimes, keeps revisions attributable, and leaves final publication in\nthe App.\n\n## Configuration\n\nThe initializer stores `apiUrl`, the API key, and optional log settings inside\nthe selected profile. Client configuration contains only the profile selector,\nan optional custom profile root, and a version-pinned package command.\n\n`CANDLESWARM_API_KEY` and `CANDLESWARM_API_URL` override profile values for\nbounded CI or operator-controlled processes. Do not place a key in shared client\nconfiguration. `CANDLESWARM_MCP_PROFILE` selects a profile when starting the\nstdio server directly; when using a custom root in that form, also preserve\n`CANDLESWARM_MCP_HOME`. `log.level` accepts `debug`, `info`, `warn`, or `error`;\nstructured tool-call logs go to stderr so MCP stdio remains valid.\n\n## Request safety\n\n- Inputs are schema validated, reject unknown properties, and have a global byte\n  limit before any transport call.\n- Outputs and trade sections are bounded.\n- Safe reads may make at most two attempts after transient transport or\n  `429/502/503/504`, honoring `Retry-After` plus jitter inside the 120-second\n  total deadline. Mutations make one attempt; timeout or network failure returns\n  `CANDLESWARM_MCP_5002`, while an HTTP `5xx` is surfaced through the normal API\n  error mapping without retry.\n- API and worker identifiers are encoded before use in paths.\n- Snowflake/int64 identifiers are accepted only as decimal strings so clients\n  cannot truncate them before the MCP server receives them.\n- Generated protobuf contracts are vendored from the immutable CandleSwarm\n  contracts authority pinned by `contracts.provenance.json`; builds verify\n  provenance before bundling.\n- The temporary shared Auto Tune engine is vendored byte-for-byte from the App\n  authority pinned by `auto-tune-engine.provenance.json`; builds verify its file\n  inventory and SHA-256 tree before bundling.\n\n## CLI\n\n| Command | Purpose |\n|---|---|\n| `npx -y @candleswarm/mcp init --client <codex\\|claude-code\\|grok\\|other> --name <name>` | Validate a key, save a secure profile, and register one named client instance. |\n| `npx -y @candleswarm/mcp@latest update` | Update all known Codex, Claude Code, and Grok package pins without reading or changing API keys. |\n| `npx -y @candleswarm/mcp doctor --name <name>` | Diagnose the selected profile, auth, Worker compatibility, and live catalog without secrets. |\n| `npx -y @candleswarm/mcp` | Start the stdio MCP server using `CANDLESWARM_MCP_PROFILE` or the default profile. |\n\nBin aliases are `mcp`, `candleswarm-mcp`, `candleswarm-mcp-init`,\n`candleswarm-mcp-update`, and `candleswarm-mcp-doctor`.\n\n## Troubleshooting\n\nIf tools do not appear, run the named CLI doctor, restart the AI client, and\ncall `candleswarm_doctor` inside it. Its `Available tools (...)` line is\ngenerated from the live registry and is the source of truth. Some clients cache\n`tools/list` until restart.\n\nIf client registration fails, the secure profile is preserved. Fix the missing\nclient CLI or malformed client config and rerun the same `--client` and `--name`\ncommand. If two instances appear to use the same account, verify that they have\ndifferent names and that each initializer run received a different key.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}