Social & Content MCP Server
Trending-Inhalte von Hacker News, Dev.to, IMDb, Podcasts und Eventbrite
Dokumentation
📡 Content MCP — Dev.to, Steam, Podcasts & Eventbrite (nexgendata/social-content-mcp-server) Actor
MCP server giving AI agents (Claude Desktop, Cursor, OpenAI/Vercel AI SDK) 4 tools: search_devto (developer articles), get_steam_games, search_podcasts (episodes), and search_events (Eventbrite). Pay-per-tool-call content & media search, no monthly minimum.
- URL: https://apify.com/nexgendata/social-content-mcp-server.md
- Developed by: NexGenData (community)
- Categories: AI, Social media, MCP servers
- Stats: 9 total users, 4 monthly users, 100.0% runs succeeded, 0 bookmarks
- User rating: No ratings yet
Pricing
from $10.00 / 1,000 results
This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event
What's an Apify Actor?
Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases. In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours, and optionally produces a well-defined JSON output, datasets with results, or files in key-value store. In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server. Actors are written with capital "A".
How to integrate an Actor?
If asked about integration, you help developers integrate Actors into their projects. You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready. The best way to integrate Actors is as follows.
In JavaScript/TypeScript projects, use official JavaScript/TypeScript client:
npm install apify-client
In Python projects, use official Python client library:
pip install apify-client
In shell scripts, use Apify CLI:
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash
In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).
If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).
For usage examples, see the [API](#api) section below.
For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).
# README
## 📡 Content & Media MCP Server — Dev.to, Steam, Podcasts & Eventbrite
Model Context Protocol server that gives Claude, Cursor, and any MCP-compatible AI agent live search across four content and media sources: Dev.to developer articles, Steam games, podcast episodes, and Eventbrite events — through natural-language tool calls, no API integration code required.
### Tools Exposed via MCP
This server exposes exactly **4 tools**:
- `search_devto(query, max_results=10)` — search Dev.to for developer articles and tutorials (powered by devto-scraper).
- `get_steam_games(query, max_results=10)` — search Steam for games; returns titles, prices, ratings, and descriptions (powered by steam-scraper).
- `search_podcasts(query, max_results=10)` — search for podcast episodes by topic (powered by podcast-episodes-scraper).
- `search_events(query, location="")` — search Eventbrite for upcoming events (powered by eventbrite-scraper).
### Data Sources
| Tool | Source | Upstream actor |
|------|--------|----------------|
| `search_devto` | Dev.to | nexgendata/devto-scraper |
| `get_steam_games` | Steam | nexgendata/steam-scraper |
| `search_podcasts` | Podcasts | nexgendata/podcast-episodes-scraper |
| `search_events` | Eventbrite | nexgendata/eventbrite-scraper |
### Use Cases
- **Developer content agents** — pull relevant Dev.to articles and tutorials for a topic.
- **Gaming research** — search Steam for games with prices and ratings.
- **Podcast discovery** — find podcast episodes on a subject for research or briefing.
- **Event discovery** — surface upcoming Eventbrite events by topic and city.
### Quick Start — Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"content-media": {
"url": "https://nexgendata--social-content-mcp-server.apify.actor/mcp",
"headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}
}
}
}
Restart Claude Desktop and the four tools appear in the tool picker.
Quick Start — Cursor / Cline / Custom MCP Client
Once connected, your agent calls the tools by name, for example:
search_devto(query="react hooks", max_results=10)
get_steam_games(query="strategy", max_results=10)
search_podcasts(query="artificial intelligence", max_results=10)
search_events(query="AI conference", location="San Francisco")
Pricing — Pay Per Tool Call
- Actor start: $0.005
- Tool call: $0.002
A typical chat session with ~20 tool calls costs ~$0.045. No monthly minimum.
FAQ
Q: Which MCP clients does this work with? A: Anything that speaks MCP — Claude Desktop, Cursor, Cline, Continue.dev, Zed, and any custom MCP SDK client.
Q: Is data live or cached? A: Live — every tool call runs the underlying NexGenData actor against the source.
Q: Do I need separate API keys for Dev.to, Steam, etc.? A: No. The server handles all upstream access through the underlying actors — you only need an Apify token.
Related NexGenData MCP Servers & Actors
| Use case | Actor |
|---|---|
| News + headlines MCP | news-mcp-server |
| Reddit MCP (post + comment search) | reddit-mcp-server |
| Developer tools MCP (NPM + PyPI + StackOverflow) | developer-tools-mcp-server |
| YouTube media MCP | youtube-media-mcp-server |
| Academic research MCP (papers + citations) | academic-research-mcp-server |
How NexGenData Pricing Works
Every NexGenData actor uses pay-per-event pricing — you only pay for results that land in your dataset or per MCP tool call. No monthly minimum, no seat fees.
- Actor Start: a single-event charge each time the actor spins up.
- Tool call: charged per MCP tool call.
- No charge for retries or internal proxy rotation — absorbed by the platform.
Support
NexGenData ships updates regularly. Bug reports via the Apify console issues tab get a response within 24 hours.
Home: thenextgennexus.com Full catalog: apify.com/nexgendata
Actor input Schema
Actor input object example
{}
API
You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.
JavaScript example
import { ApifyClient } from 'apify-client';
// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
token: '<YOUR_API_TOKEN>',
});
// Prepare Actor input
const input = {};
// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/social-content-mcp-server").call(input);
// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
console.dir(item);
});
// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs
Python example
from apify_client import ApifyClient
# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")
# Prepare the Actor input
run_input = {}
# Run the Actor and wait for it to finish
run = client.actor("nexgendata/social-content-mcp-server").call(run_input=run_input)
# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start
CLI example
echo '{}' |
apify call nexgendata/social-content-mcp-server --silent --output-dataset
MCP server setup
{
"mcpServers": {
"apify": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.apify.com/?tools=nexgendata/social-content-mcp-server",
"--header",
"Authorization: Bearer <YOUR_API_TOKEN>"
]
}
}
}
OpenAPI specification
{
"openapi": "3.0.1",
"info": {
"title": "📡 Content MCP — Dev.to, Steam, Podcasts & Eventbrite",
"description": "MCP server giving AI agents (Claude Desktop, Cursor, OpenAI/Vercel AI SDK) 4 tools: search_devto (developer articles), get_steam_games, search_podcasts (episodes), and search_events (Eventbrite). Pay-per-tool-call content & media search, no monthly minimum.",
"version": "0.0",
"x-build-id": "FhEdrkZqDeGdtDgv2"
},
"servers": [
{
"url": "https://api.apify.com/v2"
}
],
"paths": {
"/acts/nexgendata~social-content-mcp-server/run-sync-get-dataset-items": {
"post": {
"operationId": "run-sync-get-dataset-items-nexgendata-social-content-mcp-server",
"x-openai-isConsequential": false,
"summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
"tags": [
"Run Actor"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inputSchema"
}
}
}
},
"parameters": [
{
"name": "token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Enter your Apify token here"
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/acts/nexgendata~social-content-mcp-server/runs": {
"post": {
"operationId": "runs-sync-nexgendata-social-content-mcp-server",
"x-openai-isConsequential": false,
"summary": "Executes an Actor and returns information about the initiated run in response.",
"tags": [
"Run Actor"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inputSchema"
}
}
}
},
"parameters": [
{
"name": "token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Enter your Apify token here"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/runsResponseSchema"
}
}
}
}
}
}
},
"/acts/nexgendata~social-content-mcp-server/run-sync": {
"post": {
"operationId": "run-sync-nexgendata-social-content-mcp-server",
"x-openai-isConsequential": false,
"summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
"tags": [
"Run Actor"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inputSchema"
}
}
}
},
"parameters": [
{
"name": "token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Enter your Apify token here"
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
}
},
"components": {
"schemas": {
"inputSchema": {
"type": "object",
"properties": {}
},
"runsResponseSchema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"actId": {
"type": "string"
},
"userId": {
"type": "string"
},
"startedAt": {
"type": "string",
"format": "date-time",
"example": "2025-01-08T00:00:00.000Z"
},
"finishedAt": {
"type": "string",
"format": "date-time",
"example": "2025-01-08T00:00:00.000Z"
},
"status": {
"type": "string",
"example": "READY"
},
"meta": {
"type": "object",
"properties": {
"origin": {
"type": "string",
"example": "API"
},
"userAgent": {
"type": "string"
}
}
},
"stats": {
"type": "object",
"properties": {
"inputBodyLen": {
"type": "integer",
"example": 2000
},
"rebootCount": {
"type": "integer",
"example": 0
},
"restartCount": {
"type": "integer",
"example": 0
},
"resurrectCount": {
"type": "integer",
"example": 0
},
"computeUnits": {
"type": "integer",
"example": 0
}
}
},
"options": {
"type": "object",
"properties": {
"build": {
"type": "string",
"example": "latest"
},
"timeoutSecs": {
"type": "integer",
"example": 300
},
"memoryMbytes": {
"type": "integer",
"example": 1024
},
"diskMbytes": {
"type": "integer",
"example": 2048
}
}
},
"buildId": {
"type": "string"
},
"defaultKeyValueStoreId": {
"type": "string"
},
"defaultDatasetId": {
"type": "string"
},
"defaultRequestQueueId": {
"type": "string"
},
"buildNumber": {
"type": "string",
"example": "1.0.0"
},
"containerUrl": {
"type": "string"
},
"usage": {
"type": "object",
"properties": {
"ACTOR_COMPUTE_UNITS": {
"type": "integer",
"example": 0
},
"DATASET_READS": {
"type": "integer",
"example": 0
},
"DATASET_WRITES": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_READS": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_WRITES": {
"type": "integer",
"example": 1
},
"KEY_VALUE_STORE_LISTS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_READS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_WRITES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_INTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_EXTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_SERPS": {
"type": "integer",
"example": 0
}
}
},
"usageTotalUsd": {
"type": "number",
"example": 0.00005
},
"usageUsd": {
"type": "object",
"properties": {
"ACTOR_COMPUTE_UNITS": {
"type": "integer",
"example": 0
},
"DATASET_READS": {
"type": "integer",
"example": 0
},
"DATASET_WRITES": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_READS": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_WRITES": {
"type": "number",
"example": 0.00005
},
"KEY_VALUE_STORE_LISTS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_READS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_WRITES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_INTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_EXTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_SERPS": {
"type": "integer",
"example": 0
}
}
}
}
}
}
}
}
}
}