Skip to content

Implement SEP-986: Tool Name Guidance #417

@devcrocod

Description

@devcrocod

This is a tracking issue for implementation of SEP-986.

Summary

This SEP proposes a standardized format for tool names in MCP to improve consistency, clarity, and interoperability across implementations. Tool names should be 1-64 characters, case-sensitive, and may include alphanumeric characters (a-z, A-Z, 0-9), underscores (_), dashes (-), dots (.), and forward slashes (/). Spaces, commas, and other special characters should not be used.

The Kotlin SDK currently does not validate tool names - the Tool data class accepts any string value for the name property, and the Server.addTool() method performs no format checks. While existing samples use compliant names like get_alerts and get_forecast, there is no enforcement of naming standards. This implementation will add validation logic to check tool name format when tools are registered, including length validation (1-64 characters), character set validation (alphanumeric, _, -, ., /), and appropriate error messages for non-conforming names. For backward compatibility, existing non-conforming tool names should be supported with deprecation warnings for at least one major version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions