loading…
Search for a command to run...
loading…
OpenGraph.io API integration for extracting OG metadata, taking screenshots, scraping web content, querying sites with AI, and generating branded images (illust
OpenGraph.io API integration for extracting OG metadata, taking screenshots, scraping web content, querying sites with AI, and generating branded images (illustrations, diagrams, social cards, icons, QR codes) with iterative refinement.
og‑mcp is a Model‑Context‑Protocol (MCP) server that makes every OpenGraph.io ( https://opengraph.io ) API endpoint available to AI agents (e.g. Anthropic Claude, Cursor, LangGraph) through the standard MCP interface.
Why? If you already use OpenGraph.io to unfurl links, scrape HTML, extract article text, or capture screenshots, you can now give the same capabilities to your autonomous agents without exposing raw API keys.
You can install this package globally via npm:
npm install -g opengraph-io-mcp
The easiest way to configure OpenGraph MCP for any supported client:
# Interactive mode - guides you through setup
npx opengraph-io-mcp-install
# Direct mode - specify client and app ID
npx opengraph-io-mcp-install --client cursor --app-id YOUR_APP_ID
Supported clients: cursor, claude-desktop, windsurf, vscode, zed, jetbrains
For Claude Desktop users, you can also download the .mcpb extension for one-click installation from the Releases page.
All configurations below use the hosted HTTPS transport (recommended). Replace YOUR_OPENGRAPH_APP_ID with your OpenGraph.io App ID. No local installation or npx required — just point your client at the hosted URL.
Config location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"opengraph": {
"url": "https://mcp.opengraph.io/mcp",
"headers": {
"x-app-id": "YOUR_OPENGRAPH_APP_ID"
}
}
}
}
One-command installation:
claude mcp add --transport http --header "x-app-id: YOUR_OPENGRAPH_APP_ID" opengraph https://mcp.opengraph.io/mcp
Config location: ~/.cursor/mcp.json
{
"mcpServers": {
"opengraph": {
"url": "https://mcp.opengraph.io/mcp",
"headers": {
"x-app-id": "YOUR_OPENGRAPH_APP_ID"
}
}
}
}
Config location: .vscode/mcp.json (in your project directory)
VS Code supports input prompts for secure credential handling:
{
"inputs": [
{
"type": "promptString",
"id": "opengraph-app-id",
"description": "OpenGraph App ID",
"password": true
}
],
"servers": {
"opengraph": {
"type": "http",
"url": "https://mcp.opengraph.io/mcp",
"headers": {
"x-app-id": "${input:opengraph-app-id}"
}
}
}
}
Config location: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"opengraph": {
"url": "https://mcp.opengraph.io/mcp",
"headers": {
"x-app-id": "YOUR_OPENGRAPH_APP_ID"
}
}
}
}
Add to your JetBrains AI Assistant MCP configuration:
{
"mcpServers": {
"opengraph": {
"url": "https://mcp.opengraph.io/mcp",
"headers": {
"x-app-id": "YOUR_OPENGRAPH_APP_ID"
}
}
}
}
Config location: ~/.config/zed/settings.json
Note: Zed uses context_servers instead of mcpServers:
{
"context_servers": {
"opengraph": {
"transport": "http",
"url": "https://mcp.opengraph.io/mcp",
"headers": {
"x-app-id": "YOUR_OPENGRAPH_APP_ID"
}
}
}
}
| Tool Name | OpenGraph.io API Endpoint | Description | Documentation |
|---|---|---|---|
| Get OG Data | /api/1.1/site/<URL> |
Extracts Open Graph data from a URL | OpenGraph.io Docs |
| Get OG Scrape Data | /api/1.1/scrape/<URL> |
Scrapes data from a URL using OpenGraph's scrape endpoint | OpenGraph.io Docs |
| Get OG Screenshot | /api/1.1/screenshot/<URL> |
Gets a screenshot of a webpage using OpenGraph's screenshot endpoint | OpenGraph.io Docs |
| Get OG Query | /api/1.1/query/<URL> |
Query a site with a custom question and optional response structure | OpenGraph.io Docs |
| Get OG Extract | /api/1.1/extract/<URL> |
Extract specific HTML elements (h1, p, etc.) from a webpage | OpenGraph.io Docs |
| Tool Name | Description |
|---|---|
| Generate Image | Create professional images: illustrations, diagrams (Mermaid/D2/Vega), icons, social cards, or QR codes |
| Iterate Image | Refine, modify, or create variations of existing generated images |
| Inspect Image Session | Retrieve session metadata and asset history for image generation sessions |
| Export Image Asset | Export generated image assets as inline base64, with optional disk write when running locally |
The og-mcp server includes powerful AI-driven image generation capabilities, perfect for creating social media cards, architecture diagrams, icons, and more.
Create images from natural language prompts or diagram code.
Supported Image Types (kind):
illustration - General-purpose AI-generated imagesdiagram - Technical diagrams from Mermaid, D2, or Vega syntaxicon - App icons and logossocial-card - OG images optimized for social sharingqr-code - QR codes with optional stylingPreset Aspect Ratios:
og-image, twitter-card, twitter-post, linkedin-post, facebook-post, instagram-square, instagram-portrait, instagram-story, youtube-thumbnailwide, square, portraiticon-small, icon-medium, icon-largeStyle Presets:
github-dark, github-light, notion, vercel, linear, stripe, neon-cyber, pastel, minimal-mono, corporate, startup, documentation, technical
Diagram Templates:
auth-flow, oauth2-flow, crud-api, microservices, ci-cd, gitflow, database-schema, state-machine, user-journey, cloud-architecture, system-context
Example Usage:
// Generate a social card
generateImage({
prompt: "A modern tech startup hero image with abstract geometric shapes",
kind: "social-card",
aspectRatio: "og-image",
stylePreset: "vercel",
brandColors: ["#0070F3", "#000000"]
})
// Generate a diagram from Mermaid syntax
generateImage({
prompt: "graph TD; A[User] --> B[API]; B --> C[Database]",
kind: "diagram",
diagramSyntax: "mermaid",
stylePreset: "github-dark"
})
Refine or modify an existing generated image.
Use cases:
Example:
iterateImage({
sessionId: "uuid-from-generate",
assetId: "uuid-from-generate",
prompt: "Change the primary color to #0033A0 and add a subtle drop shadow"
})
Review session details and find asset IDs for iteration.
Returns:
Example:
inspectImageSession({
sessionId: "uuid-from-generate"
})
Export a generated image asset by session and asset ID. Returns the image inline as base64 along with metadata (format, dimensions, size).
When running locally (stdio transport), you can optionally provide a destinationPath to save the image to disk. On hosted/HTTP transport, the path is ignored and the image is returned inline only.
Examples:
// Inline only (works everywhere)
exportImageAsset({
sessionId: "uuid-from-generate",
assetId: "uuid-from-generate"
})
// Save to disk (stdio/local only)
exportImageAsset({
sessionId: "uuid-from-generate",
assetId: "uuid-from-generate",
destinationPath: "/Users/me/project/images/hero.png"
})
Diagram generated with og-mcp's image generation tools
The og-mcp server acts as a bridge between AI clients (like Claude or other LLMs) and the OpenGraph.io API:
This abstraction prevents exposing API keys directly to the AI while providing full access to OpenGraph.io capabilities.
npm install
npm run build
npm start
The server will run on port 3010 by default (configurable via PORT environment variable).
The server requires an OpenGraph.io App ID to function properly. You can provide this in several ways:
OPENGRAPH_APP_ID or APP_ID in a .env file or as an environment variable--app-id YOUR_APP_ID?app_id=YOUR_APP_ID)Example .env file:
OPENGRAPH_APP_ID=your_app_id_here
# or
APP_ID=your_app_id_here
For command-line usage and npm global installation, the server can be run with stdio transport:
npm run start:stdio
You can pass the OpenGraph API key directly via command-line argument:
npm run start:stdio -- --app-id YOUR_APP_ID
When installed globally:
opengraph-io-mcp --app-id YOUR_APP_ID
This mode allows the server to be invoked directly by other applications that use MCP.
This method runs a web server that can be accessed over HTTP and uses SSE for streaming:
npm start
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"securecoders-opengraph-io-mcp": {
"command": "npx",
"args": []
}
}
}