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
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
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- 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