MCP tool naming scheme

Resolved 💬 1 comment Opened Dec 17, 2025 by mrud Closed Jan 5, 2026

What version of Codex is running?

0.73.0

What subscription do you have?

Enterprise

Which model were you using?

_No response_

What platform is your computer?

_No response_

What issue are you seeing?

I added the google workspace mcp via https://github.com/gemini-cli-extensions/workspace and now I am getting:

■ {
  "error": {
    "message": "Invalid 'tools[48].name': string does not match pattern. Expected a string that matches the pattern '^[a-zA-Z0-9_-]+$'.",
    "type": "invalid_request_error",
    "param": "tools[48].name",
    "code": "invalid_value"
  }
}

https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool-names explicitly lists dots as allowed.

  • google-workspace
    • Status: enabled
calendar.respondToEvent, calendar.updateEvent, chat.findDmByEmail, chat.findSpaceByName, chat.getMessages, chat.listSpaces, chat.listThreads, chat.sendDm, chat.sendMessage,
chat.setUpSpace, docs.appendText, docs.create, docs.extractIdFromUrl, docs.find, docs.getText, docs.insertText, docs.move, docs.replaceText, drive.downloadFile, drive.findFolder,
drive.search, gmail.createDraft, gmail.get, gmail.listLabels, gmail.modify, gmail.search, gmail.send, gmail.sendDraft, people.getMe, people.getUserProfile, sheets.find,
sheets.getMetadata, sheets.getRange, sheets.getText, slides.find, slides.getMetadata, slides.getText, time.getCurrentDate, time.getCurrentTime, time.getTimeZone
    • Resources: (none)
    • Resource templates: (none)

What steps can reproduce the bug?

git clone https://github.com/gemini-cli-extensions/workspace
cd workspace && npm install && npm build && codex mcp add gsuite -- node $PWD/workspace-server/dist/index.js
echo fail || codex exec

What is the expected behavior?

  1. tools can have dots in their name
  2. the cli shows which mcp server exposes the missing tool

Additional information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