-
Notifications
You must be signed in to change notification settings - Fork 46
Description
Is there an existing issue for this?
- I have searched the existing issues
Current behavior
Added using npx:
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=REDACTED -- npx -y @circleci/mcp-server-circleci
The broadcasted tool names contain a slash though:
Which the Claude API does not like:
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"tools.80.custom.name: String should match pattern '^[a-zA-Z0-9_-]{1,128}$'"}}
https://arc.net/l/quote/lenpumof
The MCP Protocol doesn't seem to prescribe any limitations on tool names so maybe this a bug to file with Claude Code to normalize it's own tool names to send to the api and denormalize when they come back? I decided to post here though since I don't think it's likely Anthropic will change the way they handle tool names in Claude Code.
Minimum reproduction code
Just run claude (version 1.0.60 (Claude Code)) with @circleci/mcp-server-circleci version 0.11.3 and this happens
Steps to reproduce
- Setup with claude code per docs
- Run
claude - Make any request even one that would not normally invoke a circle ci tool
It didn't start giving me problems until just like an hour ago (00:00 UTC on Jul 25).
Expected behavior
Tool names do not include a slash and match '^[a-zA-Z0-9_-]{1,128}$'
MCP Server CircleCI version
0.11.3
Node.js version
22.16.0
CircleCI API Token
Yes
In which agents have you tested?
- Cursor
- Windsurf
- Claude Code
- Other
Additional context
No response


