A Model Context Protocol (MCP) server for the DEV Community (Forem) API. Manage articles, comments, users, tags, and more through MCP-compatible clients.
The server provides 16 well-organized tools with mostly complete schemas and descriptions. Naming follows verb_noun conventions (get_, create_, update_) consistently. However, there are gaps in description quality for some parameters, missing output schema documentation, and no error handling guidance. The server excels at parameter typing and enumeration but lacks depth in explaining when/why to use each tool and what downstream operations they enable.
Create a new article on DEV Community. Set published to false to save as draft.
Get a published article by its numeric ID. Returns full article details including body content.
List published articles from DEV Community with optional filters. Returns articles ordered by descending popularity by default.
Get the profile of the currently authenticated DEV Community user (the owner of the API key).
Get a single comment by its ID code. Returns the comment with its nested replies.
Get comments for an article or podcast episode as threaded conversations. Returns top-level comments with nested replies.
No output schemas documented for any tool. LLMs cannot plan downstream tool calls or extract required fields without knowing response structure.
No error handling guidance in tool descriptions. When tools fail (e.g., 'article not found'), LLMs have no recovery path or next-step guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 60 | - | v1 |
Get the tags followed by the authenticated user.
Get the authenticated user's followers on DEV Community. Supports pagination with sort by creation date.
Get the authenticated user's own articles. Can filter by published, unpublished, or all.
Get details about a DEV Community organization by its username/slug.
Get articles published by an organization on DEV Community.
Get users who belong to a DEV Community organization.
Get the authenticated user's reading list (bookmarked articles). Supports pagination.
List available tags from DEV Community with pagination.
Get a user's public profile by their username or numeric ID.
Update an existing article by its ID. Only include fields you want to change.
Descriptions lack dependency hints and context for tool selection. For example, get_comments() does not explain when to use a_id vs p_id, and no guidance on retrieving article IDs first.
Parameter descriptions lack format/constraint details. For example, 'tag' parameter in get_articles has no guidance on valid tag names, case sensitivity, or how to discover available tags.
Tools referencing mutual exclusivity lack explicit guidance. get_comments() accepts both a_id and p_id but does not document that exactly one is required.
No indication of whether write operations (create_article, update_article) support dry-run or confirmation before execution, leaving no guard against accidental data loss.
Pagination parameter descriptions lack explicit bounds. Tools with page/per_page parameters do not document min/max values or default behavior.