A MCP server that fetches infographic images from curated sources using the Serper API
Infographic MCP Server
A Python MCP server that lets AI assistants search for infographic images using the Serper API. Find data visualizations, statistical graphics, and visual explainers — with smart filters optimized for infographic content.
Features
search_infographics— Find web pages, articles, and galleries featuring infographicssearch_infographic_images— Search for infographic images with size and aspect ratio filterssearch_infographics_by_source— Target specific platforms like Visual Capitalist, Behance, or Dribbble- Automatic "infographic" context injection on all queries
- Large image + tall aspect ratio filters by default (how most infographics are shaped)
- SSE transport for real-time MCP client communication
Quick Start
1. Install dependencies
pip install mcp httpx
2. Set your API key
Get a free key at serper.dev, then set it as an environment variable:
export SERPER_API_KEY="your-api-key-here"
3. Run the server
python server.py
The server starts on http://0.0.0.0:8000 with the SSE endpoint at /sse.
4. Connect your MCP client
Point your MCP client (e.g. Claude Desktop) to:
http://<your-server-address>:8000/sse
Tools
search_infographics
Search for infographic-related web pages and articles.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| query | string | required | Topic to find infographics about |
| num_results | integer | 10 | Number of results (1–20) |
Example queries: "climate change", "social media marketing stats", "coffee production worldwide"
search_infographic_images
Search for infographic images with optimized size and aspect ratio filters.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| query | string | required | Topic to find infographic images for |
| num_results | integer | 10 | Number of results (1–20) |
| aspect_ratio | string | "tall" | Image shape: "tall", "wide", "square", or "panoramic" |
Example queries: "nutrition facts", "startup funding process", "global warming statistics"
search_infographics_by_source
Search for infographics from a specific curated platform.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| query | string | required | Topic to search for |
| source | string | required | Platform name (see list below) |
| num_results | integer | 10 | Number of results (1–20) |
Supported sources: visual capitalist, behance, dribbble, information is beautiful, cool infographics, venngage, canva, statista, pinterest, visme
Example: search for "economy" on "visual capitalist"
Project Structure
server.py # MCP server — tool definitions and Serper API integration
config.py # Configuration — API keys, filters, curated sources
pyproject.toml # Project metadata and dependencies
Configuration
All settings live in config.py:
| Variable | Default | Description |
|----------|---------|-------------|
| SERPER_API_KEY | from env | Your Serper API key |
| SERPER_SEARCH_URL | https://google.serper.dev/search | Web search endpoint |
| SERPER_IMAGES_URL | https://google.serper.dev/images | Image search endpoint |
| DEFAULT_NUM_RESULTS | 10 | Results per query |
| DEFAULT_IMAGE_SIZE | "l" (large) | Image size filter |
| DEFAULT_ASPECT_RATIO | "t" (tall) | Default aspect ratio for infographics |
| INFOGRAPHIC_SOURCES | dict | Curated source name → domain mapping |
Troubleshooting
| Problem | Solution |
|---------|----------|
| SERPER_API_KEY is not set | Set the environment variable or add it to .env |
| API Error: status 401 | Invalid API key — verify it at serper.dev |
| API Error: status 429 | Rate limit hit — wait and retry |
| Network Error | Check your internet connection |