modelcontextprotocol / modelcontextprotocol/typescript-sdk
[TRACKING] non compliance with SEP-986 / tool name validation
Open
Nobody has claimed this yet.
help wanted
improves spec compliance
needs maintainer
P2
question
- Dominant language
- TypeScript
- Stars
- 13.4k
- Forks
- 2.2k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 4
Description
Using this issue to track non compliance by LLM providers / MCP Clients with tool name spec validation.
For context this is the current spec:
- Tool names SHOULD be between 1 and 128 characters in length (inclusive).
- Tool names SHOULD be considered case-sensitive.
- The following SHOULD be the only allowed characters: uppercase and lowercase ASCII letters (A-Z, a-z), digits (0-9), underscore (_), hyphen (-), and dot (.)
- Tool names SHOULD NOT contain spaces, commas, or other special characters.
- Tool names SHOULD be unique within a server.
- Example valid tool names: getUser, DATA_EXPORT_v2, admin.tools.list
Please report compliance issues below.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names only the draft server/tools.mdx specification; no SDK file, test, or entry point is identified. Start by reading that specification and determine which concrete client or provider non-compliance is being addressed. A contribution would need a narrowly scoped case and a testable definition of done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100