Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/docs/develop/build-client.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,10 @@ When you submit a query:
- Validate server responses
- Be cautious with tool permissions

4. **Tool Names**
- Tool names can be validated according to the format specified [here](/specification/draft/server/tools#tool-names)
- If a tool name conforms to the specified format, it should not fail validation by an MCP client

## Troubleshooting

### Server Path Issues
Expand Down
1 change: 1 addition & 0 deletions docs/docs/develop/build-server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ Writing to stdout will corrupt the JSON-RPC messages and break your server.
### Best Practices

1. Use a logging library that writes to stderr or files.
1. Tool names should follow the format specified [here](/specification/draft/server/tools#tool-names).

### Quick Examples

Expand Down
13 changes: 13 additions & 0 deletions docs/specification/draft/server/tools.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,19 @@ tool annotations to be untrusted unless they come from trusted servers.

</Warning>

#### Tool Names

- 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 (\_), dash (-), 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

### Tool Result

Tool results may contain [**structured**](#structured-content) or **unstructured** content.
Expand Down