{"_id":"@aigne/example-puppeteer-mcp-server","_rev":"7-830ee4eb71ab8f596257d64dfa506728","name":"@aigne/example-puppeteer-mcp-server","dist-tags":{"latest":"1.1.0-beta.7"},"versions":{"1.1.0-beta.2":{"name":"@aigne/example-puppeteer-mcp-server","version":"1.1.0-beta.2","author":"","license":"ISC","_id":"@aigne/example-puppeteer-mcp-server@1.1.0-beta.2","maintainers":[{"name":"li-yechao","email":"liyechao@yechao.xyz"},{"name":"wangshijun","email":"shijun@arcblock.io"}],"bin":{"example-puppeteer-mcp-server":"index.ts"},"dist":{"shasum":"53ce83d92440e72e62737be78e29e1d77a20fdea","tarball":"https://registry.npmjs.org/@aigne/example-puppeteer-mcp-server/-/example-puppeteer-mcp-server-1.1.0-beta.2.tgz","fileCount":5,"integrity":"sha512-nMwrDUNo+ILnex68tV/rA/B5mjjQsM6lyGHGkhdavYUzYJfngtxg9ybAunVUUSEBrJcUKwHZHzBxLiySYJbkJA==","signatures":[{"sig":"MEUCIQDIll5kdE5zxUyorK9szShG634tNlKrdePVApx+D6g5zwIgYMBFxRN8fdq0+Gtv4PtkLl8SuSPoRbY1ojAOWfR+mjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3511},"main":"index.js","_from":"file:aigne-example-puppeteer-mcp-server-1.1.0-beta.2.tgz","scripts":{"start":"npx -y bun run index.ts"},"_npmUser":{"name":"li-yechao","email":"liyechao@yechao.xyz"},"_resolved":"/tmp/72cfcc8d659c80f2fdbd6399c71b8fe0/aigne-example-puppeteer-mcp-server-1.1.0-beta.2.tgz","_integrity":"sha512-nMwrDUNo+ILnex68tV/rA/B5mjjQsM6lyGHGkhdavYUzYJfngtxg9ybAunVUUSEBrJcUKwHZHzBxLiySYJbkJA==","_npmVersion":"10.8.2","description":"A collection of example agents demonstrating the capabilities of the Aigne framework.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"zod":"^3.24.2","@aigne/core":"^1.1.0-beta.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/example-puppeteer-mcp-server_1.1.0-beta.2_1741687063564_0.4456922684972455","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.3":{"name":"@aigne/example-puppeteer-mcp-server","version":"1.1.0-beta.3","author":"","license":"ISC","_id":"@aigne/example-puppeteer-mcp-server@1.1.0-beta.3","maintainers":[{"name":"li-yechao","email":"liyechao@yechao.xyz"},{"name":"wangshijun","email":"shijun@arcblock.io"}],"bin":{"example-puppeteer-mcp-server":"index.ts"},"dist":{"shasum":"08758880de1c6335eb4835a3ab3e86f17d07c6c8","tarball":"https://registry.npmjs.org/@aigne/example-puppeteer-mcp-server/-/example-puppeteer-mcp-server-1.1.0-beta.3.tgz","fileCount":4,"integrity":"sha512-+J1lw/E1aJ/vukymnyZcJHjiYc7kXV84tHGIDvUV5ABlfN1mT5bb3ipsfd3Y8RPiIcA+HYYxUXRFw+kLDuLZTw==","signatures":[{"sig":"MEUCIQD8rJ5O6bA51IWsHH63k3lyFOfQCuFgMjip+J+h5De/pgIgLu4E5doNluScytWeNQN+tCFKfuBegHDEQqwsxILYKxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3436},"main":"index.js","_from":"file:aigne-example-puppeteer-mcp-server-1.1.0-beta.3.tgz","scripts":{"start":"npx -y bun run index.ts"},"_npmUser":{"name":"li-yechao","email":"liyechao@yechao.xyz"},"_resolved":"/tmp/9dc9eb5d3b3bdca4975ba743864c261d/aigne-example-puppeteer-mcp-server-1.1.0-beta.3.tgz","_integrity":"sha512-+J1lw/E1aJ/vukymnyZcJHjiYc7kXV84tHGIDvUV5ABlfN1mT5bb3ipsfd3Y8RPiIcA+HYYxUXRFw+kLDuLZTw==","_npmVersion":"10.8.2","description":"A collection of example agents demonstrating the capabilities of the Aigne framework.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"zod":"^3.24.2","@aigne/core":"^1.1.0-beta.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/example-puppeteer-mcp-server_1.1.0-beta.3_1741688480341_0.4149105829435469","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.4":{"name":"@aigne/example-puppeteer-mcp-server","version":"1.1.0-beta.4","author":"","license":"ISC","_id":"@aigne/example-puppeteer-mcp-server@1.1.0-beta.4","maintainers":[{"name":"li-yechao","email":"liyechao@yechao.xyz"},{"name":"wangshijun","email":"shijun@arcblock.io"}],"bin":{"example-puppeteer-mcp-server":"index.ts"},"dist":{"shasum":"beb54081aa9b2a92ee1f0a38016716e0a6872d1d","tarball":"https://registry.npmjs.org/@aigne/example-puppeteer-mcp-server/-/example-puppeteer-mcp-server-1.1.0-beta.4.tgz","fileCount":5,"integrity":"sha512-Mp/L3lKcIEgtMVIoMEKlkkD7grUlQUNhn/IdN5k2kUw6fkbpk5AumusI9c1DEwywfvET4O/tSnKvONeYqp/wLg==","signatures":[{"sig":"MEUCIA/Wv+2OlfBJLiwpy7UvwE4tUakTyezYrSAlPUahpq/2AiEAn4viUk4vr5gfW3QvsOSZh26Bvc4RrnPhIg1yeOfPZ/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3750},"main":"index.js","_from":"file:aigne-example-puppeteer-mcp-server-1.1.0-beta.4.tgz","scripts":{"start":"npx -y bun run index.ts"},"_npmUser":{"name":"li-yechao","email":"liyechao@yechao.xyz"},"_resolved":"/tmp/ef1b7cfe879c67a1043df3651ff97f0b/aigne-example-puppeteer-mcp-server-1.1.0-beta.4.tgz","_integrity":"sha512-Mp/L3lKcIEgtMVIoMEKlkkD7grUlQUNhn/IdN5k2kUw6fkbpk5AumusI9c1DEwywfvET4O/tSnKvONeYqp/wLg==","_npmVersion":"10.8.2","description":"A collection of example agents demonstrating the capabilities of the Aigne framework.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"zod":"^3.24.2","@aigne/core":"^1.1.0-beta.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/example-puppeteer-mcp-server_1.1.0-beta.4_1741711521515_0.14384257448231663","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.5":{"name":"@aigne/example-puppeteer-mcp-server","version":"1.1.0-beta.5","author":"","license":"ISC","_id":"@aigne/example-puppeteer-mcp-server@1.1.0-beta.5","maintainers":[{"name":"li-yechao","email":"liyechao@yechao.xyz"},{"name":"wangshijun","email":"shijun@arcblock.io"}],"bin":{"example-puppeteer-mcp-server":"index.ts"},"dist":{"shasum":"3f2b23d2e6f524af701934311ef5893f21ebe1c3","tarball":"https://registry.npmjs.org/@aigne/example-puppeteer-mcp-server/-/example-puppeteer-mcp-server-1.1.0-beta.5.tgz","fileCount":6,"integrity":"sha512-fznvZLw3y0C/0uK/mCqWkG0/T3laPN11ENm9cyNqD+Z1EdDS5P1K007IFLLouSHzRcWIZ66VL02oYY8CArDUdw==","signatures":[{"sig":"MEQCIA0QO/spEnO9EB+xgqXqg4Gy/sjxmCqGhUxtXkDVPoPkAiAFbolwS2adImoQMEZ6ygBngBgM40M+cjXqxl9+kD0r8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4736},"main":"index.js","_from":"file:aigne-example-puppeteer-mcp-server-1.1.0-beta.5.tgz","scripts":{"start":"npx -y bun run index.ts"},"_npmUser":{"name":"li-yechao","email":"liyechao@yechao.xyz"},"_resolved":"/tmp/e79b2da7129ad15d3df62c7fec6df9ca/aigne-example-puppeteer-mcp-server-1.1.0-beta.5.tgz","_integrity":"sha512-fznvZLw3y0C/0uK/mCqWkG0/T3laPN11ENm9cyNqD+Z1EdDS5P1K007IFLLouSHzRcWIZ66VL02oYY8CArDUdw==","_npmVersion":"10.8.2","description":"A demonstration of using AIGNE Framework and Puppeteer MCP Server to extract content from websites using Puppeteer","directories":{},"_nodeVersion":"20.18.3","dependencies":{"zod":"^3.24.2","@aigne/core":"^1.1.0-beta.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/example-puppeteer-mcp-server_1.1.0-beta.5_1741797280190_0.5281820791983476","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.6":{"name":"@aigne/example-puppeteer-mcp-server","version":"1.1.0-beta.6","author":"","license":"ISC","_id":"@aigne/example-puppeteer-mcp-server@1.1.0-beta.6","maintainers":[{"name":"li-yechao","email":"liyechao@yechao.xyz"},{"name":"wangshijun","email":"shijun@arcblock.io"}],"bin":{"example-puppeteer-mcp-server":"index.ts"},"dist":{"shasum":"705764b9cdc2b06769592fc7533e9d7fc6462c1e","tarball":"https://registry.npmjs.org/@aigne/example-puppeteer-mcp-server/-/example-puppeteer-mcp-server-1.1.0-beta.6.tgz","fileCount":5,"integrity":"sha512-vcLLRj/tflFzOyFgB9vhDl8KYUtm6XenCWKkYjb/+3KHT/bDIfPwDFKNFd6j/Qopzd1esrZnhfIg1GY2MKwN9A==","signatures":[{"sig":"MEUCIG64c+u6GXjAIPD+cZ7Bn9DQVkXMynvYi34YRJm/K03AAiEAvrgirUXMgYlxZ6jD/196/swAwaIgXwzI2MQAEn+lT1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4785},"main":"index.js","_from":"file:aigne-example-puppeteer-mcp-server-1.1.0-beta.6.tgz","scripts":{"start":"npx -y bun run index.ts"},"_npmUser":{"name":"li-yechao","email":"liyechao@yechao.xyz"},"_resolved":"/tmp/5516ffd38f12d1613554b3c9bbb06582/aigne-example-puppeteer-mcp-server-1.1.0-beta.6.tgz","_integrity":"sha512-vcLLRj/tflFzOyFgB9vhDl8KYUtm6XenCWKkYjb/+3KHT/bDIfPwDFKNFd6j/Qopzd1esrZnhfIg1GY2MKwN9A==","_npmVersion":"10.8.2","description":"A demonstration of using AIGNE Framework and Puppeteer MCP Server to extract content from websites using Puppeteer","directories":{},"_nodeVersion":"20.18.3","dependencies":{"zod":"^3.24.2","@aigne/core":"^1.1.0-beta.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/example-puppeteer-mcp-server_1.1.0-beta.6_1741799063007_0.9713620248499464","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.7":{"name":"@aigne/example-puppeteer-mcp-server","version":"1.1.0-beta.7","author":{"name":"Arcblock","email":"blocklet@arcblock.io"},"license":"ISC","_id":"@aigne/example-puppeteer-mcp-server@1.1.0-beta.7","maintainers":[{"name":"li-yechao","email":"liyechao@yechao.xyz"},{"name":"wangshijun","email":"shijun@arcblock.io"}],"homepage":"https://github.com/AIGNE-io/aigne-framework/tree/main/examples/puppeteer-mcp-server","bugs":{"url":"https://github.com/AIGNE-io/aigne-framework/issues"},"bin":{"example-puppeteer-mcp-server":"index.ts"},"dist":{"shasum":"36941ae0ea4d0d639297c8448bef7677ca6fea3e","tarball":"https://registry.npmjs.org/@aigne/example-puppeteer-mcp-server/-/example-puppeteer-mcp-server-1.1.0-beta.7.tgz","fileCount":5,"integrity":"sha512-f4eugiGO57+PcjEY9BsuHUzdiEpi3vDUgJBWBYZL2oaevZsdru9RPdurBbTI9QLEEEygheToKEqJBpmHrhJklw==","signatures":[{"sig":"MEUCIDvCFyNkilLTTJy3gFnD6QbM4l1TQEil7CVTdkaAGtUSAiEA+/BMx7NVBBiev9GCCrEyIKxmC8Sir9vug1dSgFFlifY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5115},"_from":"file:aigne-example-puppeteer-mcp-server-1.1.0-beta.7.tgz","scripts":{"start":"npx -y bun run index.ts"},"_npmUser":{"name":"li-yechao","email":"liyechao@yechao.xyz"},"_resolved":"/tmp/f112362ad75d87a283fec0b9feb8b5be/aigne-example-puppeteer-mcp-server-1.1.0-beta.7.tgz","_integrity":"sha512-f4eugiGO57+PcjEY9BsuHUzdiEpi3vDUgJBWBYZL2oaevZsdru9RPdurBbTI9QLEEEygheToKEqJBpmHrhJklw==","repository":{"url":"git+https://github.com/AIGNE-io/aigne-framework.git","type":"git"},"_npmVersion":"10.8.2","description":"A demonstration of using AIGNE Framework and Puppeteer MCP Server to extract content from websites using Puppeteer","directories":{},"_nodeVersion":"20.18.3","dependencies":{"zod":"^3.24.2","@aigne/core-next":"^1.1.0-beta.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/example-puppeteer-mcp-server_1.1.0-beta.7_1741839171654_0.5278676984065289","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-03-11T09:57:43.457Z","modified":"2026-01-21T06:21:17.031Z","1.1.0-beta.2":"2025-03-11T09:57:43.737Z","1.1.0-beta.3":"2025-03-11T10:21:20.495Z","1.1.0-beta.4":"2025-03-11T16:45:21.718Z","1.1.0-beta.5":"2025-03-12T16:34:40.386Z","1.1.0-beta.6":"2025-03-12T17:04:23.242Z","1.1.0-beta.7":"2025-03-13T04:12:51.830Z"},"bugs":{"url":"https://github.com/AIGNE-io/aigne-framework/issues"},"author":{"name":"Arcblock","email":"blocklet@arcblock.io"},"license":"ISC","homepage":"https://github.com/AIGNE-io/aigne-framework/tree/main/examples/puppeteer-mcp-server","repository":{"url":"git+https://github.com/AIGNE-io/aigne-framework.git","type":"git"},"description":"A demonstration of using AIGNE Framework and Puppeteer MCP Server to extract content from websites using Puppeteer","maintainers":[{"email":"liyechao@yechao.xyz","name":"li-yechao"},{"email":"shijun@arcblock.io","name":"wangshijun"},{"email":"rob@arcblock.io","name":"mave99a"}],"readme":"# Puppeteer MCP Server Demo\n\nThis is a demonstration of using [AIGNE Framework](https://github.com/AIGNE-io/aigne-framework) and [Puppeteer MCP Server](https://github.com/modelcontextprotocol/servers/tree/8bd41eb0b3cf48aea0d1fe5b6c7029736092dcb1/src/puppeteer) to extract content from websites using Puppeteer.\n\n## Prerequisites\n\n- [Node.js](https://nodejs.org) and npm installed on your machine\n- [OpenAI API key](https://platform.openai.com/api-keys) used to interact with OpenAI API\n- [Pnpm](https://pnpm.io) [Optional] if you want to run the example from source code\n\n## Try without Installation\n\n```bash\nOPENAI_API_KEY=YOUR_OPENAI_API_KEY # setup your OpenAI API key\n\nnpx -y @aigne/example-puppeteer-mcp-server # run the example\n```\n\n## Installation\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/AIGNE-io/aigne-framework\n```\n\n### Install Dependencies\n\n```bash\ncd aigne-framework/examples/puppeteer-mcp-server\n\npnpm install\n```\n\n### Setup Environment Variables\n\nSetup your OpenAI API key in the `.env.local` file:\n\n```bash\nOPENAI_API_KEY=\"\" # setup your OpenAI API key here\n```\n\n### Run the Example\n\n```bash\npnpm start\n```\n\n## Example\n\nThe following example demonstrates how to extract content from a website:\n\n```typescript\nimport {\n  AIAgent,\n  ChatModelOpenAI,\n  ExecutionEngine,\n  MCPAgent,\n} from \"@aigne/core-next\";\n\nconst model = new ChatModelOpenAI({\n  apiKey: process.env.OPENAI_API_KEY,\n});\n\nconst puppeteerMCPAgent = await MCPAgent.from({\n  command: \"npx\",\n  args: [\"-y\", \"@modelcontextprotocol/server-puppeteer\"],\n});\n\nconst engine = new ExecutionEngine({\n  model,\n  tools: [puppeteerMCPAgent],\n});\n\nconst agent = AIAgent.from({\n  instructions: `\\\n## Steps to extract content from a website\n1. navigate to the url\n2. evaluate document.body.innerText to get the content\n`,\n});\n\nconst result = await engine.run(\n  \"extract content from https://www.arcblock.io\",\n  agent\n);\n\nconsole.log(result);\n// output:\n// {\n//   text: \"The content extracted from the website [ArcBlock](https://www.arcblock.io) is as follows:\\n\\n---\\n\\n**Redefining Software Architect and Ecosystems**\\n\\nA total solution for building decentralized applications ...\",\n// }\n\nawait engine.shutdown();\n```\n\n## License\n\nThis project is licensed under the MIT License.\n","readmeFilename":"README.md"}