DevTo-MCP
Provides tools for managing articles, comments, users, tags, organizations, reading list, and followers on DEV Community.
Click on "Deploy 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., "@DevTo-MCP show my unpublished articles"
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.
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.
Quick Start
Install in VS Code
Install the DevTo MCP server in VS Code with one click:
Note: After installing, replace
YOUR_API_KEYwith 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: ICP Control Plane MCP 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
Node.js 18 or higher
DEV Community API Key — Get yours at dev.to/settings/extensions
Installation
Using npx (recommended)
DEVTO_API_KEY=your_key npx -y @furkankoykiran/devto-mcpGlobal install
npm install -g @furkankoykiran/devto-mcpFrom source
git clone https://github.com/furkankoykiran/DevTo-MCP.git
cd DevTo-MCP
npm install
npm run buildConfiguration
Set your DEV Community API key as an environment variable:
export DEVTO_API_KEY=your_api_key_hereAvailable Tools
Articles
Tool | Description |
| List published articles with filters (tag, username, state, top, pagination) |
| Get full article details by numeric ID |
| Create a new article or draft |
| Update an existing article |
| Get authenticated user's articles (published, unpublished, or all) |
Comments
Tool | Description |
| Get threaded comments for an article or podcast episode |
| Get a single comment by ID code |
Users
Tool | Description |
| Get the authenticated user's profile |
| Get any user's public profile |
Tags
Tool | Description |
| List available tags with pagination |
| Get tags followed by the authenticated user |
Organizations
Tool | Description |
| Get organization details by username |
| List an organization's published articles |
| List users in an organization |
Reading List
Tool | Description |
| Get the authenticated user's bookmarked articles |
Followers
Tool | Description |
| 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
AbortSignalRetries: Automatic retry with exponential backoff (1s → 2s → 4s) for transient errors (HTTP 429, 5xx)
Rate Limiting: Respects
Retry-Afterheaders; surfacesx-ratelimit-remainingin error messagesStructured Errors:
ForemApiErrorincludes status code, endpoint, HTTP method, request ID, and rate-limit info
Known Limitations
Reactions: The
toggle_reactiontool 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_iduses 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 |
| 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.jsContributing
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
DEV Community for their excellent API
Model Context Protocol for the MCP standard
Forem for the open-source platform
Available Tools
16 toolscreate_articleB
Create a new article on DEV Community. Set published to false to save as draft.
Inputs: title (required), tags, series, published, +5 more.
get_article_by_idA
Get a published article by its numeric ID. Returns full article details including body content.
Inputs: id (required).
get_articlesA
List published articles from DEV Community with optional filters. Returns articles ordered by descending popularity by default.
Inputs: tag, top, page, tags, +5 more.
get_authenticated_userA
Get the profile of the currently authenticated DEV Community user (the owner of the API key).
Inputs: no named parameters.
get_comment_by_idA
Get a single comment by its ID code. Returns the comment with its nested replies.
Inputs: id (required).
get_commentsA
Get comments for an article or podcast episode as threaded conversations. Returns top-level comments with nested replies.
Inputs: a_id, p_id.
get_followed_tagsA
Get the tags followed by the authenticated user.
Inputs: no named parameters.
get_followersA
Get the authenticated user's followers on DEV Community. Supports pagination with sort by creation date.
Inputs: page, sort, per_page.
get_my_articlesB
Get the authenticated user's own articles. Can filter by published, unpublished, or all.
Inputs: page, status, per_page.
get_organizationB
Get details about a DEV Community organization by its username/slug.
Inputs: username (required).
get_organization_articlesC
Get articles published by an organization on DEV Community.
Inputs: username (required), page, per_page.
get_organization_usersB
Get users who belong to a DEV Community organization.
Inputs: username (required), page, per_page.
get_reading_listA
Get the authenticated user's reading list (bookmarked articles). Supports pagination.
Inputs: page, per_page.
get_tagsB
List available tags from DEV Community with pagination.
Inputs: page, per_page.
get_user_by_usernameB
Get a user's public profile by their username or numeric ID.
Inputs: username (required).
update_articleB
Update an existing article by its ID. Only include fields you want to change.
Inputs: id (required), tags, title, series, +6 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Each tool targets a distinct resource and action: articles, comments, users, followers, tags, organizations, and reading list. No two tools have overlapping purposes.
All tools follow a consistent verb_noun pattern with snake_case (e.g., get_article_by_id, create_article). Verbs are uniformly 'get', 'create', or 'update'.
16 tools cover multiple domains of DEV Community API. While on the higher end of the typical range, each tool serves a clear purpose without redundancy.
Missing key CRUD operations such as delete article, create/update comment, follow/unfollow tag, and add/remove reading list. Agents cannot perform full lifecycle actions.
Maintenance
Related MCP Connectors
DEV.to MCP — wraps the DEV Community API (free, no auth for public reads)
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
A MCP server built for developers enabling Git based project management with project and personal…
Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server implementation that allows AI assistants to access, search, and interact with Dev.to content, including fetching articles, retrieving user information, and publishing new content.1063MIT
- AlicenseCqualityDmaintenanceA production-ready MCP server providing comprehensive DevOps capabilities for the Internet Computer blockchain, enabling AI agents to authenticate, manage canisters, handle finances, and build/deploy projects.36MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for the FreeFeed social network API. Enables reading timelines, posts, comments, and attachments, as well as writing posts, comments, and managing subscriptions.1MIT
- FlicenseAqualityDmaintenanceMCP server for interacting with the Medium API. Allows AI agents to publish posts, manage publications, upload images, and parse RSS feeds to JSON.7-