首页
/ ModelContextProtocol C SDK 中提示功能不可见的解决方案

ModelContextProtocol C SDK 中提示功能不可见的解决方案

2025-07-08 20:56:47作者:韦蓉瑛

在 ModelContextProtocol C# SDK 开发过程中,开发者可能会遇到一个常见问题:创建的提示(prompt)在 Claude 桌面客户端中不可见。这个问题通常发生在使用 Stdio 服务器传输方式时,导致开发者无法正常测试和使用自定义提示功能。

问题现象

开发者按照标准方式创建提示类并注册服务后,发现提示无法在 Claude 桌面客户端中显示。示例代码如下:

[McpServerPromptType]
public static class Prompt
{
    [McpServerPrompt(Name = "test-prompt"), Description("Creates a prompt to summarize the provided message.")]
    public static ChatMessage Summarize([Description("The content to summarize")] string content) =>
        new(ChatRole.User, $"Please summarize this content into a single sentence: {content}");
}

builder.Services.AddMcpServer()
    .WithStdioServerTransport()
    .WithToolsFromAssembly()
    .WithPromptsFromAssembly();

问题原因

经过分析,这个问题是由于 SDK 包发布时存在的一个临时性缺陷导致的。该缺陷会阻止提示信息正确传输到客户端界面,使得开发者无法在 Claude 桌面端看到和使用自定义提示。

解决方案

开发团队已经快速响应并修复了这个问题。开发者可以通过以下两种方式解决:

  1. 使用最新发布的 NuGet 包:开发团队已经发布了修复后的新版本包,开发者只需更新到最新版本即可解决问题。

  2. 从主分支构建:如果开发者希望立即使用修复后的代码,可以直接从项目的主分支构建 SDK。

修复后,提示功能将正常显示在 Claude 桌面客户端中,开发者可以:

  • 看到自定义的提示名称和描述
  • 正常调用提示功能
  • 获得预期的响应结果

最佳实践

为避免类似问题,建议开发者:

  1. 定期检查并更新 SDK 版本
  2. 在遇到功能异常时,首先确认使用的是最新稳定版本
  3. 关注项目的更新日志,了解已知问题和修复情况

总结

ModelContextProtocol C# SDK 作为一个强大的开发工具,偶尔会遇到一些临时性问题。通过及时更新版本或从主分支构建,开发者可以快速解决提示不可见的问题,确保开发流程的顺畅。开发团队对问题的快速响应也体现了项目的活跃维护状态,为开发者提供了可靠的技术支持保障。

登录后查看全文
热门项目推荐