Provides tools for interacting with the dev.to public API, enabling retrieval of articles, user information, tags, comments, and search functionality without requiring authentication.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dev.to MCP Serversearch for articles about Python web frameworks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dev.to MCP Server
A remote Model Context Protocol (MCP) server for interacting with the dev.to public API without requiring authentication.
Features
This MCP server provides access to the following dev.to public API endpoints:
get_articles - Get articles from dev.to with optional filters (username, tag, state, pagination)
get_article - Get a specific article by ID or path
get_user - Get user information by ID or username
get_tags - Get popular tags from dev.to
get_comments - Get comments for a specific article
search_articles - Search articles using query parameters
Related MCP server: NFTGo MCP Server
Installation
Using npm
If you want to install and build from source using npm:
npm install
npm run buildUsage
The server runs as a remote HTTP server on port 3000 (or the PORT environment variable) and can be used with any MCP-compatible client.
npm startThe server will be available at http://localhost:3000 for MCP connections.
Development
# Build the project
npm run build
# Watch mode for development
npm run dev
# Linting
npm run lint
npm run lint:fix
# Formatting
npm run format
npm run format:checkDocker
Using Pre-built Image
Pull and run the pre-built Docker image:
# Pull the image
docker pull docker.io/nickytonline/dev-to-mcp:latest
# Run it
docker run -d \
--name dev-to-mcp \
-e NODE_ENV=production \
-e PORT=3000 \
-p 3000:3000 \
--restart unless-stopped \
docker.io/nickytonline/dev-to-mcp:latestOnce it's up, check health status via:
curl -fsS http://127.0.0.1:3000/mcpThe server will be available at http://localhost:3000/mcp for MCP connections.
Building from Source
Build and run the MCP server using Docker:
# Build the Docker image
docker build -t dev-to-mcp .
# Run the container
docker run -p 3000:3000 dev-to-mcpDocker Compose
Using the pre-built image with Docker Compose:
services:
dev-to-mcp:
image: docker.io/nickytonline/dev-to-mcp:latest
container_name: dev-to-mcp
restart: unless-stopped
environment:
NODE_ENV: production
PORT: 3000
networks:
- main
healthcheck:
# Uses $PORT at runtime; defaults to 3000 if not set
test:
[
"CMD-SHELL",
"curl -fsS http://127.0.0.1:${PORT:-3000}/mcp >/dev/null || exit 1",
]
interval: 15s
timeout: 5s
retries: 5
start_period: 30s
networks:
main: {}For development with a local build, you can also use Docker Compose:
# docker-compose.yml
version: "3.8"
services:
dev-to-mcp:
build: .
ports:
- "3000:3000"
environment:
- PORT=3000docker-compose up --buildAPI Endpoints
All endpoints use the public dev.to API (https://dev.to/api) and do not require authentication.
get_articles
Get articles with optional filtering:
username- Filter by author usernametag- Filter by tagtop- Top articles (1, 7, 30, or infinity days)page- Pagination page (default: 1)per_page- Articles per page (default: 30, max: 1000)state- Filter by state (fresh, rising, all)
get_article
Get a specific article:
id- Article IDpath- Article path (e.g., "username/article-slug")
get_user
Get user information:
id- User IDusername- Username
get_tags
Get popular tags:
page- Pagination page (default: 1)per_page- Tags per page (default: 10, max: 1000)
get_comments
Get comments for an article:
article_id- Article ID (required)
search_articles
Search articles:
q- Search query (required)page- Pagination page (default: 1)per_page- Articles per page (default: 30, max: 1000)search_fields- Fields to search (title, body_text, tag_list)
License
MIT
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.