devto-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEVTO_API_KEY | No | Your DEV.to API key, required for authenticated tools like creating/updating articles and viewing private profile. | |
| DEVTO_DEMO_MODE | No | Set to 'true' to enable Demo Mode returning synthetic data without an API key. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| devto_list_articlesA | List articles from DEV.to with optional filters. Args: tag: Filter by tag (e.g. 'python', 'webdev', 'ai'). username: Filter by specific author username (e.g. 'thepracticaldev'). state: Article state: 'fresh' (recently published), 'rising' (trending), or 'all'. top: Filter top articles by timeframe in days (e.g. 1 for today, 7 for week, 30 for month, 365 for year). page: Pagination page number (default 1). per_page: Number of articles to return (1-30, default 10). Returns: Formatted markdown list of article summaries. |
| devto_get_latest_articlesA | Get the latest published articles on DEV.to ordered chronologically. Args: page: Pagination page number (default 1). per_page: Number of articles to return (1-30, default 10). Returns: Formatted markdown list of the most recent articles. |
| devto_get_articleA | Fetch the full article details and complete Markdown body by its ID. Args: article_id: The integer ID of the DEV.to article (found in URLs or list_articles). Returns: Full article content in Markdown format including title, metadata, and body. |
| devto_search_articlesA | Search for DEV.to articles matching a text query or tag. Args: query: Search keywords or phrase (searches title and description). tag: Optional tag filter (e.g. 'python', 'docker'). per_page: Number of matching results to return (1-20, default 10). Returns: List of matching articles. |
| devto_get_commentsB | Fetch threaded discussion comments for a DEV.to article. Args: article_id: Integer ID of the DEV.to article. Returns: Formatted discussion thread with nested comment replies. |
| devto_get_commentA | Fetch a specific comment thread by comment ID. Args: comment_id: The ID code of the comment (e.g. '3e3k4'). Returns: The comment content and any sub-replies. |
| devto_get_user_profileA | Fetch public profile details and statistics for a DEV.to user. Args: username: DEV.to username handle (e.g. 'ben'). user_id: Alternatively, the integer ID of the user. Returns: Formatted profile summary including bio, social links, and joined date. |
| devto_get_meA | Fetch current authenticated user's account details and private settings. Requires DEVTO_API_KEY. Returns: Details about the currently authenticated user. |
| devto_get_tagsA | List popular tags on DEV.to. Args: page: Pagination page number (default 1). per_page: Number of tags to return (1-50, default 25). Returns: List of popular tags with their descriptions and color badges. |
| devto_get_my_articlesA | List articles created by the authenticated user. Requires DEVTO_API_KEY. Args: status: Filter by status: 'all', 'published', or 'unpublished' (drafts). Default 'all'. page: Pagination page (default 1). per_page: Articles per page (1-30, default 10). Returns: List of the authenticated user's articles including draft status. |
| devto_create_articleA | Create a new article on DEV.to as a draft or published post. Requires DEVTO_API_KEY. Args: title: Title of the article. body_markdown: Full article body formatted in Markdown. published: True to publish immediately, False to save as a private draft (default False for safety). tags: Optional list of up to 4 tags (e.g. ['python', 'tutorial', 'webdev']). series: Optional series name to group this article under. canonical_url: Optional canonical URL if this article was cross-posted from another blog. description: Optional brief summary/meta description. main_image: Optional URL for cover/hero image. Returns: Details and link to the created article or draft. |
| devto_update_articleA | Update an existing article or draft on DEV.to. Requires DEVTO_API_KEY. Args: article_id: The integer ID of the article to update. title: Optional new title. body_markdown: Optional updated Markdown content. published: Optional publish status (True to publish, False to unpublish/draft). tags: Optional updated list of tags (up to 4). series: Optional series name. canonical_url: Optional canonical URL. description: Optional meta description. main_image: Optional cover image URL. Returns: Confirmation of update with link to the article. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Tools are mostly distinct: search vs list vs latest all return articles but with different filter mechanisms (keyword vs filters vs chronological), and descriptions clarify the differences. There is some potential confusion between devto_search_articles and devto_list_articles, but they serve different query types.
All tools follow the consistent pattern devto_<verb>_<noun> (e.g., devto_get_article, devto_create_article, devto_search_articles). The verbs are consistent and readable, with no mixed conventions.
12 tools is well within the ideal range and each tool serves a distinct purpose for a DEV.to API client—covering search, listing, retrieval, comments, user profiles, tags, and article creation/updating. No redundant or unnecessary tools.
Core workflows are covered: reading articles, searching, listing, fetching comments, viewing profiles, and creating/updating articles. The main gap is the absence of a delete article tool, and no ability to post comments, but these are minor for typical use cases.