modelcontextprotocol / modelcontextprotocol/csharp-sdk

How can a server using the SSE (Server-Sent Events) model over HTTP support additional content like images within the conversational context?

Abierto
#752 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement needs confirmation
Lenguaje dominante
C#
Estrellas
4.5k
Forks
814
Merge medio
9 d 19 h
PR fusionados (30 d)
4

Descripción

[McpServerTool(Name = "ConvertImageFormat")]
[Description("Converts image format")] 
public static async Task<string> ConvertImageFormat(
    [Description("Base64 encoded image data")] string imageData, 
    [Description("Target format: jpeg, png, bmp")] string targetFormat) 
{
    try
    {
        if (imageData.Contains(","))
        {
            imageData = imageData.Split(',')[1];
        }

        byte[] imageBytes = Convert.FromBase64String(imageData);

        // Here you can integrate System.Drawing or ImageSharp for format conversion
        // For simplicity, this is just simulating the conversion
        var convertedBytes = await SimulateImageConversion(imageBytes, targetFormat);
        var convertedBase64 = Convert.ToBase64String(convertedBytes);

        return $"Image format conversion completed:\n" + 
               $"- Original size: {imageBytes.Length} bytes\n" +
               $"- Converted size: {convertedBytes.Length} bytes\n" + 
               $"- Target format: {targetFormat}\n" + 
               $"- Converted base64 data: data:image/{targetFormat};base64,{convertedBase64}";
    }
    catch (Exception ex)
    {
        return $"Error: Failed to convert image format - {ex.Message}"; 
    }
}

This approach/way of writing does not successfully call it.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza reproduciendo la llamada a la herramienta ConvertImageFormat sobre la configuración de SSE y HTTP descrita en el issue, y después inspecciona cómo el servidor gestiona el contenido de imagen en el contexto conversacional. Se considera terminado cuando la llamada a la herramienta tiene éxito y las imágenes pueden admitirse junto con la conversación; en el informe no se identifican archivos fuente ni pruebas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
api, backend
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.