Skip to content

furkankoykiran/DevTo-MCP

DevTo-MCP

A production-ready Model Context Protocol (MCP) server for the DEV Community (Forem) API. Manage articles, comments, users, tags, organizations, and more through any MCP-compatible client.

CI npm version License: MIT Node.js TypeScript

Quick Start

Install in VS Code

Install the DevTo MCP server in VS Code with one click:

Install in VS Code

Note: After installing, replace YOUR_API_KEY with your actual DEV Community API key from dev.to/settings/extensions.

Install in Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "devto": {
      "command": "npx",
      "args": ["-y", "@furkankoykiran/devto-mcp"],
      "env": {
        "DEVTO_API_KEY": "your_api_key_here"
      }
    }
  }
}

Install in Cursor

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "devto": {
      "command": "npx",
      "args": ["-y", "@furkankoykiran/devto-mcp"],
      "env": {
        "DEVTO_API_KEY": "your_api_key_here"
      }
    }
  }
}

Features

  • 17 tools across 8 domains for comprehensive DEV Community interaction
  • Full Forem API V1 support with proper authentication headers
  • Robust API client with request timeouts, automatic retries with exponential backoff, and rate-limit awareness
  • Written in TypeScript with strict type safety
  • Zod input validation on all tool parameters
  • Structured error messages with status codes, endpoints, and request IDs
  • Zero external HTTP dependencies (uses native fetch)

Prerequisites

Installation

Using npx (recommended)

DEVTO_API_KEY=your_key npx -y @furkankoykiran/devto-mcp

Global install

npm install -g @furkankoykiran/devto-mcp

From source

git clone https://github.com/furkankoykiran/DevTo-MCP.git
cd DevTo-MCP
npm install
npm run build

Configuration

Set your DEV Community API key as an environment variable:

export DEVTO_API_KEY=your_api_key_here

Available Tools

Articles

Tool Description
get_articles List published articles with filters (tag, username, state, top, pagination)
get_article_by_id Get full article details by numeric ID
create_article Create a new article or draft
update_article Update an existing article
get_my_articles Get authenticated user's articles (published, unpublished, or all)

Comments

Tool Description
get_comments Get threaded comments for an article or podcast episode
get_comment_by_id Get a single comment by ID code

Users

Tool Description
get_authenticated_user Get the authenticated user's profile
get_user_by_username Get any user's public profile

Tags

Tool Description
get_tags List available tags with pagination
get_followed_tags Get tags followed by the authenticated user

Organizations

Tool Description
get_organization Get organization details by username
get_organization_articles List an organization's published articles
get_organization_users List users in an organization

Reading List

Tool Description
get_reading_list Get the authenticated user's bookmarked articles

Followers

Tool Description
get_followers Get the authenticated user's followers

Error Handling & Resilience

The API client includes production-grade resilience features:

  • Timeouts: All requests have a 30-second timeout via AbortSignal
  • Retries: Automatic retry with exponential backoff (1s → 2s → 4s) for transient errors (HTTP 429, 5xx)
  • Rate Limiting: Respects Retry-After headers; surfaces x-ratelimit-remaining in error messages
  • Structured Errors: ForemApiError includes status code, endpoint, HTTP method, request ID, and rate-limit info

Known Limitations

  • Reactions: The toggle_reaction tool is currently disabled due to API 401 Unauthorized errors, likely caused by insufficient scopes on standard API keys. This feature may be re-enabled in a future release if API permissions are clarified.
  • Draft Articles: Retrieval of draft articles via get_article_by_id uses a fallback mechanism (searching user's full article list) because the public endpoint does not support drafts. This ensures seamless access for authenticated users.

Environment Variables

Variable Required Description
DEVTO_API_KEY Yes Your DEV Community API key

Development

# Install dependencies
npm install

# Build
npm run build

# Lint
npm run lint

# Type check
npm run typecheck

# Unit tests
npm test

# Integration tests (requires DEVTO_API_KEY)
DEVTO_API_KEY=your_key npm run test:integration

# Run locally
DEVTO_API_KEY=your_key node dist/index.js

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Security

For security concerns, please see SECURITY.md.

License

This project is licensed under the MIT License — see the LICENSE file for details.

Acknowledgments

About

Production-ready MCP server for DEV Community (Forem) API. AI-native integration for managing articles, comments, users, tags, organizations, and reading lists. Built with TypeScript and comprehensive error handling.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors