{"_id":"@arlotv/mcp","name":"@arlotv/mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@arlotv/mcp","version":"0.1.0","description":"TypeScript client SDK for the Arlo MCP server","license":"MIT","type":"module","engines":{"node":">=18"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^4.0.0"},"_id":"@arlotv/mcp@0.1.0","gitHead":"1b46362cb2ea5337381a5cfd72270596e0d5df43","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-rMohPufTD2gimqg9d0RoHuC1czfhVRxRmGgnIZohNnPDmpcNnXcNPPqAqNdHORW+sWcjxro+5y918CW6JYgPCw==","shasum":"9eb8dbf35a9d8a99c60219ebe291a65b0666648a","tarball":"https://registry.npmjs.org/@arlotv/mcp/-/mcp-0.1.0.tgz","fileCount":10,"unpackedSize":15031,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC/8T29s1hCc6LfSYZ2rSOGFq+Yh28ccnWy9tWzRvZ8hgIhAMeK/MaS0k895jAXfyZjfstw/vU/EwqhXiTgw7PZRYsJ"}]},"_npmUser":{"name":"jojopas1971!","email":"joepas@gmail.com"},"directories":{},"maintainers":[{"name":"jojopas1971!","email":"joepas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.1.0_1783364943061_0.10471165828915674"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-06T19:09:02.881Z","0.1.0":"2026-07-06T19:09:03.207Z","modified":"2026-07-06T19:09:03.466Z"},"maintainers":[{"name":"jojopas1971!","email":"joepas@gmail.com"}],"description":"TypeScript client SDK for the Arlo MCP server","license":"MIT","readme":"# @arlotv/mcp\n\nTypeScript client SDK for the **Arlo MCP server** — discovery, where-to-watch, and\nrecommendation tools for the Arlo content engine.\n\n> **Server-side only.** Your `ARLO_API_KEY` is a secret. Never ship this SDK or your\n> key to a browser or mobile app.\n\n## Install\n\n```bash\nnpm install @arlotv/mcp\n```\n\n## Quickstart\n\n```ts\nimport { ArloMcp, isToolError } from '@arlotv/mcp';\n\nconst arlo = new ArloMcp({ apiKey: process.env.ARLO_API_KEY! });\n\nconst picks = await arlo.discover({ query: 'something calm for a rainy night', top_k: 3 });\nif (isToolError(picks)) {\n  console.error('tool error:', picks.content);\n} else {\n  console.log(picks.content);\n}\n\nawait arlo.close();\n```\n\n## Tools\n\n`discover`, `ask`, `whereToWatch`, `similarTo`, `searchTitles`, `getEnrichment`,\n`getTopCharts`, `recommendForMood`, `listClients`. Each takes a typed input object;\nsee the exported `*Input` types.\n\nNeed a tool not listed here? Use the escape hatch:\n\n```ts\nconst r = await arlo.callTool('some_new_tool', { foo: 'bar' });\n```\n\n## Errors\n\nTransport/auth failures **throw**. Tool-level failures return a result with\n`isError: true` — check with `isToolError(result)`.\n\n## Config\n\n`new ArloMcp({ apiKey, baseUrl? })` — `baseUrl` defaults to `https://api.arlotv.ai/mcp`.\n","readmeFilename":"README.md","_rev":"1-8d1faba24c549e0471f462badb6d9786"}