Skip to main content
Glama

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 build

Usage

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 start

The 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:check

Docker

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:latest

Once it's up, check health status via:

curl -fsS http://127.0.0.1:3000/mcp

The 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-mcp

Docker 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=3000
docker-compose up --build

API 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 username

  • tag - Filter by tag

  • top - 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 ID

  • path - Article path (e.g., "username/article-slug")

get_user

Get user information:

  • id - User ID

  • username - 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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nickytonline/dev-to-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server