View Project
This is a Model Context Protocol server implementation for Dev.to that allows AI assistants to access and interact with Dev.to content.
Fetch latest and trending articles from Dev.to
Search for articles by various criteria
Get detailed information about specific articles
Get Detailed information about a User.
Access articles by tag or username
Create and publish new articles to Dev.to
Update existing articles
Caching mechanism to improve performance and reduce API calls
```bash
git clone https://github.com/Arindam200/devto-mcp.git
cd devto-mcp
```
2. Connect to the MCP server
Copy the below json with the appropriate {{PATH}} values:
```json
{
"mcpServers": {
"devto": {
"command": "{{PATH_TO_UV}}", // Run `which uv` and place the output here
"args": [
"--directory",
"{{PATH_TO_SRC}}",// cd into the repo, run `pwd` and enter the output here
"run",
],
"env": {
"DEV_TO_API_KEY":"Your Dev.to API Key" // Get it from https://dev.to/settings/extensions.
}
}
}
}
```
You can obtain a Dev.to API key from your [Dev.to settings page](https://dev.to/settings/extensions).
For Claude, save this as `claude_desktop_config.json` in your Claude Desktop configuration directory at:
```
~/Library/Application Support/Claude/claude_desktop_config.json
```
For Cursor, save this as `mcp.json` in your Cursor configuration directory at:
```
~/.cursor/mcp.json
```
3. Restart Claude Desktop / Cursor
Open Claude Desktop and you should now see Devto as an available integration.
Or restart Cursor.
The server provides the following tools:
`get_latest_articles()` - Get the latest articles from Dev.to
`get_top_articles()` - Get the most popular articles from Dev.to
`get_articles_by_tag(tag)` - Get articles by tag
`get_article_by_id(id)` - Get a specific article by ID
`search_articles(query, page=1)` - Search for articles by keywords in title/description
`get_article_details(article_id)` - Get full content and metadata for a specific article
`get_articles_by_username(username)` - Get articles written by a specific author
`create_article(title, body_markdown, tags, published)` - Create and publish a new article
`update_article(article_id, title, body_markdown, tags, published)` - Update an existing article
Here are some examples of what you can ask an AI assistant connected to this server:
"Find articles about Python on Dev.to"
"Show me the latest Dev.to articles"
"Get details for article 1234"
"What articles has user 'ben' written?"
"Search for articles about machine learning"
"Create a new article titled 'Getting Started with Python'"
"Update my article with ID 5678 to fix a typo in the content"
Built with