Install
$ agentstack add mcp-furkankoykiran-devto-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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.
[](https://github.com/furkankoykiran/DevTo-MCP/actions/workflows/ci.yml) [](https://www.npmjs.com/package/@furkankoykiran/devto-mcp) [](https://opensource.org/licenses/MIT) [](https://nodejs.org) [](https://www.typescriptlang.org)
Quick Start
Install in VS Code
Install the DevTo MCP server in VS Code with one click:
[](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22devto%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40furkankoykiran%2Fdevto-mcp%22%5D%2C%22env%22%3A%7B%22DEVTOAPIKEY%22%3A%22YOURAPIKEY%22%7D%7D)
> 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
- 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-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-Afterheaders; surfacesx-ratelimit-remainingin error messages - Structured 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 | |----------|----------|-------------| | 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](CONTRIBUTING.md) for guidelines.
Security
For security concerns, please see [SECURITY.md](SECURITY.md).
License
This project is licensed under the MIT License — see the [LICENSE](LICENSE) file for details.
Acknowledgments
- DEV Community for their excellent API
- Model Context Protocol for the MCP standard
- Forem for the open-source platform
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: furkankoykiran
- Source: furkankoykiran/DevTo-MCP
- License: MIT
- Homepage: https://www.npmjs.com/package/@furkankoykiran/devto-mcp
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.