# Dev.to (Forem API) MCP

> Dev.to (Forem Developer Community API) manages your entire developer content presence. You can publish new articles, update drafts, list all user comments, and track engagement metrics—all directly from your AI agent. This MCP lets you treat your community writing like it's right in your workspace.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** blogging, community, forem, technical-writing, api-integration

## Description

Your technical writing life just got a serious upgrade. Instead of bouncing between Dev.to and your editor to post content or check feedback, this connector gives your agent full control over your Forem account. You can create new articles from scratch using raw text and metadata. Need to respond to comments? Your agent grabs the latest discussions and lets you manage reactions or even draft replies. It also helps you keep tabs on what's working by listing all published content, whether it's your own work or an organization's. When you connect this MCP through Vinkius, you get a complete picture of your developer community without ever leaving your AI client.

## Tools

### create_article
Generates a new blog article draft on Dev.to.

### create_display_ad
Creates a display advertisement for the platform.

### create_page
Builds a new static page on the Dev.to site.

### create_reaction
Adds a reaction (like or heart) to content.

### delete_page
Removes an existing page by its ID.

### get_article_by_path
Fetches an article by the user's name and the post's URL slug.

### get_article
Retrieves a specific article using its unique ID.

### get_comment
Gets a single comment using its ID number.

### get_display_ad
Retrieves details for an advertisement by its ID.

### get_me
Pulls your own authenticated user profile data.

### get_organization
Gets the profile details for a specified organization.

### get_page
Retrieves the content of a specific page by its ID.

### get_profile_image
Gets the profile picture for any user using their username.

### get_user
Retrieves a complete user profile by providing their unique ID.

### list_articles
Lists all published articles available on the platform.

### list_comments
Fetches a list of comments that have been left on content.

### list_display_ads
Lists all active display advertisements currently running.

### list_followed_tags
Shows a list of tags you are tracking or following on the site.

### list_followers
Gets a list of users who follow your profile.

### list_my_all_articles
Lists every article you've ever created, published or otherwise.

### list_my_articles
Shows a general list of all articles associated with your account.

### list_my_published_articles
Gets only the articles you've successfully published to the public.

### list_my_unpublished_articles
Lists your drafts and unpublished content that isn't live yet.

### list_organization_articles
Retrieves a list of articles created by an entire organization.

### list_organization_users
Lists all user accounts belonging to a specific organization.

### list_pages
Fetches a list of every page created on the Dev.to site.

### list_podcast_episodes
Lists all podcast episodes that have been released.

### list_reading_list
Shows the contents of your personalized reading list.

### list_tags
Retrieves a complete index of all tags used across the community.

### list_videos
Lists articles that contain video content.

### suspend_user
Suspends a user's account (requires admin rights).

### toggle_reaction
Adds or removes a reaction to content.

### unpublish_article
Takes an article and makes it private again (admin/moderator tool).

### update_article
Changes the title, body, or status of an existing article.

### update_display_ad
Modifies the details of an existing advertisement.

### update_page
Edits the content or structure of a static page.

## Prompt Examples

**Prompt:** 
```
List the top 5 articles about 'webdev' from the last 7 days.
```

**Response:** 
```
I've found the top 5 articles for #webdev: 1. 'Modern CSS Techniques' by Jane Doe... [details]. Would you like me to summarize any of these?
```

**Prompt:** 
```
Show me my unpublished drafts on Dev.to.
```

**Response:** 
```
You have 3 unpublished drafts: 'Understanding MCP', 'Rust for Beginners', and 'API Design Tips'. Which one would you like to work on?
```

**Prompt:** 
```
Get the latest comments for article ID 123456.
```

**Response:** 
```
I've retrieved the comments for article 123456. There are 2 new comments: 'Great post!' from user123 and a question about implementation from dev_guru. Should I draft a reply?
```

## Capabilities

### Publish and edit articles
Write new posts or change existing content by creating drafts and updating published pieces.

### Track community feedback
Fetch, list, and manage all comments on your articles to monitor audience reaction.

### Manage user profiles and groups
Retrieve detailed information about users, organizations, followers, or even pages within the Dev.to ecosystem.

### Handle site content discovery
Search for articles using tags or paths, and list all available resources like podcast episodes and display ads.

