More extensible CallToolRequest
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- java
- Área
- api, backend-api-design
Línea de trabajo
Comienza leyendo McpJsonMapper.java y sigue cómo CallToolRequest deserializa los argumentos de la herramienta. Define el punto de extensión admitido para el análisis de solicitudes específico de la herramienta, conservando el comportamiento existente basado en mapas, y verifica el comportamiento elegido con las pruebas de deserialización de solicitudes pertinentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Expected Behavior
We want to define our own tool-specific requests with own parsers for 'params'.
Current Behavior
The arguments for tool calls are always Maps.
Context
We develop our own MCP server that offers features like querying and we have our own set of tools to parse, validate and execute them.
The problem is that request object is always de-serialised as a map and we need to serialise it back or figure out a way to reconstruct our objects from the maps. It works most of the time, but is rather inconvenient for queries.
There is https://github.com/modelcontextprotocol/java-sdk/blob/main/mcp-core/src/main/java/io/modelcontextprotocol/json/McpJsonMapper.java, but as far as I understand, it is mainly used to decouple Jackson from the rest of the code.
We could have used that but it looks rather technical.
What I would like to have: some way to define my own request objects and make their payloads shallow or leave them unparsed so the each individual tool can later parse its payload and decide what to do. Or stick with standard map-based one if that is fine for it.
- Lenguaje dominante
- Java
- Estrellas
- 3.7k
- Forks
- 1.1k
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 9
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.
Más de modelcontextprotocol/java-sdk
-
area/transport bug P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
modelcontextprotocol/java-sdk#1136 ·
-
area/client bug P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
modelcontextprotocol/java-sdk#1124 · 1 comentario ·
-
ServerCapabilities.logging is added unconditionally, overriding the caller's explicit capabilities Abiertobug P2 ready for work
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
modelcontextprotocol/java-sdk#1086 · 1 comentario ·
-
enhancement good first issue P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
modelcontextprotocol/java-sdk#1067 ·
-
bug P2 ready for work
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
modelcontextprotocol/java-sdk#898 · 1 comentario ·
Todos los issues de modelcontextprotocol/java-sdk
Issues similares
-
Bug Java Platform: Java
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
getsentry/sentry-java#6138 · 1 comentario ·
-
bug needs triage p2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
GoogleCloudPlatform/DataflowTemplates#4273 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
bug needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100