get_articles
Pack: devto · Endpoint: https://gateway.pipeworx.io/devto/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/get_articles for the schema, then POST the same URL with its arguments for the data.
Get trending or recent DEV.to articles, optionally filtered by tag (e.g., “javascript”, “react”). Returns title, author, reaction count, comments, reading time, and URL.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
tag | string | no | Filter articles by tag (e.g., “javascript”, “python”, “webdev”) |
top | number | no | Return top articles from the last N days (e.g., 7 for last week) |
limit | number | no | Number of articles to return (default 10, max 30) |
Example call
Arguments
{
"tag": "javascript",
"limit": 10
}
curl
curl -X POST https://gateway.pipeworx.io/devto/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_articles","arguments":{"tag":"javascript","limit":10}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('get_articles', {
"tag": "javascript",
"limit": 10
});
More examples
{
"tag": "python",
"top": 7,
"limit": 20
}
Response shape
Always returns: articles
| Field | Type | Description |
|---|---|---|
articles | array | List of article summaries |
Full JSON Schema
{
"type": "object",
"properties": {
"articles": {
"type": "array",
"description": "List of article summaries",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Article numeric ID"
},
"title": {
"type": "string",
"description": "Article title"
},
"description": {
"type": [
"string",
"null"
],
"description": "Article description or excerpt"
},
"url": {
"type": "string",
"description": "Article URL"
},
"published_at": {
"type": [
"string",
"null"
],
"description": "Publication timestamp (ISO 8601 format)"
},
"tags": {
"type": "array",
"description": "List of tags associated with article",
"items": {
"type": "string"
}
},
"reading_time_minutes": {
"type": "number",
"description": "Estimated reading time in minutes"
},
"reactions": {
"type": "number",
"description": "Count of public reactions"
},
"comments": {
"type": "number",
"description": "Count of comments"
},
"author": {
"type": [
"object",
"null"
],
"description": "Article author information",
"properties": {
"name": {
"type": "string",
"description": "Author full name"
},
"username": {
"type": "string",
"description": "Author username"
}
}
}
},
"required": [
"id",
"title",
"description",
"url",
"published_at",
"tags",
"reading_time_minutes",
"reactions",
"comments",
"author"
]
}
}
},
"required": [
"articles"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"devto": {
"url": "https://gateway.pipeworx.io/devto/mcp"
}
}
}
See Getting Started for client-specific install steps.