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

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MyrinNew
    Senior Member
    • Feb 2024
    • 5175

    #1

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

    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
    });






    Here's the PR







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

    #4








    nickytonline
    posted on Sep 11, 2025





    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



    After






    View on GitHub








    The Result

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





    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!







    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




    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



    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…






    View on GitHub





    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




    More...
Working...