Skip to content

furkankoykiran/DevTo-MCP

Repository files navigation

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

5 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors