Webbsurfning (Lightpanda MCP v1.0)
Översikt
Denna färdighet ger dig tillgång till 12 verktyg för webbsurfning, sökning och datautvinning via Lightpanda headless browser med full JavaScript-rendering. Fungerar med SPA:er (Single Page Applications) och dynamiska sidor.
Kräver ingen API-nyckel — Lightpanda är gratis och open source.
Varje verktygsanrop startar en ny isolerad webbläsarsession. Det finns ingen delad state mellan anrop — alla verktyg tar en url-parameter som anger vilken sida de opererar på.
Tillgängliga MCP-verktyg
Navigation
| Verktyg | Beskrivning |
|---|---|
lightpanda_goto |
Navigera till en URL — returnerar titel och URL |
lightpanda_search |
Sök på webben via DuckDuckGo |
Innehåll
| Verktyg | Beskrivning |
|---|---|
lightpanda_markdown |
Hämta sidinnehåll som Markdown (max 8192 tecken) |
lightpanda_links |
Hämta alla länkar på en sida |
lightpanda_get_text |
Hämta text från specifikt element via CSS-selektor |
Interaktion
| Verktyg | Beskrivning |
|---|---|
lightpanda_click |
Klicka på element via CSS-selektor |
lightpanda_fill_form |
Fyll i formulärfält |
lightpanda_wait_for |
Vänta på att element dyker upp (dynamiskt innehåll) |
Avancerat
| Verktyg | Beskrivning |
|---|---|
lightpanda_execute_js |
Kör godtycklig JavaScript på sidan |
lightpanda_extract_data |
Extrahera strukturerad data via CSS-selektorer |
lightpanda_fetch_api |
Hämta API-data via webbläsarens fetch() (kringgår CORS) |
Output
| Verktyg | Beskrivning |
|---|---|
lightpanda_screenshot |
Ta screenshot av sida (om Lightpanda stödjer det) |
Arbetsflöde
Söka och läsa en webbsida
lightpanda_search(query="sökfråga")→ sökresultat med URL:erlightpanda_markdown(url="bästa-resultatet-url")→ sidinnehåll som Markdown
Hämta innehållet på en specifik URL
lightpanda_markdown(url="https://example.com")→ Markdown-innehåll
Extrahera specifik text från en sida
lightpanda_get_text(url="https://example.com", selector=".article-body")→ textinnehåll
Extrahera strukturerad data
lightpanda_extract_data(url="https://example.com/products", selector=".product-card", attributes=["href", "title"])→ strukturerad data i JSON
Klicka och läsa resultat (kräver 2 anrop)
lightpanda_click(url="https://example.com", selector=".show-more")→ klickalightpanda_get_text(url="https://example.com", selector=".expanded-content")→ läs resultat
OBS: Klick-effekter som kräver JavaScript-state (t.ex. "visa mer"-knappar) bevaras INTE mellan anrop. Använd lightpanda_execute_js för att klicka + läsa i samma session:
lightpanda_execute_js(url="https://example.com", expression="document.querySelector('.show-more').click(); document.querySelector('.expanded-content').textContent")
Hämta API-data
lightpanda_fetch_api(url="https://api.example.com/data", method="GET")→ JSON-svar
KRITISKA REGLER
- Alla verktyg tar
url— ange alltid vilken sida verktyget ska operera på - Max 4 verktygsanrop per fråga — planera noggrant
- Om ett verktyg misslyckas — försök INTE igen. Svara med vad du har
- URL:er måste inkludera schema —
https://example.com(inteexample.com) - Kan INTE nå sidor bakom inloggning — informera användaren
- Använd EXAKTA URL:er — gissa aldrig URL:er, använd sökresultat
- Ange källa — inkludera URL till källa i svaret
Felsökning
- "Lightpanda webbläsare är inte tillgänglig" — Starta med:
docker run -d -p 9222:9222 lightpanda/browser:nightly - "Could not connect" — Kontrollera att LIGHTPANDA_CDP_URL pekar rätt (standard:
ws://localhost:9222) - Tom respons — Sidan kan kräva autentisering eller blockera headless browsers
- Timeout — Sidan tar för lång tid att ladda. Prova enklare URL
- "Element ej hittat" — Kontrollera CSS-selektorn. Använd
lightpanda_execute_jsmeddocument.querySelectorAll()för att utforska DOM