The Model Context Protocol (MCP) lets AI assistants use external tools — search the web, query databases, interact with APIs. For web developers, MCP servers that provide web capture capabilities are particularly powerful: take screenshots, scrape pages, extract structured data, and generate PDFs without leaving your editor. This guide covers what MCP is, how to set up web capture MCP servers, and how SnapAPI's MCP server gives you 9 capture tools in any compatible client.
What is the Model Context Protocol?
MCP is an open standard created by Anthropic that lets AI applications connect to external data sources and tools. Think of it as a plugin system for AI — instead of the AI only knowing what's in its training data, MCP servers give it access to real-time APIs, databases, and services.
MCP works with a client-server architecture. The AI application (Claude Desktop, Cursor, VS Code Copilot) is the client. MCP servers provide tools that the AI can call. When you ask "take a screenshot of this page," the AI calls the screenshot tool on the MCP server, which calls the API and returns the result.
Supported MCP Clients
| Client | Type | MCP Support | Config Location |
|---|---|---|---|
| Claude Desktop | Desktop app | Native | claude_desktop_config.json |
| Claude Code | CLI tool | Native | .mcp.json in project root |
| Cursor | IDE | Native | Settings → MCP |
| VS Code (Copilot) | IDE | Extension | .vscode/mcp.json |
| Windsurf | IDE | Native | Settings → MCP |
| Zed | IDE | Native | settings.json |
SnapAPI MCP Server
The snapapi-mcp npm package provides 9 web capture tools that work with any MCP-compatible client. Install it once, and your AI assistant can take screenshots, scrape pages, extract data, generate PDFs, record videos, and analyze pages:
Installation
# Install globally
npm install -g snapapi-mcp
# Or use npx (no install needed)
npx snapapi-mcp
Claude Desktop Configuration
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key"
}
}
}
}
Claude Code Configuration
// .mcp.json in your project root
{
"mcpServers": {
"snapapi": {
"command": "npx",
"args": ["-y", "snapapi-mcp"],
"env": {
"SNAPAPI_API_KEY": "sk_live_your_key"
}
}
}
}
Cursor Configuration
# In Cursor: Settings → MCP → Add Server
# Name: snapapi
# Command: npx -y snapapi-mcp
# Environment: SNAPAPI_API_KEY=sk_live_your_key
Available Tools
The SnapAPI MCP server provides 9 tools that your AI assistant can use:
| Tool | Description | Example Prompt |
|---|---|---|
ping | Test API connectivity | "Check if SnapAPI is connected" |
screenshot | Capture page screenshots | "Take a screenshot of example.com" |
scrape | Get rendered HTML | "Scrape the HTML from this page" |
extract | Extract structured data | "Extract product names and prices from this page" |
pdf | Generate PDFs | "Create a PDF of this webpage" |
video | Record page videos | "Record a 10-second video of this page loading" |
analyze | AI page analysis | "Analyze this competitor's pricing page" |
get_usage | Check API usage | "How many API calls have I used this month?" |
list_devices | List device presets | "What devices can I emulate?" |
Real-World Usage Examples
Here are practical scenarios where web capture MCP tools save time during development:
Capture a competitor's page for design reference
You: "Take a full-page screenshot of stripe.com/pricing on both desktop and iPhone 14"
AI: I'll capture both versions for you.
[Calls screenshot tool twice with different device presets]
Here are the screenshots:
- Desktop: [link to desktop screenshot]
- iPhone 14: [link to mobile screenshot]
Extract structured data from a page
You: "Extract all the pricing plans from snapapi.pics including plan names, prices, and features"
AI: I'll extract that data for you.
[Calls extract tool with a pricing schema]
Here's the structured data:
- Free: $0/mo — 200 captures, all endpoints
- Starter: $19/mo — 5,000 captures, priority support
- Pro: $79/mo — 50,000 captures, webhooks, custom CSS
- Business: $299/mo — 500,000 captures, dedicated support
Generate a PDF for documentation
You: "Create a PDF of our API docs at docs.example.com/api for offline reference"
AI: I'll generate that PDF now.
[Calls pdf tool with the URL]
Here's your PDF: [link to generated PDF]
The document is A4 format with all content rendered including code blocks.
Building Your Own MCP Server
If you want to build a custom MCP server, here's the basic structure using the official TypeScript SDK:
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server({
name: 'my-web-tools',
version: '1.0.0',
}, {
capabilities: { tools: {} },
});
server.setRequestHandler('tools/list', async () => ({
tools: [{
name: 'screenshot',
description: 'Capture a screenshot of a webpage',
inputSchema: {
type: 'object',
properties: {
url: { type: 'string', description: 'URL to capture' },
width: { type: 'number', default: 1280 },
},
required: ['url'],
},
}],
}));
server.setRequestHandler('tools/call', async (request) => {
if (request.params.name === 'screenshot') {
const { url, width } = request.params.arguments;
// Call your screenshot API here
const result = await captureScreenshot(url, width);
return {
content: [{
type: 'text',
text: `Screenshot captured: ${result.url}`,
}],
};
}
});
const transport = new StdioServerTransport();
await server.connect(transport);
Building a full-featured MCP server with screenshot, scraping, extraction, PDF, and video tools takes significant effort. SnapAPI's snapapi-mcp package provides all 9 tools ready to use — just install and configure your API key.
Get Web Capture Tools in Your AI Editor
Install snapapi-mcp and get 9 web capture tools in Claude, Cursor, VS Code, and more. Screenshots, scraping, PDFs, video, and AI analysis — all from your IDE.
Get Your API Key — Free Tier Available