search_articles
Pack: devto · Endpoint: https://gateway.pipeworx.io/devto/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search_articles for the schema, then POST the same URL with its arguments for the data.
Search DEV.to articles by tag with pagination support. Returns title, author, tags, reactions, comments, reading time, and URL for each result.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
tag | string | no | Tag to filter by (e.g., “typescript”, “rust”, “ai”) |
page | number | no | Page number for pagination (default 1) |
limit | number | no | Number of articles per page (default 10, max 30) |
Example call
Arguments
{
"tag": "typescript",
"page": 1,
"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":"search_articles","arguments":{"tag":"typescript","page":1,"limit":10}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_articles', {
"tag": "typescript",
"page": 1,
"limit": 10
});
More examples
{
"tag": "rust",
"page": 2
}
Response shape
Always returns: page, articles
| Field | Type | Description |
|---|---|---|
page | number | Current page number |
articles | array | List of article summaries |
Full JSON Schema
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Current page number"
},
"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": [
"page",
"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.