{"_id":"@avavilov/yandex-browser-control","name":"@avavilov/yandex-browser-control","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@avavilov/yandex-browser-control","description":"Control Yandex browser tabs, windows, and navigation","keywords":["yandex","browser","automation","mcp"],"version":"0.0.1","main":"dist/index.js","types":"dist/index.d.ts","type":"module","scripts":{"dev":"tsx src/index.ts","build":"tsc -p tsconfig.json","lint":"eslint --fix .","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","pack":"node ./scripts/pack.mjs","version:up":"node ./scripts/version-up.mjs minor","version:patch":"node ./scripts/version-up.mjs patch","version:minor":"node ./scripts/version-up.mjs minor","version:major":"node ./scripts/version-up.mjs major","prepublishOnly":"npm run lint && npm run typecheck && npm run build","prepare":"npm run build","preversion":"npm run lint && npm run typecheck","postversion":"git push && git push --tags","release:patch":"npm version patch && npm publish --access public","release:minor":"npm version minor && npm publish --access public","release:major":"npm version major && npm publish --access public"},"author":{"name":"Andrey Vavilov","email":"a@vavilov.dev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/harmonyjs/yandex-browser-control.git"},"bugs":{"url":"https://github.com/harmonyjs/yandex-browser-control/issues"},"homepage":"https://github.com/harmonyjs/yandex-browser-control#readme","publishConfig":{"access":"public"},"devDependencies":{"@eslint/js":"9.34.0","@types/node":"24.3.0","eslint":"9.34.0","eslint-plugin-n":"17.21.3","eslint-plugin-unicorn":"60.0.0","globals":"16.3.0","tsx":"4.20.5","typescript":"5.9.2","typescript-eslint":"8.40.0"},"dependencies":{"@modelcontextprotocol/sdk":"1.17.4","pino":"9.3.2","zod":"3.23.8"},"_id":"@avavilov/yandex-browser-control@0.0.1","gitHead":"f3f5d009cd11f327e61cad0cfb830dd75c353c4d","_nodeVersion":"22.6.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Ffic5jAvsvA5JYOzGrFfywMlJ2Fl192x88wzCM/aNtyoTG9TNE0lmen0uPm3sA2d5AnHIqxqT+aXa8c5AlW7dQ==","shasum":"a0a057770904a5f0acb48202c16eb0ea3e7da50c","tarball":"https://registry.npmjs.org/@avavilov/yandex-browser-control/-/yandex-browser-control-0.0.1.tgz","fileCount":42,"unpackedSize":29099,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCGkTjoTjZoO5UhCZxGOppKkIxfZAXdFb4xmiGebgecEgIgY2Ipxo2zpud1IQy6x7eYDuEl4GVi7XVHccYJGYLfWZw="}]},"_npmUser":{"name":"ikeanu","email":"a@vavilov.dev"},"directories":{},"maintainers":[{"name":"ikeanu","email":"a@vavilov.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/yandex-browser-control_0.0.1_1756151203857_0.6746156167253423"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-25T19:46:43.739Z","0.0.1":"2025-08-25T19:46:44.084Z","modified":"2025-08-25T19:46:44.364Z"},"maintainers":[{"name":"ikeanu","email":"a@vavilov.dev"}],"description":"Control Yandex browser tabs, windows, and navigation","homepage":"https://github.com/harmonyjs/yandex-browser-control#readme","keywords":["yandex","browser","automation","mcp"],"repository":{"type":"git","url":"git+https://github.com/harmonyjs/yandex-browser-control.git"},"author":{"name":"Andrey Vavilov","email":"a@vavilov.dev"},"bugs":{"url":"https://github.com/harmonyjs/yandex-browser-control/issues"},"license":"MIT","readme":"# Yandex Browser Control\n\nAn MCP server for controlling Yandex Browser. You can connect it to Claude Desktop (or any MCP-capable host) to manage tabs, windows, and navigation.\n\n### Installation\n\nTo use as an npm package:\n\n```bash\nnpm install @avavilov/yandex-browser-control\n```\n\nOr use as a Claude Desktop MCP server:\n\n- If distributed via the Claude Desktop Extensions catalog: open Claude Desktop → Extensions and install \"Yandex Browser Control\" (when available).\n- For local development today: add it as a custom MCP server in Claude Desktop.\n\t- Build or run from source (see Development below).\n\t- In Claude Desktop, go to Settings → Extensions → Model Context Protocol → Add server (Command), and point it to either:\n\t\t- Dev: run command `npm run dev` in this repository directory\n\t\t- Prod: run command `node dist/index.js` in this repository directory\n\n### Usage\n\nOnce connected, you can control Yandex Browser directly through Claude Desktop.\n\n### Logging\n\n- All logs are emitted to stderr only (never stdout) to comply with MCP over stdio.\n- In addition, logs are duplicated to a temp file. The absolute path to this file is printed to stderr on startup, for example:\n\n```\nlogging to file: /var/folders/…/yandex-browser-control.log.12345\n```\n\nYou can control verbosity with the `LOG_LEVEL` env variable (default: `info`).\n\n### Contributing\n\nSee [contributing.md](./contributing.md) for development, build, and code quality instructions.\n\n### Project Structure\n\n-   `src/` — TypeScript source code for the server.\n-   `dist/` — Compiled JavaScript output (generated on build).\n-   `src/tools/` — MCP tools, one directory per tool with an `index.ts` that exports metadata, input schema (when needed), handler, and types.\n\n### Tools\n\n- Each tool lives in `src/tools/<tool-name>/index.ts` and should export:\n  - `name` and `description` strings\n  - `inputSchema` (Zod raw shape) when the tool takes parameters; omit `inputSchema` entirely for no-arg tools\n  - `handler` function returning `{ content: [{ type: 'text', text: string }] }` or structured content\n  - any `types` (e.g., `Input`, `Output`)\n- Register all tools in `src/tools/index.ts` via `registerTools(server)`, which is invoked from `src/index.ts`.\n\n### License\n\nMIT\n\n","readmeFilename":"README.md","_rev":"1-c1408d63697f54b186894630aa7e04ba"}