DEV Community

Cover image for Quick Fix: My MCP Tools Were Showing as Write Tools in ChatGPT Dev Mode
Nick Taylor
Nick Taylor Subscriber

Posted on • Originally published at nickyt.co

Quick Fix: My MCP Tools Were Showing as Write Tools in ChatGPT Dev Mode

I recently enabled ChatGPT developer mode and noticed something weird: all my dev.to MCP server tools were showing up as write tools, even though they're purely read-only operations that just fetch data.

Turns out there are additional MCP tool annotations I wasn't using that fix this issue.

The Fix

I added readOnlyHint and openWorldHint annotations to all my tools:

server.registerTool("get_articles", {
  description: "Get articles from dev.to",
  annotations: {
    readOnlyHint: true,
    openWorldHint: true
  },
  // ... rest of tool definition
});
Enter fullscreen mode Exit fullscreen mode

Here's the PR

feat: add MCP tool annotations for read-only API operations #4

This pull request adds annotations metadata to all the read-only endpoints in the src/index.ts server definition. These annotations provide hints that the endpoints are read-only and operate in an open-world context, which can help with documentation, tooling, or automated analysis.

This came about after ChatGPT released their dev mode and I noticed that my tools all said they could write, which they don't so I included additional MCP tool annotations to all the tools in the dev.to MCP server. Thanks @wasaga for this find.

Before

CleanShot 2025-09-10 at 21 34 39@2x

After

CleanShot 2025-09-10 at 21 50 00@2x

The Result

Now my tools properly show up as read-only in ChatGPT dev mode instead of being mislabeled as write tools.

ChatGPT in dev mode showing the tools for the dev.to MCP server

Thanks to my coworker @wasaga for pointing me toward that part of the MCP docs!

If you're building MCP servers, check out the available tool annotations to make sure your tools are properly labeled.

Want to check out the dev.to MCP server? 👇 Also, don't forget to give it a star!

GitHub logo nickytonline / dev-to-mcp

A remote Model Context Protocol (MCP) server for interacting with the dev.to public API without requiring authentication.

Dev.to MCP Server

A remote Model Context Protocol (MCP) server for interacting with the dev.to public API without requiring authentication.

Features

This MCP server provides access to the following dev.to public API endpoints:

  • get_articles - Get articles from dev.to with optional filters (username, tag, state, pagination)
  • get_article - Get a specific article by ID or path
  • get_user - Get user information by ID or username
  • get_tags - Get popular tags from dev.to
  • get_comments - Get comments for a specific article
  • search_articles - Search articles using query parameters

Installation

npm install
npm run build
Enter fullscreen mode Exit fullscreen mode

Usage

The server runs as a remote HTTP server on port 3000 (or the PORT environment variable) and can be used with any MCP-compatible client.

npm start
Enter fullscreen mode Exit fullscreen mode

The server will be available at http://localhost:3000 for MCP connections.

Development

# Build the project
npm run build
# Watch mode for development
npm run dev

# Linting
npm run
Enter fullscreen mode Exit fullscreen mode

Until the next one peeps!

If you want to stay in touch, all my socials are on nickyt.online. Like dev tips. Check out OneTipAWeek.com!

Photo by Anton Savinov on Unsplash

Top comments (0)