|
--- |
|
title: Fake App Scraper |
|
emoji: π |
|
colorFrom: green |
|
colorTo: pink |
|
sdk: docker |
|
app_file: app.py |
|
pinned: false |
|
license: mit |
|
short_description: uses playwright to scrape a fake app hosted on vercel |
|
tags: ["mcp-server-track"] |
|
--- |
|
|
|
## EDIT: post deadline modification |
|
following a discussion with **abubakar** on discord I added a feature that check whether a token is given by a user (UI version) or via request header (mcp version). This allows to experiment in the UI whereas the pre-deadline version only allowed for mcp use as was describe in the pre-deadline README. |
|
Also README was edited after deadline to fix the tag->tags issue. |
|
|
|
The last commit before deadline was a199b381ac05f2e732e3de120e24711567949a3a |
|
|
|
## Fake app scraper |
|
|
|
link to test video with Claude https://youtu.be/WhLegRIdpRo |
|
|
|
|
|
<div style="font-family: sans-serif; line-height: 1.6;"> |
|
<p> |
|
This app uses Playwright to log in and scrape the content of the dashboard of the fake app |
|
<a href="https://fake-app-omega.vercel.app" target="_blank">fake-app-omega.vercel.app</a>. |
|
</p> |
|
<p> |
|
The url, username and password to log in to the fake-app dashboard are embedded in the token provided by the user for UI use or passed to the mcp-server via a token in the request header. |
|
</p> |
|
<p> |
|
You can test the mcp-server tools in Claude desktop using the following mcp-server config |
|
</p> |
|
</div> |
|
|
|
Claude config |
|
```json |
|
{ |
|
"mcpServers": { |
|
"gradio": { |
|
"command": "npx", |
|
"args": [ |
|
"mcp-remote", |
|
"https://agents-mcp-hackathon-fake-app-scraper.hf.space/gradio_api/mcp/sse", |
|
"--header", |
|
"token:aHR0cHM6Ly9mYWtlLWFwcC1vbWVnYS52ZXJjZWwuYXBwL2xvZ2luPHNlcD5ncmFkaW88c2VwPm1jcA==", |
|
], |
|
} |
|
} |
|
} |
|
``` |
|
|
|
<div style="font-family: sans-serif; line-height: 1.6;"> |
|
<p>Fake App</p> |
|
<img src="login.png" alt="login" style="max-width: 35%; margin-right: 10px;" /> |
|
<img src="dashboard.png" alt="dashboard" style="max-width: 35%;" /> |
|
</div> |