Skip to main content
Glama

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:

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"
      }
    }
  }
}

Related MCP server: devto-mvp-server

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

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

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
2wRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/furkankoykiran/DevTo-MCP'

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