### Perform moderation actions
If authorized, you can suspend users or unpublish entire articles directly through your agent.

## Use Cases

### Updating a poorly received post.
A developer advocate finds that an article on 'Advanced React Hooks' got confused comments. Instead of manually logging into Dev.to, running `get_article` pulls the content, and your agent uses `update_article` to correct technical details and improve the introduction based on the feedback from `list_comments`.

### Launching a new product feature announcement.
A content marketer wants to announce a new tool. They use `create_article` for the main blog post, then run `get_organization` and `update_page` simultaneously to make sure all related landing pages point to the correct, updated information.

### Analyzing competitor activity.
You need to see what's popular. Your agent runs `list_articles` filtered by tags or popularity metrics and cross-references that data with who is following the organization using `list_followers`, giving you a content strategy map.

### Cleaning up old, outdated posts.
You find several articles that are no longer accurate. Instead of manually finding each one and deleting it, your agent uses `list_my_all_articles` to pull the list, then iterates through them using `unpublish_article`.

## Benefits

- Publish and revise articles easily. Need to publish a new deep dive or adjust an old draft? You can use `create_article` and then run `update_article` against existing posts, keeping everything in one workflow.
- Stay on top of community sentiment. Don't manually check comments across multiple tabs. Your agent fetches the latest discussions using `list_comments`, letting you address feedback immediately.
- Build out your presence completely. Beyond articles, this MCP lets you manage static content (`create_page`), track who follows your organization (`list_followers`), and even list all associated podcast episodes.
- Gain full visibility into your history. You don't have to remember if an article is live or just a draft. Running `list_my_all_articles` gives you one single source of truth for everything you've written.
- Monitor the developer landscape. Use tools like `get_user` and `list_organization_users` to build out directories, check profile details, and understand who your core audience is.

## How It Works

The bottom line is that this MCP turns Dev.to’s complex API calls into natural conversation prompts within your AI client.

1. First, subscribe to the MCP and enter your Dev.to API key in your AI client's settings.
2. Next, tell your agent what you want to do—for example, 'List all my unpublished articles that mention Rust.'
3. Finally, your agent executes the necessary tools, fetches the data, and presents the results right back to you for review or action.

## Frequently Asked Questions

**How do I use `list_my_all_articles`?**
Running `list_my_all_articles` gives a comprehensive list of every article you've ever written on Dev.to, whether it's published to the public or still sitting in your drafts.

**Can I update an existing post using `update_article`?**
Yes. You must provide the specific ID of the article you want to change; otherwise, the tool won't know which piece of content to modify.

**What is the difference between `list_my_articles` and `list_my_all_articles`?**
`list_my_articles` gives a general list, but `list_my_all_articles` provides the full history of everything you've ever created on Dev.to.

**How do I check my followers using `list_followers`?**
You tell your agent to run `list_followers` for your profile, and it pulls a list of every user who has followed you on the platform.

**What happens if I use `get_user` with an invalid ID?**
The MCP returns a clear error message. Your agent must check for this specific status code before trying to retrieve any data associated with the user, like their articles or followers.

**What information is needed when I use `create_page`?**
You need at minimum a page title and body content. The tool accepts structured input for rich text formatting, allowing you to build pages that go beyond simple markdown articles.

**How can I check available tags using `list_tags`?**
Yes, this command pulls a full list of every tag used in the community. This is useful for ensuring your new articles are accurately categorized before you publish them.

**What permissions are required to run `list_organization_articles`?**
You need explicit Admin or Owner rights for that specific organization. The MCP will halt execution and flag an authorization failure if the API key lacks the necessary organizational permissions.

**Can I see both my published and unpublished articles?**
Yes! You can use `list_my_all_articles` to see everything, or use specific tools like `list_my_published_articles` and `list_my_unpublished_articles` to filter your content.

**How do I find the top articles for a specific tag like 'javascript'?**
Use the `list_articles` tool and provide 'javascript' in the `tag` parameter. You can also use the `top` parameter to find the most popular ones over a certain number of days.

**Can I manage my reading list through the AI?**
You can retrieve your reading list using the `list_reading_list` tool, allowing your AI to summarize or organize articles you've saved for later.