Development
Valida traceparent según la ABNF de W3C Trace Context (versión / trace-id de 16 bytes / parent-id de 8 bytes / trace-flags de 1 byte; rechaza ceros y versión ff, avisa en mayúsculas), tracestate (≤32 miembros, claves simples y tenant@sistema, avisos por duplicados) y baggage (valores percent-codificados con propiedades opacas); comprueba el Content-Type de exportación OTLP y el contexto binario de 25 bytes de grpc-trace-context-bin; correlaciona dos traceparent en un round-trip simulado (estabilidad del trace-id y colisión de span-id hijo aleatorio) y emite cabeceras normalizadas listas para reenviar.
Llama a esta herramienta desde tu código en tres lenguajes.
curl -X POST 'https://api.elysiatools.com/es/api/tools/opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator' \
-H 'Content-Type: application/json' \
-d '{"traceparent":"00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01","tracestate":"congo=t61rcWkgMzE,rojo=00f067aa0ba902b7","baggage":"userId=alice;serverNode=DF%2028;isProduction=false","transport":"grpc","contentType":"application/x-protobuf","grpcTraceContextBin":"S/kvNXezTaajzpKdDg5HNgDwZ6oLqQK3AQ==","secondTraceparent":"00-4bf92f3577b34da6a3ce929d0e0e4736-aabbccddeeff0011-01"}'Envía una petición POST con tus entradas en JSON. Los parámetros de tipo archivo requieren una subida previa.
POST https://api.elysiatools.com/es/api/tools/opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| traceparent | text | Sí | — |
| tracestate | text | No | — |
| baggage | text | No | — |
| transport | select | No | — |
| contentType | text | No | — |
| grpcTraceContextBin | text | No | — |
| secondTraceparent | text | No | — |
Resultado HTML
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Añade esta herramienta a tu servidor Model Context Protocol para que los agentes de IA puedan listarla y llamarla.
Añade este bloque a la configuración de tu cliente MCP:
{
"mcpServers": {
"elysiatools-opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator": {
"name": "opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator",
"description": "Valida traceparent según la ABNF de W3C Trace Context (versión / trace-id de 16 bytes / parent-id de 8 bytes / trace-flags de 1 byte; rechaza ceros y versión ff, avisa en mayúsculas), tracestate (≤32 miembros, claves simples y tenant@sistema, avisos por duplicados) y baggage (valores percent-codificados con propiedades opacas); comprueba el Content-Type de exportación OTLP y el contexto binario de 25 bytes de grpc-trace-context-bin; correlaciona dos traceparent en un round-trip simulado (estabilidad del trace-id y colisión de span-id hijo aleatorio) y emite cabeceras normalizadas listas para reenviar.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Tras conectar al endpoint SSE, lista las herramientas expuestas:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoca la herramienta por su id; los argumentos se construyen a partir de sus parámetros:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator",
"arguments": {
"traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"tracestate": "congo=t61rcWkgMzE,rojo=00f067aa0ba902b7",
"baggage": "userId=alice;serverNode=DF%2028;isProduction=false",
"transport": "grpc",
"contentType": "application/x-protobuf",
"grpcTraceContextBin": "S/kvNXezTaajzpKdDg5HNgDwZ6oLqQK3AQ==",
"secondTraceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-aabbccddeeff0011-01"
}
}
}¿Dudas o problemas? Contacta con [email protected]