MCP-URL2SNAP
MCP URL2SNAP 🚀🤖
LLM이 지정된 URL의 스크린샷을 캡처하고 캡처된 이미지의 액세스 URL만 반환할 수 있도록 하는 경량 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 도구는 웹페이지 스냅샷 생성 및 공유 프로세스를 간소화하여 Claude Desktop이나 자동화 워크플로와 같은 AI 애플리케이션에 시각적 캡처 기능을 통합하는 데 적합합니다.
모델 컨텍스트 프로토콜(MCP)이란 무엇입니까?
MCP는 본질적으로 AI 모델과 외부 시스템 간의 통신을 간소화하도록 설계된 표준화된 프로토콜입니다. 다양한 AI 에이전트, 도구 및 서비스가 원활하게 상호 작용할 수 있도록 하는 범용 언어로 생각하면 됩니다.
특징
이메일 확인 : 실시간으로 이메일 주소를 확인하세요.
MCP 통합 : MCP 호환 LLM과 원활하게 연결합니다.
간편한 설정 : Python과 MCP SDK로 구축되어 빠르게 배포할 수 있습니다.
MCP는 클라이언트-서버 아키텍처를 따릅니다.
데모 보기
아래 이미지를 클릭하면 MCP 이메일 확인 도구가 실제로 작동하는 모습을 보여주는 비디오 데모를 볼 수 있습니다.
Related MCP server: SnapAPI MCP Server
요구 사항
Python : Python 3.11.0 이상.
UV : 0.6.9 이상.
설정
1. 저장소 복제
지엑스피1
2. UV 설치
UV가 설치되어 있지 않으면 다음 명령을 사용하여 설치할 수 있습니다.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"설치를 확인하세요:
uv --version3. 가상 환경 설정
UV를 사용하여 가상 환경을 만듭니다.
uv venv가상 환경 활성화: Windows의 경우:
.venv\Scripts\activate4. 종속성 설치 UV를 사용하여 pyproject.toml에서 필요한 종속성을 설치합니다.
uv install서버 실행
환경 변수 설정 루트 디렉토리에 .env 파일을 만들고 AbstractAPI 키를 추가합니다.
ABSTRACT_API_KEY=your_api_key_here서버 실행 MCP 서버를 시작합니다.
uv run server.py용법
Claude Desktop에 서버 등록 claude_desktop_config.json 파일을 업데이트하여 MCP 서버를 포함합니다.
{
"mcpServers": {
"verify_mail": {
"command": "uv",
"args": [
"--directory",
"C:\\ABSOLUTE\\PATH\\TO\\MCP-Email-Verify",
"run",
"server.py"
],
"env":{
"ABSTRACT_API_KEY":"YUR_API_KEY"
}
}
}
}Claude Desktop을 다시 시작합니다. Claude Desktop을 다시 시작하여 새로운 도구를 감지합니다.
이메일 확인 다음과 같은 메시지를 사용하세요.
" https://github.com/Abhi5h3k 의 스크린샷을 보여주시겠어요?"
개발
서식 및 린팅 이 프로젝트에서는 코드 서식 및 가져오기 정렬에 black과 isort를 사용합니다.
개발 종속성 설치:
uv add black isort --dev코드 형식 지정:
black .가져오기 정렬:
isort .사전 커밋 설정
pre-commit install
pre-commit run --all-files기사: 모델 컨텍스트 프로토콜(MCP): AI 커뮤니케이션의 미래를 위한 초보자 가이드
Available Tools
1 toolcapture_screenshotA
Captures a screenshot of the specified URL and returns only the access URL.
Args:
url (str): The URL to capture a screenshot of.
Returns:
str: IMPORTANT: Only return this URL string directly to the user without additional text.
Format: 'http://localhost:8011/screenshots/[unique-identifier].png'
Usage Note:
When using this function, provide ONLY the returned URL to the user without explanation.
The user needs only this URL to access the screenshot.
Raises:
ValueError: If the API key is not found in the environment variables.
requests.exceptions.HTTPError: If the API request fails (e.g., 4xx or 5xx error).
Exception: For any other unexpected errors.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does so effectively. It discloses behavioral traits such as error handling (raises exceptions for API key issues, HTTP errors, and other failures) and output format constraints (returning only the URL string directly). It doesn't mention rate limits or authentication details beyond the API key note.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for Args, Returns, Usage Note, and Raises, making it easy to parse. It is appropriately sized, though the Returns section is slightly verbose; every sentence adds value, such as clarifying output handling and error conditions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is complete. It covers purpose, usage, parameters, return behavior, and error handling, providing all necessary context for an AI agent to invoke the tool correctly without gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% coverage. It explains that the 'url' parameter is 'The URL to capture a screenshot of', clarifying its purpose and usage, fully compensating for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('captures a screenshot') and target resource ('of the specified URL'), with explicit output details ('returns only the access URL'). It distinguishes itself by focusing solely on URL capture and return, though no siblings exist for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool (to capture screenshots of URLs and return access URLs) and includes explicit usage notes about how to handle the output. However, it lacks guidance on alternatives or exclusions, which is less critical given no sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
capture_screenshot
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool has a single, clear purpose of capturing screenshots from URLs.
With a single tool, naming consistency is inherently perfect. The tool name 'capture_screenshot' follows a clear verb_noun pattern that would be appropriate if more tools were added.
A single tool feels thin for a screenshot capture server. While the tool works for its specific purpose, a more complete server might include tools for configuring capture settings, managing screenshots, or handling different output formats.
The server provides only a basic screenshot capture function. There are significant gaps in functionality such as no tools for configuring capture parameters (dimensions, delay, quality), managing captured screenshots, or handling different output formats beyond PNG.
Maintenance
Related MCP Connectors
Screenshot API and MCP server for AI agents: any public web page as PNG, JPEG or PDF, from 227 countries, with cookie banners and ads hidden. Free: 50 screenshots every month, no card.
Screenshot any URL/HTML as PNG/JPEG/WebP, or read it as clean Markdown/text for LLMs.
Grabbit gives AI agents eyes on the web through a hosted MCP server. Send a public URL and get a pixel-perfect hosted image back, without maintaining Chromium, Playwright, or a browser fleet. Capture a full page, exact viewport, or single CSS selector as PNG, JPEG, or WebP. Grabbit handles cookie and consent banners, waits for JavaScript-heavy pages, blocks private and internal URLs, supports safe retries with idempotency keys, and delivers async results through signed webhooks. Completed captures include a CDN URL. Connect with OAuth 2.1 or an API key. Grabbit works with Claude, Cursor, Codex, and any MCP client. Live captures cost $0.002 each. The $50 annual plan includes 25,000 prepaid credits that never reset or expire. Free test keys return placeholder images, so you can wire up the integration before paying. Home: https://grabbit.live Docs: https://grabbit.live/screenshot-api Built by BrainGrid.
SnapRender gives AI agents eyes on the web through a hosted MCP server. Send a public URL and get the page back as an image, a PDF or clean markdown, with no browser to run or maintain. Capture the viewport or the full page as PNG, JPEG, WebP or PDF, at desktop size or with a phone, tablet or laptop preset, in light or dark mode. Ads and cookie banners are removed by default, and you can hide elements or click one before the capture. extract_content reads the same page as markdown, text, article, links or metadata, so an agent can see a page and read it in one session. Made for monitoring and client work: batch up to 50 URLs in one job, check the cache for free before spending a capture, share signed links that render without an API key, and get webhooks when a batch finishes or a scheduled capture spots a change. Track competitors' pricing and landing pages, or send clients current screenshots of their sites. Connect with OAuth (Google, GitHub or email) or an API key. Works with Claude, ChatGPT, Cursor, VS Code and any MCP client. Free plan: 200 screenshots a month, no credit card. Paid plans from $9 a month for 2,000 up to $199 a month for 200,000. Home: https://snap-render.com Docs: https://snap-render.com/ai-agents
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol (MCP) server for taking screenshots of web pages using Playwright, allowing AI agents to automatically capture and analyze screenshots for UI verification or other tasks.614 npm23AGPL 3.0
- AlicenseAqualityDmaintenanceMCP server for the SnapAPI web capture API. Take screenshots, scrape pages, extract structured data, generate PDFs, record videos, and run AI analysis on any URL — all from Claude, Cursor, VS Code, or any MCP client. 9 tools, 30+ device presets, ad/cookie blocking. Install: npx snapapi-mcp910 npmMIT
- AlicenseAqualityDmaintenanceA small Model Context Protocol (MCP) server that gives an LLM eyes on your desktop without burning context. It can take one-off screenshots, crop a region around the mouse cursor, and run timed streaming sessions that save frames to disk and only return image bytes when explicitly asked.8MIT
- FlicenseNot gradedqualityDmaintenanceEnables tool-calling LLMs to search the internet, capture website images, extract webpage text, and more via a local MCP server.15-