If you've been wondering how to get your AI tools talking to dev.to's content without building yet another custom integration, I've got something that might interest you. I recently built an MCP server for dev.to that makes this whole thing a lot more straightforward.
The https://github.com/nickytonline/dev-to-mcp repository on GitHubWhy? Well, a couple of reasons. One, I used to work at Forem, so dev.to is near and dear to my heart. The other reason is because I've been doing a lot of work in the MCP space recently.
The https://github.com/pomerium/mcp-app-demo repository on GitHubWhat's MCP All About? permalink
Let me back up a bit. The Model Context Protocol (MCP) is Anthropic's open standard for connecting AI models to external data sources.
MCP is like having a standardized way for any AI system to talk to external resources without reinventing the wheel every time. It's been dubbed "the USB-C for AI."
What dev-to-mcp Does permalink
The dev-to-mcp server exposes dev.to's public API through six focused tools. Here's what you get:
Content Discovery:
get_articles
- Filter by author, tag, popularity, publication statesearch_articles
- Full-text search across all of dev.to's contentget_tags
- Access trending tags and topics
For example, ask to get the latest React articles
Content Access:
get_article
- Grab specific articles by ID or URL pathget_user
- Pull author profiles and user infoget_comments
- Read through article discussions and comment threads
Here I am asking for my articles:
In VS Code:
In the Pomerium MCP app demo.
In Goose:
Real-World Use Cases permalink
Once your AI has direct access to dev.to's ecosystem, you can do things like:
- Research the latest React patterns by pulling top articles tagged with "react"
- Track specific authors' posting patterns and expertise areas
- Analyze community discussions to understand developer sentiment on new technologies
- Generate content recommendations based on trending topics and engagement
The possibilities get interesting when you start combining different searches and analyses.
Getting It Running permalink
The setup is pretty straightforward:
npm install
npm run build
npm start
That's it. Your MCP server is now running on http://localhost:3000
and ready to serve up dev.to data. Use it in your favourite MCP client, like VS Code, Claude, Goose, etc.
For development, there's watch mode:
npm run dev
And if you want to deploy it via Docker:
docker build -t dev-to-mcp .
docker run -p 3000:3000 dev-to-mcp
However you run it, remember that the URL when you register it in an MCP client like VS Code will be e.g. http://localhost:3000/mcp
Under the Hood permalink
The MCP server leverages the MCP TypeScript SDK and Vite for a clean, modern development experience and leverages the dev.to API for dev.to content.
The https://github.com/modelcontextprotocol/typescript-sdk repository on GitHubWhat's Next permalink
This is meant to be for the dev.to public API server. You have access to additional endpoints with a dev.to API key as well, but for the initial release, I omitted that to keep things simple.
It'd be neat if you could register an OAuth app to avoid API keys altogether. That way, it could be deployed with the additional user-specific endpoints without requiring an API key which is only works for the editable content of the owner of the API key if accessing the additional endpoints.
@ben, if you want to host it officially, I think that'd be awesome, and I'd also be happy to move it to the forem org if there's interest.
For those interested in trying it out if you don't feel like deploying it yourself, it's available at https://devto.mcp.maisonlab.dev. If you try to use it, you'll be denied, so if you're OK with sending me your email address, I can add you to the Pomerium policy to give you access.
That's it! Check out the repo and give it a star if you find it useful. 😎
If you want to stay in touch, all my socials are on nickyt.online.
Photo by Gerard Siderius on Unsplash