{"_id":"@leadshark/mcp-server","_rev":"27-fcf90d9ddf8aa04ab30bd4a79f0f4727","name":"@leadshark/mcp-server","dist-tags":{"latest":"2.6.2"},"versions":{"1.0.0":{"name":"@leadshark/mcp-server","version":"1.0.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.0.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://github.com/leadshark/mcp-server#readme","bugs":{"url":"https://github.com/leadshark/mcp-server/issues"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"76dd5a0bd80a49ae861a0634202d51311bd50541","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.0.0.tgz","fileCount":6,"integrity":"sha512-rw8QmuuAf+wN8gU4aiP4Na7YjWcysEgNLS3lq3dlbuLndj2b9TQK/R+esKDUQnCixN0adVyBK/YNwc7Eln9cHA==","signatures":[{"sig":"MEUCID7KpdYj20Cxpu3G9cw3FafZJg+uC+huHoWKojnN2BbnAiEAwevtdPFF0AsoJ5JrM3qWpwMIAbjgDQVfSNvGjHo/TIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27709},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9e25ef0dbdc3205ce68d4cfb39b9fc321d44a616","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"repository":{"url":"git+https://github.com/leadshark/mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.0_1770371300670_0.4438597411740399","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@leadshark/mcp-server","version":"1.0.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.0.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"e70f1614e8464d1fa7fe336ae3ccb98abaf2c4f0","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.0.1.tgz","fileCount":6,"integrity":"sha512-NxsLcl8hTXbB8SfCaRKtpPCdrPMzcwGeLuHzTM0u6Xx0lNR9FPJuzTEX8QXA09989+rjHk4sYtrQQOVw43A4CQ==","signatures":[{"sig":"MEYCIQCo4rqH1zE2J9Rt57cyGeoQh0QqBeui+pth2rXhZ6H13wIhAJn4Qve97Us+1hZpgi1iRSpF1Enw77EarktSDjJzJgnz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28071},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"4ee8095469e64ca38b62491c6118dd198cb3ff9c","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.0.1_1770372047247_0.8249861143359234","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@leadshark/mcp-server","version":"1.1.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.1.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"d27a3079040c526d3984d2f004b4f9b71e8881d3","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.1.1.tgz","fileCount":6,"integrity":"sha512-oYInTBINAE1X2EZUaO0hl+aWHLR+8uOEk2XJ7vbGVmSQik/5tmSS//yqJah3Q+OCPgWcf4MZuuoBbHVh78604Q==","signatures":[{"sig":"MEQCIFp0J4fLpTcDweSdwNMia6cVZAKzEf8nfu/++I+68Dk/AiB9bNZIOL9heZAeq8d8zTdHzfAFYe2o2uRMDvaMp2UfOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29435},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"f2dab02832974fe040aa1608c36e78992cceff9a","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.1_1770632828470_0.48534796040475015","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@leadshark/mcp-server","version":"1.1.2","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.1.2","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"8e2fa7f9e117883d98526e2a04fb67bf025ec842","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.1.2.tgz","fileCount":6,"integrity":"sha512-CANiCUyapi1+CGIwQ54bNIomvK73ieQW1OZ2hFfIhpao5Xif9PoiFp1QBK1s9/d3wUWzqHcgpF9lgXyBnELfhA==","signatures":[{"sig":"MEQCID1+66sTeCZgIEH+QNYZYGFEGnyR04ws9g7ZCoJa1hqxAiB/Fy8+UxUdKXMAuK8YPGylLfiX9Jg2u4uZ0Ys9AhsCCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30632},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"ed99fe463e9ac5455eb1893c34d522f8b3611992","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.1.2_1770635370388_0.7676248463066904","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@leadshark/mcp-server","version":"1.2.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.2.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"a948aeb8c372a713f441629ad16d55d70f04e5de","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.2.0.tgz","fileCount":6,"integrity":"sha512-reciKKBH+M/sl1OgUxvq44JBXEk0GW+/1KoJF2a4rMjYyOfFpyDU7Zoc6sJhpvOv60VmBMcVDJWwxvH7gWazaQ==","signatures":[{"sig":"MEYCIQDT7NVA4JDJfNbYwUmsaormY+k5SDu+tvk3F1DscrZ0NQIhAJ94Ufh0iphWLGbuHMD5vNJYeldVpEJPUMM2//ri/Ua8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36337},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"7c34046538651285db7838bca631327a62162153","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.2.0_1770640365293_0.9452060811237712","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@leadshark/mcp-server","version":"1.2.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.2.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"ebc1fca1fe4a03e266cb44efdfeee00c0c69519b","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.2.1.tgz","fileCount":6,"integrity":"sha512-fbpXDGX0F1xOB+HXV+UP1tPHIoQ+P26dUPZZENqMiykGeuc1kKCk/G821BE+UJOwCujSjzvxjFIIbT2VWW/kPg==","signatures":[{"sig":"MEUCIQCFZSe2haWX4kYsgtawcxH5uowvv3jziBKkm4o3S1jKDwIgFsHUeLOXP7K8EEjk/zw/ZfyqjBbd4MPmn8uSaFu68Ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40252},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"83a9732c3d25db84ed5fc5e931fb05e6e45a8db4","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.2.1_1770641801591_0.3460820120698991","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@leadshark/mcp-server","version":"1.3.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.3.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"83eee810d1ee9ec48058f87fdce233fe17272d35","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.3.0.tgz","fileCount":6,"integrity":"sha512-9v00isBr/aiTA2FBfxEzMxvgzi9tkb6tRh0HMPJLd4KT5EF8sVRAV0GjfUb35mlpTUjozeX3j+1LDgEPROZEQg==","signatures":[{"sig":"MEUCICgD7EMeoCnR6JocrUmtOC+PQIL2U0OCOWWUCyPA208eAiEAt6MGzz36OE1X01iUv5IY2cwhJLM0yczNQfpScez3V1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42427},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"c27eb27d7f9a1cc7199083283b03338d6a69bcfb","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.3.0_1771595664170_0.6447968226059513","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@leadshark/mcp-server","version":"1.4.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.4.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"66ec9a3b266917f6801e71de9126e36375d67fed","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.4.0.tgz","fileCount":10,"integrity":"sha512-kqvzfaxW/2p+3QLB3VmoqefMbcmD0KnIIzUTHcid8nGbKWC3+a7+lWSCNUyxAZOzf8CHSMTa9avgzXCL4JBPAw==","signatures":[{"sig":"MEQCIGEN4Y2xvNnSnHdMOhP+ezeo9+27AskP9eCeRYf0yG2BAiBDtrJj0obt951/ionANeeXj43U7tCZfIxWhVIepONg/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49165},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"7028600bd54e5cc908f60e841b4214242650e052","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.4.0_1778072147915_0.25781699102898004","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@leadshark/mcp-server","version":"1.6.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.6.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"73f1a546b0659a6101ed46640ac8c51682e99c7f","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.6.0.tgz","fileCount":10,"integrity":"sha512-h2Sp6jkyX4Ghd2hUpdDwaIjB+DZeui4sHYhfNWdIFdM9ILrIFd0X/9OmqBHaUY22WLZyZY2OuwkHTUTsDZ1K/w==","signatures":[{"sig":"MEUCIQDFgBIEVGy75zZRrGM3ZeI6WB7VfofJlyNQX1PkPYqvIAIgGQ4/9lsM8nc6JM1hX+d28VQUYSPqz09nNmaaEcB3ZjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58866},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"a9849f9edbf8ad8b2aafe2ec5bbc5be8dda361e5","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.6.0_1781361843117_0.9660477997455692","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@leadshark/mcp-server","version":"1.7.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.7.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"a00109e48cb9ddd5386c29db9f16fbea1e49de25","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.7.0.tgz","fileCount":10,"integrity":"sha512-NrbYHaCyGvMx/pptM1P6nnIjBjR57oGeb3hIKF0/Ohutb1QX/qCh4/NSH3izO+36JidPUggoRPOgAcrhh0wasw==","signatures":[{"sig":"MEYCIQD6Y20uJo2Zi4FZuuh339Om6eedVSPq7Mxz+56HfzQEJQIhAKXdLNg62QMm57lKf+ohiHH5nVlVXFnNgbYeN4odE24L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79372},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9ceb7cde3001508ee09b938f1474aa9cca5c50e8","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.7.0_1781535496053_0.8344665069849062","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@leadshark/mcp-server","version":"1.8.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.8.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"edb49f10a32e5974ab5c76f54311b471d1689f39","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.8.0.tgz","fileCount":10,"integrity":"sha512-bOY3Ghydv2XCPjy7eeSMEq/otcpCabth+/ldqZI65ggRDYRDKr0gzL3rIY0eGSCQZxgm4DFmEpApuC1p4HsAvw==","signatures":[{"sig":"MEUCIC0QSIviGkFjrRPvFhHoEHUPDeJscvbLd/ahWBKl/zcNAiEAz70JcltaL15Caz67xoa8OhzLo/kbKvohdsPzgvIZ71w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83581},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9ceb7cde3001508ee09b938f1474aa9cca5c50e8","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.8.0_1781536813821_0.7720545360346689","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@leadshark/mcp-server","version":"1.8.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.8.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"8271bb40ea237435a0ed7dd0a73337204e3a4d6a","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.8.1.tgz","fileCount":10,"integrity":"sha512-PuhpYb/QbtPUzcYwY4wVhBHfdnNPUu01vuozGd/BCZds7sU4cxMQtG+sJJM1B5FOl+yg0n2xe9aX8ngOwOXYpg==","signatures":[{"sig":"MEUCID1tq2kZOcs9b24c/XXkRwoRB1oXxDik1gFZo4LndCg5AiEArYH259q4WeaCNzzbXSF/yNkbX5ShJxGburFiQJLGSUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83606},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"c5613944c37a41d010288c6a472b66019ef17036","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.8.1_1781537458171_0.9224286217030366","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@leadshark/mcp-server","version":"1.9.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.9.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"fe6a4dd9270acb0d06c95684fbf4af1e73e75cce","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.9.0.tgz","fileCount":10,"integrity":"sha512-LJng/TtMZ3vRN5633YSAUQhqJd34dZOxtLocF2AFXOp9eqe7tjpSqu37yIxzyCk3vHF/XEc26D4V6fnfJ213AA==","signatures":[{"sig":"MEUCIGvC4ku3ppFZMOgE+gL2PnzcXGYp+u6bjjJBvc1e6SrTAiEAlPYrw3HuSd4/IfvTOZjI4gM9+RzEWqLJHFzGPdESrXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88482},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"bc97f918a108f24eea240c7c9f8821772256739f","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.9.0_1781608262079_0.5725274474065358","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@leadshark/mcp-server","version":"1.10.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.10.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"59bd4cc9d26dfc44293aa860a17539d645d8270c","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.10.0.tgz","fileCount":10,"integrity":"sha512-YD16ss5Myh50icKtbuPwRH/QGYuemkQPs8A01cH+koBBtWHD/WectTrhLy2Ac1rfdNkuPW8eCtHgBlR/Vv0QIg==","signatures":[{"sig":"MEQCICvkiw1buuaFZuMZB8AiAiGRFRdAyu5SesxyVWHMPDcOAiBZiwDZvXt24RqMp+i4rTJhY3Eu7sDQ2veNemYMBY5c2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90351},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"bb2cd241e440cddb715c2ab2124509ae77f2c722","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.10.0_1781637361042_0.9500836387317431","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@leadshark/mcp-server","version":"1.11.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.11.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"02c0dafac60956835de0aef7122a6e151de8911e","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.11.0.tgz","fileCount":10,"integrity":"sha512-FFy7DufRG2AGsnmTSl3N349FUhKJn2psnwOi+ec0DL13DRgGpbrYydCpvyRn9pwcwwCEQI/7VxclP0KbJA+1pg==","signatures":[{"sig":"MEUCIQDP5SBI6DqHfsm/0iOcPKkR1yt0dKcIN8sWEMqufF//OAIgRfHl3RqoduoeocpzXDl/3ss/y6afNqbXpVEipXvk1aY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94585},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"bb2cd241e440cddb715c2ab2124509ae77f2c722","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.11.0_1781638521892_0.4087933260643628","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@leadshark/mcp-server","version":"1.12.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.12.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"a6ea1a71a8919f2bac59c58b47f33d2e0fd22a17","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.12.0.tgz","fileCount":10,"integrity":"sha512-VRtl8dJ++2WAJcxHoxORGB9dczBstlPvIideRAvT7Rxk6OCkvhFrb3UnjgbN3Jagbckp+MZog9oNLDw1/hIrVA==","signatures":[{"sig":"MEUCIQDXgUeI5noFf0ITn5HBeBrndeDEpK8/1FHMiL33lKis7wIgR3yxcOJkxP1v/Wz3ojlc5K4ConmpcRy7IvboWLPm8fI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110512},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"20c646ef76dc0079ba82b4c27182b4f00beaca3a","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.12.0_1781713714114_0.48338459767650965","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"@leadshark/mcp-server","version":"1.12.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.12.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"ebac1168e6a4483d8a7649e1d7d4f599a9d050ce","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.12.1.tgz","fileCount":10,"integrity":"sha512-ZvTFd444+J9fpb+XvmwOM8kiGe6d/6kCCGRJHWOPIbQ+JQzeKOx6LuS2U6qnGo4XyNlOJRAGwdbWDNnK8tCVOQ==","signatures":[{"sig":"MEQCIDDHyqkZHOBqtWgWFNkynDKVoAZ9GynB4c2ffGQIc21xAiBnyQcZcXQ5i789EQz4V/HUfH6Ba1VmBksnwxL0fjeicQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110980},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"20c646ef76dc0079ba82b4c27182b4f00beaca3a","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.12.1_1781714638898_0.2551653027019256","host":"s3://npm-registry-packages-npm-production"}},"1.12.2":{"name":"@leadshark/mcp-server","version":"1.12.2","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.12.2","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"928ca78966f67ccd12f89773f59db8111c024235","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.12.2.tgz","fileCount":10,"integrity":"sha512-NBMWTtQI7d4qGqYv/mpdakrez6IZVjdf4QQaKI2GcPC4kSGCl3wU4CHpTGQDfEsxtHaHo/MkFUuFDIX1vxp0zw==","signatures":[{"sig":"MEQCIA0On/APTa30GNacmx1u0PoJ7x+eO959pNwN8helbVwQAiBVdxjlMp3kwDbK+0CPyIKfA1TF6Ijg0B4dtOfLDSCIXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110856},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"7f1d56776dd2f2d767787aeb619983d21eb7a6e8","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.12.2_1781780915116_0.42228249003929497","host":"s3://npm-registry-packages-npm-production"}},"1.12.3":{"name":"@leadshark/mcp-server","version":"1.12.3","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@1.12.3","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"41dbf750eb17ade47a88e5981a73cecdf4f979df","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-1.12.3.tgz","fileCount":10,"integrity":"sha512-0rm07tRhk2W9r+kZjpMjJyvOe6pMyJ7J1GQx8dYwkfDL0Hge80mt1UhlOdZOlmCgoVNjlrvizMI3SR0m/8bN5A==","signatures":[{"sig":"MEUCIQC8AiSj0tvFneFEP8FPrW3Ac59KJDXF5hUasoGfG0HGsAIgZW+NDiUVeF0jwe4hoiWo+v9/gJlD/6J+GzoLSCs6wm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115936},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"f2669b1a3dd265d884f18fe661d773eb174491e0","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_1.12.3_1781784136881_0.20508314555147789","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@leadshark/mcp-server","version":"2.0.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@2.0.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"eacbb6c178d40efc117fd827e56a5c9c89d4e472","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.0.0.tgz","fileCount":10,"integrity":"sha512-Zh3GKT4TZTc1beaUtWWZmkxEPk99W7WlNW3ma1aTi4+O7hGz8EuiiZJ/aQxbNneFO8kf/nkDZ7xD++2CBYtm9Q==","signatures":[{"sig":"MEUCIQCpZ6O+oTX47m0J7zxlDXOGYCMF8kB1QhcikFNrel3sRgIgYymgXiMHxG960PvjVqgQeRMdbTtkGO4OSrhL4CBQZ2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140618},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"e9d4e11807621dab1855e535909dc43ae8603025","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_2.0.0_1781814105949_0.7423358299981795","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@leadshark/mcp-server","version":"2.0.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@2.0.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"bb1ed6ef2456424a333bd3ceff28dff3fe4bbaf7","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.0.1.tgz","fileCount":10,"integrity":"sha512-qA19v7B28lYL+pW2i37D/luACFBBuJscVxwyIuPpFkVFgyWl7L/p7wMihpu89pqg8+DwRUDoSJdxbXPZLqmFkQ==","signatures":[{"sig":"MEYCIQCExBkaGFopyvepJVWRuWyx3dtZ3u+Ik8mD6Ik7z8fPCAIhAJlO9cGkUIH+k/GSeRI+CD212g8fOy7QW3YusH5rkXTD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143476},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"0252b5ee7d29c5e3734059b54546ffae3505dae3","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_2.0.1_1781858192037_0.035429204753911314","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@leadshark/mcp-server","version":"2.1.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@2.1.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"6d788cf5b320d20fd1b4219bce211be61e10ae12","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.1.0.tgz","fileCount":10,"integrity":"sha512-716pa7AFXK1TdUBexgCGOT2t/YdzekbL4O5yVz36oibdPF4Uyx4twoEc0Qtsoy3e+6Ef26wrxveSGLuC+Mn/wg==","signatures":[{"sig":"MEYCIQDIkc6wGfw5KWfx8qrPjFD3tvp2Pweual4s8kIclR289wIhANdn53r4vlc4yYTxp+wZGXVU5igaGim8EkFFXth8MDUJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181462},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"e5b0be4a94df6e280ba63aa4b9e638dd3d11f4de","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_2.1.0_1786987261138_0.27405464049338857","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@leadshark/mcp-server","version":"2.3.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@2.3.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"e23cf11475d7be09d6a7bec6651fc44acba93d96","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.3.0.tgz","fileCount":10,"integrity":"sha512-nupFLETaR07yTuNpaAHFlvM/T32BFrE88BOuUFYvxJbeZu8p4GjlUyAHKTkaaWJNA0TZ8ZYPkuVxeooeSQ/mCQ==","signatures":[{"sig":"MEQCIEFvSe66H96/IPt3lxuPhwKn5G6S0wPIwsJD39rpXwU5AiAEZZwlVjB3mScdfS1doLT7JPkIp9ozf4Borin1B1nHtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185479},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"117d811af02480f481f999add2559d288d5fee0d","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_2.3.0_1786991070252_0.043833109664376924","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@leadshark/mcp-server","version":"2.4.0","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@2.4.0","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"e95780257d53b3281755042a8fecacd6e36ad325","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.4.0.tgz","fileCount":10,"integrity":"sha512-du3pD8JW7TWhGUx3zBgmUaxi+H2ldBER0Ib5KLyDPKeYGtqGFJ3OzxdZeyk0alubzR5fS8axPo2/EicLKRAx8g==","signatures":[{"sig":"MEUCIQDmx4zRlQQtZtYJCGSjglvOKvBQeHjciwjTWzVizs0NfgIgILHEYIN2qK7tVavirUXs40kaPpTANIXoKnkziXEX7cA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192189},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"eddb4c32eebe23e676b98a5b7e6f40ced24219f9","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_2.4.0_1787417071774_0.8435587818368586","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@leadshark/mcp-server","version":"2.4.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@2.4.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"4faf0e99ab4303fd713bfefcade78a47c6385f29","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.4.1.tgz","fileCount":10,"integrity":"sha512-WvBZDvvuIxiEZsnLzKUks8+Rssg/Y6Y8Rj+yOEELYdg4fIIn0RrI5YMjEI/bY/2tXVPzlgZ71zVKMfCWeVfNwg==","signatures":[{"sig":"MEQCIFA/WicgjEUQmPjtlp5o4VykI8aY3Mkw/OZzLKAnJXyJAiB8Ik5R0R/lFS0MOrcaWf/E/N6eB7EjfBjUorRBniiPuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192347},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"719e03f97224508036e068aa5a6f9f58610e05b6","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_2.4.1_1787419211932_0.4180934337018396","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"@leadshark/mcp-server","version":"2.6.1","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"author":{"name":"LeadShark"},"license":"MIT","_id":"@leadshark/mcp-server@2.6.1","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"homepage":"https://apex.leadshark.io/docs/mcp","bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"bin":{"leadshark-mcp":"dist/index.js"},"dist":{"shasum":"55394572265b0b3512c06b01fc805ffee4b9f7b3","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.6.1.tgz","fileCount":10,"integrity":"sha512-bafrBc4DN8jJywSCov/8TRw4K84mrHyerFZ9/W+DbowEDdpzkbTaXQTgISSWwOXaCkU/UPeBD24TWis+AW92VA==","signatures":[{"sig":"MEQCIC5fNi+nq6t00eF1RltZj8pfqYoUFIRK73nj60zCI//7AiA/JbFaHVOvoXmUSSqH29bvVsd1NgMR/pD0g5avm22w/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFHTnT9NJsQWKWHwh4q5auNRPVnY/jG9VQ1vJbVJxkgyAiABH2jYDTYGN4Xlpc92Z1t+e7+f1HYY9BSWL/EifEt0AA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208455},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"36e9c7d572f5627fd44b2cfaaa3b950de24296c3","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_2.6.1_1790093151805_0.6006152332764008","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"_id":"@leadshark/mcp-server@2.6.2","bin":{"leadshark-mcp":"dist/index.js"},"bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"dist":{"shasum":"5c136f479555d4f9fd1b8d49cb7d9129d2d4b073","tarball":"https://registry.npmjs.org/@leadshark/mcp-server/-/mcp-server-2.6.2.tgz","fileCount":10,"integrity":"sha512-F4JxZ0Vhi+g6E6xb7RuWXC/wQ8gAVThBCU0g77PDRbyLX/62tkFCi5kYUfHk5wGDxc8vtiQUlK5O5G+/YHJZkg==","signatures":[{"sig":"MEYCIQDWGMhiHG+owW2PG/X1+c8QaU6bIsjUFTrg4C56/COgNQIhAOhEcQrZJRiN6k6e6klJJIFjpaVgLPIQQ79aYZbIWQaO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGBZGvTUEhsH4ZEv3w/5fkSCPmMQOCamDER2x61/IvhQAiEA9I/4viPeODG2C6N5KAn9BJM9MUqUnI9D7H6NRF47SMk="}],"unpackedSize":209643},"main":"dist/index.js","name":"@leadshark/mcp-server","types":"./dist/index.d.ts","author":{"name":"LeadShark"},"engines":{"node":">=18"},"gitHead":"3ae62514be675e0630506e615557100b613a5a5e","license":"MIT","scripts":{"dev":"ts-node src/index.ts","build":"tsc","prepublishOnly":"npm run build"},"version":"2.6.2","_npmUser":{"name":"leadshark","email":"info@leadshark.io"},"homepage":"https://apex.leadshark.io/docs/mcp","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"_npmVersion":"10.8.2","description":"LeadShark MCP Server - Control LinkedIn automations with natural language","directories":{},"maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"_nodeVersion":"20.19.5","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_2.6.2_1790100698886_0.4437074138683048"}}},"time":{"created":"2026-02-06T09:48:20.569Z","modified":"2026-09-22T18:11:39.189Z","1.0.0":"2026-02-06T09:48:20.805Z","1.0.1":"2026-02-06T10:00:47.395Z","1.1.1":"2026-02-09T10:27:08.618Z","1.1.2":"2026-02-09T11:09:30.517Z","1.2.0":"2026-02-09T12:32:45.443Z","1.2.1":"2026-02-09T12:56:41.738Z","1.3.0":"2026-02-20T13:54:24.338Z","1.4.0":"2026-05-06T12:55:48.106Z","1.6.0":"2026-06-13T14:44:03.293Z","1.7.0":"2026-06-15T14:58:16.209Z","1.8.0":"2026-06-15T15:20:13.967Z","1.8.1":"2026-06-15T15:30:58.320Z","1.9.0":"2026-06-16T11:11:02.215Z","1.10.0":"2026-06-16T19:16:01.242Z","1.11.0":"2026-06-16T19:35:22.081Z","1.12.0":"2026-06-17T16:28:34.264Z","1.12.1":"2026-06-17T16:43:59.052Z","1.12.2":"2026-06-18T11:08:35.305Z","1.12.3":"2026-06-18T12:02:17.058Z","2.0.0":"2026-06-18T20:21:46.092Z","2.0.1":"2026-06-19T08:36:32.175Z","2.1.0":"2026-08-17T17:21:01.320Z","2.3.0":"2026-08-17T18:24:30.402Z","2.4.0":"2026-08-22T16:44:31.930Z","2.4.1":"2026-08-22T17:20:12.114Z","2.6.1":"2026-09-22T16:05:51.947Z","2.6.2":"2026-09-22T18:11:38.975Z"},"bugs":{"url":"https://apex.leadshark.io/docs/mcp","email":"info@leadshark.io"},"author":{"name":"LeadShark"},"license":"MIT","homepage":"https://apex.leadshark.io/docs/mcp","keywords":["mcp","leadshark","linkedin","automation","cursor","claude"],"description":"LeadShark MCP Server - Control LinkedIn automations with natural language","maintainers":[{"name":"leadshark","email":"info@leadshark.io"}],"readme":"# @leadshark/mcp-server\n\nTalk to your LinkedIn growth engine.\n\nThe LeadShark MCP server lets you control posts, automations, DMs, and limits\nusing natural language inside Cursor, Claude Desktop, OpenClaw, or any MCP-compatible client.\n\n---\n\n## What You Can Do\n\nWith MCP access, you can:\n\n- Inspect your latest LinkedIn posts (full text + engagement) and performance\n- Get AI-suggested automation settings for any post before you create anything\n- Create comment → DM automations safely (draft-first), or arm one for your next post before it's even published\n- Pause, resume, rename, and modify live automations\n- Schedule posts with a carousel of images, a PDF or video, a first comment, and automation pre-wired\n- Publish, comment, and react as a Company Page you administer — and auto-reply to comments on a Page's post\n- Control your full set of sending caps (DMs, replies, connections) or emergency-stop instantly\n\nOn Apex, you can also prospect end-to-end:\n\n- Search LinkedIn for the right people or companies, then enrich them into structured profiles (optionally with a work email, or a company's current employees)\n- Build a warm lead list from any post — everyone who commented, reacted, or reposted, deduped and ranked\n- See what a prospect recently commented on and reacted to, so you can open with something specific\n- Comment, react, and send connection requests as yourself\n- Triage your inbound connection requests in bulk — accept the good ones, ignore the rest\n- Follow up off-platform: send email through your own connected sender\n- Work your captured leads: list your capture Pages, pull the emails they collected, and mint gated capture links\n\nAll actions are:\n- auditable\n- rate-limited\n- reversible\n\nEverything runs against your existing LeadShark account and respects plan limits.\n\n---\n\n## Who This Is For\n\n- Existing power-users already running LeadShark automations\n- Founders using Cursor or Claude as a daily control surface\n- Operators who want to manage LinkedIn growth without dashboards\n\n## Who This Is Not For\n\n- Users new to LeadShark or new to automations\n- Fully autonomous agents without human review\n- High-frequency bot orchestration or spam workflows\n\nThere is a human-in-the-loop control layer by design.\n\n---\n\n## Requirements\n\n- **LeadShark Pro+ or Apex subscription** (MCP access is Pro+ exclusive as of Feb 2026)\n- **API Key** – generate one at https://apex.leadshark.io/docs/api\n- **Node.js 18+**\n\n---\n\n## Installation\n\n```bash\nnpm install -g @leadshark/mcp-server\n```\n\nThis installs the `leadshark-mcp` command globally.\n\n---\n\n## Configuration\n\n### Cursor\n\nAdd the following to your Cursor MCP config (`~/.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"leadshark\": {\n      \"command\": \"leadshark-mcp\",\n      \"env\": {\n        \"LEADSHARK_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nRestart Cursor after saving.\n\n---\n\n### Claude Desktop (macOS)\n\nAdd the following to:\n\n`~/Library/Application Support/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"leadshark\": {\n      \"command\": \"leadshark-mcp\",\n      \"env\": {\n        \"LEADSHARK_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop after saving.\n\n---\n\n## Verify Setup\n\nOnce connected, try:\n\n```\n\"Show me my recent LinkedIn posts\"\n```\n\nIf configured correctly, LeadShark will return your latest posts with engagement\nand automation status (if exists).\n\n---\n\n## Tool Mental Model\n\nThink of the MCP tools as verbs on your growth system:\n\n* **Inspect**\n\n  * `list_recent_posts`\n  * `list_automations`\n  * `get_automation`\n  * `list_scheduled_posts`\n  * `get_scheduled_post`\n  * `list_companies`\n\n* **Plan**\n\n  * `suggest_automation_settings`\n\n* **Create**\n\n  * `create_automation`\n  * `schedule_post_with_automation`\n\n* **Modify**\n\n  * `edit_automation`\n  * `edit_scheduled_post`\n  * `set_daily_dm_limit`\n  * `manage_activity_limits` (Apex — read remaining budget + tighten/pause channels)\n\n* **Delete**\n\n  * `cancel_scheduled_post`\n\n* **Act** (engage as yourself — Apex only, the ACT arm of the loop)\n\n  * `comment_on_post`\n  * `react_to_post`\n  * `send_connection_request`\n  * `manage_invitations`\n  * `send_message` (DM, or InMail with `as_inmail: true`)\n  * `send_email` (off-LinkedIn follow-up via your own connected sender — Apex)\n  * `engage_with_comment` (reply to or like a comment — as yourself, or in a Company Page's voice with `organization_id`)\n\n* **Inbox & Feed** (your conversations and home feed — Apex only)\n\n  * `list_recent_messages`\n  * `get_messages_with_person`\n  * `feed`\n  * `get_lead_activity`\n\n* **Company Page** (act as a brand you administer)\n\n  * `comment_as_company` (Apex)\n  * `react_as_company` (Apex)\n  * `manage_company_reply_automations` (Apex — auto-reply to comments on a Page's post)\n\n* **Search, Discover, Signals & Enrich** (Apex only — the SEE + DECIDE half of the loop)\n\n  * `search`\n  * `list_person_posts`\n  * `get_person_activity`\n  * `list_post_engagers`\n  * `icp_fit` (Pro+; `post_id` mode is Apex) — who in a list / on a post is my ICP\n  * `discover_lead_magnets`\n  * `list_signals`\n  * `enrich` (add `include_email` to also resolve a work email)\n  * `enrich_company` (add `include_employees` to also pull current employees)\n\n* **Captured Leads** (turn a lead magnet into outreach — Pro+)\n\n  * `list_lead_pages`\n  * `get_page_leads`\n  * `manage_lead_pages`\n  * `manage_lead_magnet_links`\n\n* **Remember** (the agent's own action memory — Apex only)\n\n  * `list_actions`\n\nYou describe intent. MCP handles sequencing, safety, and execution.\n\n---\n\n## Available Tools\n\n### `list_recent_posts`\n\nFetch your latest LinkedIn posts with engagement stats and automation status.\nEach post includes the complete post body (`full_text`), a short `text_preview`,\nan `edited` flag, engagement (`impressions` / views, comments, reactions,\nreposts), and whether an automation already exists for it. Company Page posts\n(via `organization_id`) return `engagement.impressions: 0` — LinkedIn does not\nexpose impressions on that scope.\n\nExamples:\n\n```\n\"Show me my recent LinkedIn posts\"\n\"What are my top performing posts?\"\n\"Show me the full text of my last post\"\n```\n\n---\n\n### `list_scheduled_posts`\n\nList all your scheduled posts with the **full post content**, timing, status,\nauthor (personal or Company Page), and whether an automation is attached\n(`has_automation` + `automation_template_id`). Each item includes `content` (the\ncomplete body), `content_preview`, `first_comment`, and\n`post_as`/`organization_id`/`organization_name`. Filter by status: `pending`,\n`published`, `failed`, or `all` (default: `pending`). To read the attached\nautomation's full template contents, call `get_scheduled_post`.\n\nExamples:\n\n```\n\"Show me all my scheduled posts\"\n\"What posts are scheduled for this week?\"\n\"List my failed scheduled posts\"\n```\n\n---\n\n### `get_scheduled_post`\n\nRead back a single scheduled post by id, including the **full, current spec** of\nits attached pre-automation — keywords, every DM template, comment-reply and\nnon-first-degree-reply templates, and settings. Read from the **live template**\n(reflects your edits), not a stale snapshot, so you can verify exactly what will\npublish and fire before it goes live.\n\nExamples:\n\n```\n\"Show me everything tomorrow's scheduled post will do\"\n\"Did my keyword edit on that scheduled automation actually save?\"\n```\n\n---\n\n### `suggest_automation_settings`\n\nAI-powered tool that analyzes a post and suggests automation settings — name,\ntrigger keyword, DM template, comment replies, and non-connected replies.\n**Returns suggestions only; nothing is created.** Run it before\n`create_automation` or `schedule_post_with_automation` to get recommended\nsettings based on the post content.\n\nExamples:\n\n```\n\"Suggest automation settings for this post draft\"\n\"What keyword and DM should I use for my latest post?\"\n```\n\n---\n\n### `create_automation`\n\nCreate a new automation for a LinkedIn post.\nAll automations are created as **Draft** by default for safety.\n\n- **Automate your next post:** set `automate_next_post: true` (and omit `post_url`) to arm the automation for a post you haven't published yet — it waits and attaches itself to your next original post automatically.\n- **Settings** include `auto_connect`, `auto_like` (like every comment), `partially_engage`, follow-ups, and `icp_gate` (`off` | `fit_or_adjacent` | `fit_only`) — gate follow-up DMs on the ICP Fit label each lead's headline gets against the one-line ICP you write in Settings → Ideal Customer (all plans, no enrichment needed). `settings.auto_enrich` is deprecated and silently ignored; enrich on demand with `enrich` instead.\n\nExamples:\n\n```\n\"Create an automation for my latest post — DM anyone who comments 'interested' with my ebook link\"\n\"Set up a comment automation that replies 'DM sent!' and sends the PDF\"\n\"Arm an automation for my NEXT post — DM the link to anyone who comments 'send', and auto-like every comment\"\n```\n\n---\n\n### `list_automations`\n\nList all your automations with status, performance metrics, and the **full\ntemplate contents** (keywords, every DM and comment-reply template).\n\nExamples:\n\n```\n\"Show me all my running automations\"\n\"Which automations have sent the most DMs?\"\n```\n\n---\n\n### `get_automation`\n\nRead back the **full, current spec** of a single live automation by id —\nkeywords, every DM template, comment-reply and non-first-degree-reply templates,\nand all settings (auto-connect, follow-ups, etc.). Use it to verify exactly what\nan automation will say and do before it fires.\n\nExamples:\n\n```\n\"What will my 'Ebook lead magnet' automation actually send?\"\n\"Show me the full DM and reply templates for that automation\"\n```\n\n---\n\n### `edit_automation`\n\nUpdate an automation's name, status, keywords, templates, or settings.\nOnly the fields you include are changed (partial update — an automation with\n`keywords: []`, i.e. \"reply to everyone\", stays that way unless you send\n`keywords`). Repost-specific engagement is included: `repost_dm_template`\n(a different DM for people who repost; `null` removes it),\n`repost_comment_reply_templates`, and `settings.only_repost_dm`. The same\nfields are accepted by `create_automation` and returned by `get_automation` /\n`list_automations`; they map 1:1 to the REST columns `repost_specific_dm`,\n`repost_comment_reply_template`, `only_repost_dm`.\n\nExamples:\n\n```\n\"Pause all my automations\"\n\"Rename my 'Untitled automation' to 'Ebook lead magnet'\"\n\"Add the keyword 'want' to my ebook automation\"\n\"Change the DM template to include a personalized greeting\"\n```\n\n---\n\n### `edit_scheduled_post`\n\nUpdate a scheduled post's content, scheduled time, or pre-automation settings.\nCan edit the post copy, reschedule it, or modify automation keywords, templates, and settings.\nCan only edit **pending** posts (not published/failed).\n\nExamples:\n\n```\n\"Change tomorrow's post to include the new link\"\n\"Reschedule my 9am post to 2pm instead\"\n\"Update Monday's post automation to use the new discount link\"\n\"Change the keywords on my scheduled lead magnet post\"\n\"Enable auto-like on tomorrow's scheduled post automation\"\n```\n\n---\n\n### `cancel_scheduled_post`\n\nCancel a scheduled post permanently. **Requires confirmation**.\nCan only cancel **pending** posts.\n\n**What you'll lose:**\n- Post content (text)\n- Image attachments\n- Scheduling information\n\n**What you'll keep:**\n- Pre-automation template (if one was attached) — it's already saved and can be reused for future posts\n\nExamples:\n\n```\n\"Cancel tomorrow's scheduled post\"\n\"Delete the post scheduled for Monday\"\n```\n\n**Safety Note:** This action requires `confirm: true`. The post content and attachments are deleted permanently, but any pre-automation templates are preserved in your template library.\n\n---\n\n### `schedule_post_with_automation`\n\nSchedule a LinkedIn post with optional media and a pre-configured automation.\nAttach media by publicly accessible URL, matching the dashboard: **one or more images** (a carousel) via `image_urls`, **or** a single PDF via `pdf_url`, **or** a single MP4 via `video_url`. PDF and video can't be combined with images or each other.\n\nYou can also:\n- Add a **first comment** (`first_comment`) posted in your voice right after the post goes live — handy for putting the lead-magnet link in the comments instead of the body.\n- Publish as a **Company Page** you administer by passing `organization_id` (call `list_companies` first). Automation is not supported for Company Page posts.\n- Control timing precisely: pass `scheduled_for` with an offset/`Z` for an exact instant, or a naive local time plus a `timezone` (e.g. `America/New_York`) to interpret it in that zone.\n\nExamples:\n\n```\n\"Schedule this post for tomorrow at 9am Europe/Tallinn with an automation that DMs the link\"\n\"Post my new content at 2pm EST with comment replies enabled\"\n\"Schedule a carousel with these three images: https://…/1.png https://…/2.png https://…/3.png\"\n\"Schedule this for Monday and drop the signup link in the first comment\"\n\"Schedule this announcement as our company page for Tuesday 10am\"\n```\n\n**Media URL Requirements:**\n- Must be publicly accessible (no authentication)\n- Images: JPEG, PNG, GIF, WebP (up to 20 in a carousel); PDF or MP4 for documents/video\n- The file is downloaded and stored securely\n\n---\n\n### `set_daily_dm_limit`\n\nControl your daily DM sending rate.\nSetting the limit to `0` acts as an emergency stop.\n\nExamples:\n\n```\n\"Set my daily DM limit to 100\"\n\"Emergency stop — pause all DM sending\"\n```\n\n---\n\n### `comment_on_post` (Apex)\n\n**Apex only.** Post a comment on a LinkedIn post as **yourself** (your personal\nprofile). The core \"Act\" primitive — reply to a discovered lead-magnet post or a\nhot signal. Pass the post's `post_id` (from `list_recent_posts`,\n`discover_lead_magnets`, or `list_signals`) and your `text`. To comment as a\nCompany Page instead, use `comment_as_company` (Pro+).\n\nExamples:\n\n```\n\"Comment 'love this — congrats on the launch!' on that post\"\n\"Reply to this post for me\"\n```\n\n---\n\n### `react_to_post` (Apex)\n\n**Apex only.** Like (or react to) a LinkedIn post as **yourself**. A lightweight\n\"Act\" primitive for warming up a lead before commenting or connecting. Defaults\nto `like`; other reactions: `love`, `celebrate`, `support`, `insightful`,\n`funny`. To react as a Company Page instead, use `react_as_company` (Pro+).\n\nExamples:\n\n```\n\"Like that post\"\n\"React 'insightful' to this one\"\n```\n\n---\n\n### `send_connection_request` (Apex)\n\n**Apex only.** Send a LinkedIn connection request (invite) to a person as\n**yourself** — the \"Act\" primitive for turning a hot signal or discovered\nprospect into a connection. `profile` is a LinkedIn id (`ACo…`, e.g. the\n`actor_linkedin_id` from `list_signals`) or a public identifier / slug. `note` is an optional\npersonalized message. **Respects your configured daily/weekly connection\nlimits** — if outgoing is disabled or a limit is reached, the request is\nrejected.\n\nExamples:\n\n```\n\"Send a connection request to that hot lead\"\n\"Invite jane-doe to connect with a note thanking her for the post\"\n```\n\n---\n\n### `manage_invitations` (Apex)\n\n**Apex only.** Triage the **inbound** connection-request queue — the other half\nof `send_connection_request`. Call with `action: \"list\"` to see pending invites\n(each with the inviter's name, headline, and `invitation_id`), then\n`action: \"accept\"` or `action: \"ignore\"` with the `invitation_ids` you choose\n(bulk, up to 50). **Governed write:** it respects your Apex safety mode\n(read-only/draft refuse, queue stages responses for your review, live/admin\nexecute) and your API key scope, and every response is logged. The\n`shared_secret` needed to respond stays server-side — you act by\n`invitation_id` only.\n\n> **Where the safety mode lives:** the mode is set by you (the account owner),\n> never by the agent — that's the guardrail. Change it, review the staged-action\n> queue, and release/cancel queued items in the dashboard under\n> **Settings → Agent Governance** (https://apex.leadshark.io/dashboard/settings).\n> In **Queue** mode, `accept`/`ignore` are staged (you get a `pending_action_id`)\n> and only execute on release; in **Live/Admin** they execute immediately.\n\nExamples:\n\n```\n\"Show me my pending connection requests\"\n\"Accept everyone who looks like a founder or VP; ignore the recruiters\"\n```\n\n---\n\n### `send_message` (Apex)\n\n**Apex only.** Send a LinkedIn message to a person as yourself. Pass a\nprovider id (`ACo…`) or a public profile slug as `recipient`, plus the `text`.\n\n- **Direct message (default):** reaches a **1st-degree connection**.\n- **InMail (`as_inmail: true`):** reaches someone you are **not** connected to,\n  spending one of your LinkedIn plan's **paid InMail credits**. The balance is\n  checked first and the send is refused if you have none (or no InMail feature on\n  your plan). Optional `subject` sets the InMail subject line.\n\n**Governed write:** either channel counts against your **daily DM limit — the same\nbudget your automations spend** (so InMail can't be an end-run around the cap),\nskips anyone on your **do-not-engage (archived)** list, is velocity-paced +\ncooldown-aware, and respects your safety mode. The response includes the channel\nused and your remaining DM budget. Check your InMail credit balance any time via\n`manage_activity_limits` (`action: \"get\"` → `channels.inmail`).\n\nExamples:\n\n```\n\"DM the three people who just clicked my lead magnet and thank them\"\n\"Message ACoAAB123 — ask if they want the full guide\"\n\"Send an InMail to ACoAAB999 (we're not connected) inviting them to the webinar\"\n```\n\n---\n\n### `send_email` (Apex)\n\n**Apex only.** Send a real email **off LinkedIn** through your own connected sender (set one up in **Settings → Email Integrations**). Great for following up on a warm LinkedIn thread once you have a work email (see `enrich` with `include_email`). The `from` address must be on a domain you've verified in your sender account, e.g. `\"Jane <jane@yourdomain.com>\"`. Provide `html` and/or `text` for the body; `cc`, `bcc`, and `reply_to` are optional. Every send is logged to your Apex activity — deliverability lives on your own domain, so keep volume sane and personalized.\n\nExamples:\n\n```\n\"Email that lead the full guide from jane@yourdomain.com\"\n\"Follow up by email on the thread we started — keep it short\"\n```\n\n---\n\n### `engage_with_comment` (Apex; Company-Page mode is Pro+)\n\nAct on a comment — `action: \"reply\"` (needs `post_id`, `comment_id`, `text`) or\n`action: \"like\"` (needs `comment_id`). **As yourself (Apex):** replies count\nagainst your **daily reply budget** (shared with automations); likes are\nunlimited. Pass `author_provider_id` when you have it so your do-not-engage list\nis honored. **In a Company Page's voice (Pro+):** add `organization_id` (from\n`list_companies`) to post the reply/like as the page you administer — audit-logged\nand not metered against your personal reply budget. **Governed write.**\n\nExamples:\n\n```\n\"Reply to the top comment on my latest post and thank them\"\n\"Like every comment on this post that asked a question\"\n\"Reply to that comment as our company page\" (pass organization_id)\n```\n\n---\n\n### `list_recent_messages` (Apex)\n\n**Apex only.** List your most recent DM threads, newest first — each with the\nother person's **name, headline, and profile URL**, a **last-message preview**,\nwhen it was sent, unread count, `chat_id`, and provider id. Triage your inbox\nbefore deciding who to reply to. Read-only.\n\nExamples:\n\n```\n\"Who are my most recent LinkedIn conversations? Anything unread?\"\n\"Show me my latest DM threads so I can decide who to reply to\"\n```\n\n---\n\n### `get_messages_with_person` (Apex)\n\n**Apex only.** Return the conversation with one specific person so you have the\ncontext before replying. Find them **like a human would** — `person` can be just\na **name** (`\"Jane Doe\"`), a provider id (`ACo…`), or a LinkedIn slug; names are\nmatched against your inbox and your leads, and if several people match you get a\nshort list to pick from. Each message includes the text, who sent it (`from_me`),\nand the timestamp, returned **oldest → newest**. Read-only.\n\nExamples:\n\n```\n\"Show me my conversation with Jane Doe\"\n\"What did I last say to that prospect?\"\n```\n\n---\n\n### `feed` (Apex)\n\n**Apex only.** Read your own LinkedIn **home feed** (posts from the people and\npages you follow), normalized into a clean shape: author, headline, post text,\npost URL, and engagement counts. Pair it with the act tools to engage. For the\nlead-magnet discovery firehose, use `discover_lead_magnets` instead. Read-only,\npaginated.\n\n---\n\n### `get_lead_activity` (Apex)\n\n**Apex only.** Everything you know a specific lead did, as one newest-first\ntimeline — clicked a lead-magnet link, submitted their email, got DM'd or replied\nto (by an automation or by you), got a connection request, and so on. Pass the\nlead by id, provider id, slug, or name. Also tells you whether they're on your\ndo-not-engage list, and their **live** connection status (read from the graph\non each call — `connection_status_source: \"live\"`, raw `network_distance`;\nfalls back to the stored value only if the live read fails). Read-only.\n\nExamples:\n\n```\n\"What has Jane Doe done with my lead magnets?\"\n\"Show me everything we know about ACoAAB123's engagement\"\n```\n\n---\n\n### `manage_activity_limits` (Apex)\n\n**Apex only.** Your \"can I act now?\" contract and limit control panel.\n\n* `action: \"get\"` (read-only) returns every channel — DMs, connected &\n  non-connected comment replies, daily & weekly connection requests, and your\n  **InMail credit balance** (`channels.inmail`) — with its `limit`, how much is\n  `used`, how much `remaining`, and a `can_act` flag, plus any active cooldown and\n  the seconds until the next action is paced in. **Check this before a write**\n  instead of discovering a cap by hitting it. The `inmail` channel is read-only —\n  those are paid LinkedIn credits from your plan, not a cap we set.\n* `action: \"pause\"` sets a channel to `0` (emergency brake).\n* `action: \"update\"` changes a cap. **Lowering** applies immediately;\n  **raising** a cap requires admin authority and is staged for the account owner\n  to approve — an agent can never widen its own budget on its own.\n\n**One floor:** `connected_reply` can't be set below your daily DM limit (a below-floor write is refused with `below_dm_floor`) — lower the `dm` channel first if you need connected replies lower or paused.\n\nAll caps are **shared with your automations** and set by the account owner.\n\nExamples:\n\n```\n\"How many DMs do I have left today? Can I send one now?\"\n\"Pause my DMs\"  →  { \"action\": \"pause\", \"channel\": \"dm\" }\n\"Lower my daily connection limit to 30\"\n```\n\n---\n\n### `list_companies`\n\nList the LinkedIn Company Pages you administer (`id` + `name`).\n**Step 0 for any company action** — use the returned `id` as `organization_id`\nwhen posting, commenting, or reacting as a Company Page.\n\nExamples:\n\n```\n\"Which company pages can I post as?\"\n\"List my company pages\"\n```\n\n---\n\n### `comment_as_company`\n\nPost a comment on a LinkedIn post in one of your **Company Pages'** voice\ninstead of your personal profile — useful for amplifying a post as the brand.\nYou must administer the target page. Get the `organization_id` from `list_companies`.\n\nExamples:\n\n```\n\"Comment 'Great breakdown 👏' on that post as our company page\"\n\"Reply to this post as the brand\"\n```\n\n---\n\n### `react_as_company`\n\nLike (or react to) a LinkedIn post as one of your **Company Pages** instead of\nyour personal profile. Defaults to `like`; other reactions: `love`, `celebrate`,\n`support`, `insightful`, `funny`. You must administer the target page.\n\nExamples:\n\n```\n\"Like that post as our company page\"\n\"React 'celebrate' to this announcement as the brand\"\n```\n\n---\n\n### `manage_company_reply_automations` (Apex)\n\n**Apex only.** Reply-only automations for **Company Page posts**: the page auto-replies to comments on its own post (there's no comment-to-DM flow for pages). `action: \"list\"` shows your automations plus today's usage vs. the daily reply cap; `\"create\"` needs `organization_id` (from `list_companies`), `post_id` (from `list_recent_posts` with that `organization_id`), and at least one reply template — optional `keywords` filter which comments trigger a reply (omit to reply to all). `\"pause\"` / `\"resume\"` / `\"edit\"` / `\"delete\"` act on an `automation_id`. Pages reply in plain text — they can't DM or @mention.\n\nExamples:\n\n```\n\"Auto-reply 'Thanks for the kind words!' to comments on our company page's launch post\"\n\"List our company page reply automations and today's usage\"\n\"Pause that company reply automation\"\n```\n\n---\n\n### `search` (Apex)\n\n**Apex only.** Find the LinkedIn people (or companies) you mean — the proactive\n**See** primitive. Pass free-text `keywords` plus optional hints (`location`,\n`industry`, `network_distance`, `followers_min`). People come back decision-ready\n— `name`, `headline`, `location`, `followers_count`, `shared_connections_count`,\n`profile_picture_url`, normalized `network_distance` (1/2/3) — and each is ranked\nwith a transparent `relevance_score` + `match_reasons` so you can see *why* it\nplaced. **Cheap-only by design: it never enriches behind the scenes** (no\n`current_company`/email — call `enrich` on a chosen person to Decide, then\n`comment_on_post` / `send_connection_request` to Act). Set `category` to `people`\n(default) or `companies`. Paginate with the returned `next_cursor`; the response\nalso carries a `rate_limit` block. Read-only.\n\nExamples:\n\n```\n\"Find VP Marketing people at SaaS companies in my 2nd-degree network\"\n\"Search LinkedIn for fintech founders in London with 1k+ followers\"\n```\n\n---\n\n### `list_person_posts` (Apex)\n\n**Apex only.** Pull a person's recent posts so you have something concrete to act\non — this **closes the loop**: `search` (find them) → `enrich` (decide) →\n`list_person_posts` → `comment_on_post` / `react_to_post` (act). Pass `profile` as\nthe `id` or `public_identifier` from `search`/`enrich` (a provider id `ACoA…`, a\nvanity slug, or a full profile URL). Each post's `post_id` is a\n`urn:li:activity:…` that drops straight into the act tools — no id wrangling.\nReturns `text`, `share_url`, `posted_at`, engagement `metrics`, and a `rate_limit`\nblock. Reads as your own connected session; paginate with `next_cursor`. Read-only.\n\nExamples:\n\n```\n\"Pull Jane Doe's last 5 posts and comment on the most recent one\"\n\"What has this prospect posted lately?\"\n```\n\n---\n\n### `get_person_activity` (Apex)\n\n**Apex only.** A person's recent **comments and reactions** — the posts they\nactually engaged with. Available nowhere else — the sharpest \"what does this\nperson care about right now\" signal, so you can open with something specific\ninstead of generic. Pass\n`profile` as the `id` / `public_identifier` from `search`, `enrich`, or\n`list_signals` (provider id, slug, or profile URL); choose `types`\n(`[\"comments\",\"reactions\"]`, default both). Each item carries the engaged-with\npost (`share_url` + `activity_urn`) and its author — feed an `activity_urn` to\n`comment_on_post` / `react_to_post`, or the author to `enrich`. Reads as your own\nconnected session; paginate per type with `comments_cursor` / `reactions_cursor`.\nRead-only.\n\nExamples:\n\n```\n\"What's this prospect been commenting on lately?\"\n\"Show me what jane-doe has reacted to so I can find a hook\"\n```\n\n---\n\n### `list_post_engagers` (Apex)\n\n**Apex only.** Turn any post into a **warm lead list**: everyone who commented,\nreacted, and/or reposted it, deduped into one people list ranked warmest-first\n(more distinct engagements = warmer), each tagged with a `signals[]` of *how*\nthey engaged. Pass `post_id` from `list_person_posts` / `list_recent_posts` (a\nURN, bare id, or post URL) and optionally `types`\n(`[\"comments\",\"reactions\",\"reposts\"]`, default all). Then `enrich` the people you\nlike (decide) and `send_connection_request` / `comment_on_post` (act). Reads as\nyour own connected session; paginate each type with its own `*_cursor`.\nRead-only.\n\nRepost signals cover plain reposts and reposts with commentary (the\nresharer's own text rides along in the signal detail). LinkedIn indexes\nfresh reposts a few minutes after the counter increments, so the list can\nbriefly trail the post's repost count.\n\nExamples:\n\n```\n\"Who engaged with my last post? Build me a lead list.\"\n\"List everyone who commented on this competitor's post\"\n```\n\n---\n\n### `icp_fit` (Pro+ · `post_id` mode Apex)\n\nThe **DECIDE** step: *who here is my ideal customer?* Judges people's **name +\nheadline** against the account's one-line ICP (Settings → Ideal Customer) and\nlabels each `fit` / `adjacent` / `not` with a 0–100 `pct` and a `confidence` —\nthe same judge the Leads page and the automation follow-up gate use.\n\nTwo modes:\n\n* `{ \"post_id\": \"urn:li:activity:…\" }` (**Apex**) — pulls everyone who commented\n  or reacted on the post, dedupes them and judges them all in one call. Each\n  person carries `name`, `headline`, `network_distance`, `signals[]` (how they\n  engaged; comment signals include `comment_id`) and an `id` you can pass to\n  `get_lead_activity` → `send_connection_request` / `send_message`.\n* `{ \"people\": [{ \"id\", \"name\", \"headline\" }] }` (Pro+, ≤100) — judge people you\n  already have from `search`, `list_signals` or `enrich`; ids are echoed back.\n\nOptional `icp` overrides the saved line (≤280 chars). No line saved → `400` with\n`code: \"no_icp\"`. Stateless, read-only.\n\n```\n\"Pull Justin Welsh's latest post, who commented, and who is my ICP?\"\n→ list_person_posts → icp_fit { post_id } → names + fit labels\n```\n\n---\n\n### `discover_lead_magnets` (Apex)\n\n**Apex only.** Fetch fresh lead-magnet posts from the LeadShark Lead Magnet Radar —\na continuously refreshed feed of prospect-rich posts to engage. Each item includes\nthe post (`post_url`/`post_text`/`post_image_url`), creator identity, and engagement\ncounts. Paginate with `cursor`; pass `since=<ISO>` for an only-new-since-last-poll\nfeed. This is the **Discover** step of the agent loop. Read-only.\n\nExamples:\n\n```\n\"Find me fresh lead-magnet posts to comment on today\"\n\"What's new on the radar since yesterday?\"\n```\n\n---\n\n### `list_signals` (Apex)\n\n**Apex only.** List your heat-scored intent signals (hot leads) — who is engaging\nwith you, how hot they are, and why. Each signal includes actor identity,\n`heat_score`, `signal_count`, a `signal_breakdown`, and `top_signals`. Use\n`actor_linkedin_id` / `actor_linkedin_url` to act on a lead. This is the **Signals**\nstep of the agent loop. Read-only.\n\nExamples:\n\n```\n\"Show me my hottest leads right now\"\n\"Who's been engaging with me the most this week?\"\n```\n\n---\n\n### `enrich` (Apex)\n\n**Apex only.** Enrich a LinkedIn person into a structured profile — name, headline,\nlocation, current role & company, work history, links, follower/connection counts,\nand network distance. This is the **Decide** input: LeadShark supplies the data, your\nagent ranks fit and intent itself (pair it with `list_signals`). `profile` is a\nLinkedIn id (`ACoA…`, e.g. the `actor_linkedin_id` from `list_signals`), a public\nidentifier / slug, or a full profile URL. Reads through a cache so repeat lookups are cheap. Read-only.\n\nSet `include_email: true` to also resolve a **work email** — it returns an `email` block with an `email_status`. Email discovery can be async: if `email_status` is `\"pending\"`, call `enrich` again in ~30–60s to pick it up.\n\n> Enrichment runs through your own connected LinkedIn account and is limited to ~250 fresh lookups/day, so reserve it for leads worth pursuing (cache hits don't count).\n\nExamples:\n\n```\n\"Enrich that lead — what's their role and company?\"\n\"Look up jane-doe, include an email, and tell me if she fits our ICP\"\n```\n\n---\n\n### `enrich_company` (Apex)\n\n**Apex only.** Enrich a LinkedIn Company Page into a structured company profile —\nname, description, industry, website, employee count & range, follower count,\nfounded date, organization type, and locations. The company-side **Decide** input:\npair it with `enrich` (person) so your agent can judge account fit. `company` is a\nnumeric LinkedIn company id (`102353837`), a vanity slug (`microsoft`), or a full\ncompany URL (`linkedin.com/company/…`). Reads through a cache so repeat lookups are\ncheap. Read-only.\n\nSet `include_employees: true` to also pull the company's **current employees** via a live people-search (name, headline, location, network distance, profile URL each) — ready to feed into `enrich` and the act tools. Tune the count with `employees_limit` (1–25). Employees are fetched live (not cached).\n\nExamples:\n\n```\n\"Enrich Acme Corp — industry, size, and HQ?\"\n\"Enrich Acme Corp and list 10 current employees I could reach out to\"\n```\n\n---\n\n### `list_lead_pages` (Pro+)\n\n**Pro+.** List your LeadShark **Pages** (lead-magnet / quiz capture pages) with per-page stats — total captured plus the ICP fit / maybe / not breakdown, status, and slug. The entry point for the captured-leads surface: pick a page id here, then call `get_page_leads` to pull the emails it captured. Paginate with `page` / `limit`; filter with `status` (`draft` | `published`). Read-only.\n\nExamples:\n\n```\n\"Which of my capture pages are performing best?\"\n\"List my published lead pages\"\n```\n\n---\n\n### `get_page_leads` (Pro+)\n\n**Pro+.** Pull the captured **email leads** for one Page — the people who submitted their email through it. Each lead comes back deduped and enriched: email, name, phone, country, engagement score, the resolved LinkedIn profile when known, capture source, the originating lead-magnet link (`link.id` / `link.slug` / `link.url`) when known, and captured-at. This is the bridge from a lead magnet to outreach — feed a lead's LinkedIn profile into `enrich` (decide) and `comment_on_post` / `send_connection_request` / `send_message` (act). Get `page_id` from `list_lead_pages`. Read-only.\n\nExamples:\n\n```\n\"Pull the leads my 'SaaS pricing guide' page captured\"\n\"Who submitted their email on that page this week?\"\n```\n\n---\n\n### `manage_lead_pages` (Pro+)\n\n**Pro+.** Create, edit, and publish your LeadShark **Pages** without opening the app. `\"create\"` makes a new draft (or published) Page from a `title`, with an optional email gate (`require_email` + `gate_message` / `gate_button_text`). `\"publish\"` takes an existing draft live (subject to your plan's published-page limit). `\"edit\"` updates the `title`, on-page copy (`page_title` / `page_description`), `status`, or gate on an existing `page_id`. Creating a Page does **not** mint a `leads.sh` link — after publishing, call `manage_lead_magnet_links` (`action: create`, `page_id`) to mint the capture link, then attach it to a post automation. Use `list_lead_pages` to read pages and get a `page_id`.\n\nExamples:\n\n```\n\"Create a gated page for my new guide and publish it\"\n\"Spin up this week's guide page, mint its link, and attach it to a post automation\"\n```\n\n---\n\n### `manage_lead_magnet_links` (Pro+)\n\n**Pro+.** Your standalone lead-magnet links (`leads.sh/<slug>`) — `list`, `create`, and `edit` them so a full post → capture link → automation flow works without opening the app. `\"create\"` mints a new link for a `destination_url`; attach a `page_id` (from `list_lead_pages`) to email-gate it with that Page's settings and quiz. `\"edit\"` changes `destination_url` or `requires_email`, or attaches/detaches a Page. To read the emails a link's Page captured, pass that `page_id` to `get_page_leads`.\n\nExamples:\n\n```\n\"Create a leads.sh link to my guide, gated by my 'SaaS pricing' page\"\n\"List my lead-magnet links\"\n\"Edit that link to require an email\"\n```\n\n---\n\n### `list_actions` (Apex)\n\n**Apex only.** The agent's own **action memory** — the audit trail of governed\nwrites (`comment_on_post`, `react_to_post`, `send_connection_request`,\n`manage_invitations`, and Company-Page actions) this account has run via MCP or\nthe REST API, newest first. Use it to recall what you already did before acting\nagain: dedupe (\"did I already comment on / connect with this person?\"), read why\nsomething was refused (`result` + `refusal_code`), and see what's staged awaiting\nyour approval (`status: \"pending\"`). The response also returns your current\n`active_mode`. Scoped to your own account only — never anyone else's. Read-only;\npaginate with `cursor` (the `created_at` of the last item).\n\nExamples:\n\n```\n\"What have I already done today? Anything refused or still pending approval?\"\n\"Did I already connect with this person?\"\n\"Show everything that got refused this week.\"\n```\n\n---\n\n## Safety by Design\n\nThe MCP server is intentionally conservative.\n\n* New automations always start as Draft\n* Automations cannot be deleted via MCP\n* Scheduled posts can be canceled (requires confirmation)\n* DM volume respects your daily limits\n* Emergency stops require confirmation\n* Every action is logged and attributable\n* Agent writes share the same daily/weekly budgets as your automations, are\n  velocity-paced, and honor your do-not-engage list — call `manage_activity_limits`\n  (`action: \"get\"`) to see remaining budget before acting\n* An agent can tighten or pause its own limits, but **raising** a cap requires\n  admin authority and the account owner's approval\n\n---\n\n## Example Workflows\n\n### Quick Post Automation\n\nGoal: deliver lead magnets with ease.\n\n```\nYou:\n\"Create a draft automation for my latest post.\nTrigger on 'interested' or 'send'.\nReply with 'check your DMs 👀'\nDM them my lead magnet link.\"\n```\n\nResult:\n\n* Draft automation created\n* No messages sent yet\n* Ready for review and activation\n\n---\n\n### Bulk Automation Management\n\n```\nYou:\n\"Pause all my running automations except the OpenClaw post\"\n```\n\nMCP will:\n\n* Inspect all automations\n* Pause the correct set\n* Leave the specified automation running\n\n---\n\n### Scheduled Campaign\n\n```\nYou:\n\"Schedule my new post for 9am tomorrow with full automation.\nKeywords: clawdbot, clawd, openclaw, 🦞.\nDM my calendar link + github gist.\nAuto-like all comments.\"\n```\n\nResult:\n\n* Post is scheduled (with pre-automation details)\n* Automation activates automatically when the post goes live\n* Starts delivering the resource to everyone who comments the keyword\n\n---\n\n### Lead Magnet with Image\n\n```\nYou:\n\"Schedule a post for Monday 9am EST with this infographic: https://cdn.example.com/guide.png\nSet up automation for anyone who comments 'interested' or 'send'.\nDM them my ebook link and enable auto-connect.\"\n```\n\nResult:\n\n* Post scheduled with image attached\n* Image downloaded and stored securely\n* Automation pre-configured (activates when post goes live)\n* Lead magnet infographic will publish with the post\n\n---\n\n## Environment Variables\n\n| Variable            | Required | Default                     | Description                                 |\n| ------------------- | -------- | --------------------------- | ------------------------------------------- |\n| `LEADSHARK_API_KEY` | Yes      | —                           | Your LeadShark API key |\n| `LEADSHARK_API_URL` | No       | `https://apex.leadshark.io` | API base URL                                |\n\n---\n\n## Rate Limits\n\n* **100 requests/minute** burst\n* **250 requests/hour** hourly limit\n* **6000 requests/day** daily limit\n* If getting 429 (rate-limit) errors, fallback exponentially.\n\n---\n\n## Error Handling\n\nWhen things go wrong, you'll get a clean JSON error response:\n\n```json\n{\n  \"error\": \"Failed to fetch LinkedIn posts\",\n  \"details\": \"Unable to retrieve post data from LinkedIn\"\n}\n```\n\nCommon errors:\n- **401 Unauthorized** - Invalid or expired API key\n- **429 Too Many Requests** - Rate limit exceeded\n- **502 Bad Gateway** - LinkedIn data temporarily unavailable\n- **500 Internal Server Error** - Server-side issue\n\n---\n\n## Support\n\n* MCP Docs: [https://apex.leadshark.io/docs/mcp](https://apex.leadshark.io/docs/mcp)\n* API Docs: [https://apex.leadshark.io/docs/api](https://apex.leadshark.io/docs/api)\n* Support: [info@leadshark.io](mailto:info@leadshark.io)\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}