Skip to content

Add description field to Implementation interface#1817

Merged
bhosmer-ant merged 4 commits intomainfrom
add-description-to-implementation
Nov 14, 2025
Merged

Add description field to Implementation interface#1817
bhosmer-ant merged 4 commits intomainfrom
add-description-to-implementation

Conversation

@dsp-ant
Copy link
Copy Markdown
Member

@dsp-ant dsp-ant commented Nov 14, 2025

Summary

This PR adds an optional description field to the Implementation interface to align with the MCP registry's server.json format and provide human-readable context during the initialization handshake.

Changes

  1. Schema Update: Added optional description field to Implementation interface in schema/draft/schema.ts
  2. Changelog: Added entry to minor changes section in docs/specification/draft/changelog.mdx

Motivation

The MCP registry's server.json format includes a description field alongside name, title, version, websiteUrl, and icons. Adding this field to the Implementation interface:

  • Aligns protocol with registry format: Servers can now expose the same description during initialization that they publish to the registry
  • Provides richer context: Both clients and servers can describe their purpose and capabilities during the handshake
  • Complements existing fields: Works alongside the existing instructions field in InitializeResult, where description provides a brief summary and instructions provides detailed usage guidance

Example Usage

Server example:

{
  name: "weather-server",
  title: "Weather Data Server", 
  description: "Provides real-time weather data and forecasts for global locations",
  version: "1.0.0"
}

Client example:

{
  name: "claude-desktop",
  title: "Claude Desktop",
  description: "Desktop application for interacting with Claude AI and MCP servers",
  version: "0.5.0"
}

Registry Alignment

The MCP registry server.json structure includes:

  • name (required) - unique identifier
  • title (optional) - display name
  • description (required in registry) - brief explanation
  • version (required) - semantic version
  • websiteUrl (optional) - project homepage
  • icons (optional) - icon array

Our Implementation interface now supports all of these fields through BaseMetadata, Icons, and the newly added description field.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

dsp-ant and others added 2 commits November 14, 2025 21:44
Add optional description field to the Implementation interface to allow clients and servers to provide human-readable context about their purpose and capabilities during the initialize handshake.

This aligns with the MCP registry's server.json format which includes name, title, description, version, websiteUrl, and icons. The description field complements the existing instructions field in InitializeResult by providing a brief summary at the implementation level.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@bhosmer-ant bhosmer-ant left a comment

Choose a reason for hiding this comment

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

schema validation error, otherwise lgtm

Run npm run generate:schema to regenerate schema.json and schema.mdx files to include the new description field in Implementation interface.
@bhosmer-ant bhosmer-ant merged commit 5fa3143 into main Nov 14, 2025
7 checks passed
@bhosmer-ant bhosmer-ant deleted the add-description-to-implementation branch November 14, 2025 23:00
Copy link
Copy Markdown
Member

@cliffhall cliffhall left a comment

Choose a reason for hiding this comment

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

LGTM! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants