Skip to content

Conversation

jdnvn
Copy link

@jdnvn jdnvn commented Aug 18, 2025

This implements the spec change from modelcontextprotocol/modelcontextprotocol#663 to improve user experience by allowing servers to provide a human-friendly names, called "title", for tools, prompts and resources.

Motivation and Context

There is a worklog to apply the changes to all SDKs but Ruby didn't seem to be listed, so figured I'd go ahead and open a PR!

How Has This Been Tested?

I've tested the gem locally with each object type from my own Rails MCP server. I also tested both scenarios - with title added vs omitted and both worked as expected.

Breaking Changes

No, this is an optional field

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

When a title is not added, it will not be included in the response. I assume this is the expected behavior here vs returning a blank title? That's my intuition but curious to hear other's thoughts.

Copy link
Contributor

@topherbullock topherbullock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@topherbullock topherbullock merged commit 6236033 into modelcontextprotocol:main Aug 20, 2025
5 checks passed
koic added a commit that referenced this pull request Aug 23, 2025
Follow-up to #109.

The introduction of `title` in #109 is still a draft and is not supported in the latest specification, `Version 2025-06-18 (latest)`.

In this PR, the README.md will be updated to mention this point and restore the references to the removed `annotations.title`.

This aims to inform users that, as of `Version 2025-06-18 (latest)`, the use of `annotations.title` is considered stable.

Additionally, separate validation for these parameters could be added.

Please refer to the following comment regarding `annotations.title` and `title`:
modelcontextprotocol/modelcontextprotocol#663 (comment)
@koic koic mentioned this pull request Aug 28, 2025
9 tasks
koic added a commit that referenced this pull request Aug 29, 2025
Follow-up to #109.

`title` has also been added to `serverInfo` and `clientInfo` by
modelcontextprotocol/modelcontextprotocol#663.

Since `clientInfo` is not treated as product code, support is implemented only in `serverInfo`.

See also https://modelcontextprotocol.io/specification/2025-06-18/schema#implementation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants