Mcp Attributes

38 attributes in this category. 31 stable · 7 deprecated

38 attributes

Stable Attributes

mcp.cancelled.reason

string Scrub: Manual Visibility: Public OTel: False

Reason for the cancellation of an MCP operation.

Scrubbing Reason Cancellation reasons may contain user-specific or sensitive information
Example User cancelled the request
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.cancelled.reason",
  "brief": "Reason for the cancellation of an MCP operation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Cancellation reasons may contain user-specific or sensitive information"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "User cancelled the request",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.cancelled.request_id

string Scrub: Manual Visibility: Public OTel: False

Request ID of the cancelled MCP operation.

Example 123
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.cancelled.request_id",
  "brief": "Request ID of the cancelled MCP operation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "123",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.client.name

string Scrub: Manual Visibility: Public OTel: False

Name of the MCP client application.

Example claude-desktop
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.client.name",
  "brief": "Name of the MCP client application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "claude-desktop",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.client.title

string Scrub: Manual Visibility: Public OTel: False

Display title of the MCP client application.

Scrubbing Reason Client titles may reveal user-specific application configurations or custom setups
Example Claude Desktop
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.client.title",
  "brief": "Display title of the MCP client application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Client titles may reveal user-specific application configurations or custom setups"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Claude Desktop",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.client.version

string Scrub: Manual Visibility: Public OTel: False

Version of the MCP client application.

Example 1.0.0
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.client.version",
  "brief": "Version of the MCP client application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1.0.0",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.lifecycle.phase

string Scrub: Manual Visibility: Public OTel: False

Lifecycle phase indicator for MCP operations.

Example initialization_complete
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.lifecycle.phase",
  "brief": "Lifecycle phase indicator for MCP operations.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "initialization_complete",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.logging.data_type

string Scrub: Manual Visibility: Public OTel: False

Data type of the logged message content.

Example string
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.logging.data_type",
  "brief": "Data type of the logged message content.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "string",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.logging.level

string Scrub: Manual Visibility: Public OTel: False

Log level for MCP logging operations.

Example info
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.logging.level",
  "brief": "Log level for MCP logging operations.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "info",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.logging.logger

string Scrub: Manual Visibility: Public OTel: False

Logger name for MCP logging operations.

Scrubbing Reason Logger names may be user-defined and could contain sensitive information
Example mcp_server
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.logging.logger",
  "brief": "Logger name for MCP logging operations.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Logger names may be user-defined and could contain sensitive information"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "mcp_server",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.logging.message

string Scrub: Auto Visibility: Public OTel: False

Log message content from MCP logging operations.

Scrubbing Reason Log messages can contain user data
Example Tool execution completed successfully
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.logging.message",
  "brief": "Log message content from MCP logging operations.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Log messages can contain user data"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Tool execution completed successfully",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.method.name

string Scrub: Manual Visibility: Public OTel: True

The name of the MCP request or notification method being called.

Example tools/call
Changelog
v0.12.0 #420 Set is_in_otel=true, attribute exists in OTel MCP registry
v0.3.0 #171
Raw JSON
{
  "key": "mcp.method.name",
  "brief": "The name of the MCP request or notification method being called.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "tools/call",
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Set is_in_otel=true, attribute exists in OTel MCP registry"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.progress.current

integer Scrub: Manual Visibility: Public OTel: False

Current progress value of an MCP operation.

Example 50
Changelog
v0.4.0 #228
v0.3.0 #171
Raw JSON
{
  "key": "mcp.progress.current",
  "brief": "Current progress value of an MCP operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 50,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.progress.message

string Scrub: Manual Visibility: Public OTel: False

Progress message describing the current state of an MCP operation.

Scrubbing Reason Progress messages may contain user-specific or sensitive information
Example Processing 50 of 100 items
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.progress.message",
  "brief": "Progress message describing the current state of an MCP operation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Progress messages may contain user-specific or sensitive information"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Processing 50 of 100 items",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.progress.percentage

double Scrub: Manual Visibility: Public OTel: False

Calculated progress percentage of an MCP operation. Computed from current/total * 100.

Example 50
Changelog
v0.4.0 #228
v0.3.0 #171
Raw JSON
{
  "key": "mcp.progress.percentage",
  "brief": "Calculated progress percentage of an MCP operation. Computed from current/total * 100.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 50,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.progress.token

string Scrub: Manual Visibility: Public OTel: False

Token for tracking progress of an MCP operation.

Example progress-token-123
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.progress.token",
  "brief": "Token for tracking progress of an MCP operation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "progress-token-123",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.progress.total

integer Scrub: Manual Visibility: Public OTel: False

Total progress target value of an MCP operation.

Example 100
Changelog
v0.4.0 #228
v0.3.0 #171
Raw JSON
{
  "key": "mcp.progress.total",
  "brief": "Total progress target value of an MCP operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 100,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.prompt.result.description

string Scrub: Auto Visibility: Public OTel: False

Description of the prompt result.

Example A summary of the requested information
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.prompt.result.description",
  "brief": "Description of the prompt result.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "A summary of the requested information",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.prompt.result.message_content

string Scrub: Auto Visibility: Public OTel: False

Content of the message in the prompt result. Used for single message results only.

Example Please provide a summary of the document
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.prompt.result.message_content",
  "brief": "Content of the message in the prompt result. Used for single message results only.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Please provide a summary of the document",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.prompt.result.message_count

integer Scrub: Manual Visibility: Public OTel: False

Number of messages in the prompt result.

Example 3
Changelog
v0.4.0 #228
v0.3.0 #171
Raw JSON
{
  "key": "mcp.prompt.result.message_count",
  "brief": "Number of messages in the prompt result.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 3,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.prompt.result.message_role

string Scrub: Manual Visibility: Public OTel: False

Role of the message in the prompt result. Used for single message results only.

Example user
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.prompt.result.message_role",
  "brief": "Role of the message in the prompt result. Used for single message results only.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "user",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.protocol.ready

integer Scrub: Manual Visibility: Public OTel: False

Protocol readiness indicator for MCP session. Non-zero value indicates the protocol is ready.

Example 1
Changelog
v0.4.0 #228
v0.3.0 #171
Raw JSON
{
  "key": "mcp.protocol.ready",
  "brief": "Protocol readiness indicator for MCP session. Non-zero value indicates the protocol is ready.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.protocol.version

string Scrub: Manual Visibility: Public OTel: True

MCP protocol version used in the session.

Example 2024-11-05
Changelog
v0.12.0 #420 Set is_in_otel=true, attribute exists in OTel MCP registry
v0.3.0 #171
Raw JSON
{
  "key": "mcp.protocol.version",
  "brief": "MCP protocol version used in the session.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "2024-11-05",
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Set is_in_otel=true, attribute exists in OTel MCP registry"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.request.argument.<key>

string Scrub: Auto Visibility: Public OTel: False Dynamic

MCP request argument with dynamic key suffix. The <key> is replaced with the actual argument name. The value is a JSON-stringified representation of the argument value.

Scrubbing Reason Arguments contain user input
Example mcp.request.argument.query='weather in Paris'
Dynamic Suffix Yes - the key contains dynamic parts
Changelog
v0.3.0 #176
Raw JSON
{
  "key": "mcp.request.argument.<key>",
  "brief": "MCP request argument with dynamic key suffix. The <key> is replaced with the actual argument name. The value is a JSON-stringified representation of the argument value.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Arguments contain user input"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "mcp.request.argument.query='weather in Paris'",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        176
      ]
    }
  ]
}

mcp.request.argument.name

string Scrub: Auto Visibility: Public OTel: False

Name argument from prompts/get MCP request.

Scrubbing Reason Prompt names can contain user input
Example summarize
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.request.argument.name",
  "brief": "Name argument from prompts/get MCP request.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Prompt names can contain user input"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "summarize",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.request.argument.uri

string Scrub: Auto Visibility: Public OTel: False

URI argument from resources/read MCP request.

Scrubbing Reason URIs can contain user file paths
Example file:///path/to/resource
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.request.argument.uri",
  "brief": "URI argument from resources/read MCP request.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "URIs can contain user file paths"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "file:///path/to/resource",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.resource.uri

string Scrub: Auto Visibility: Public OTel: True

The resource URI being accessed in an MCP operation.

Scrubbing Reason URIs can contain sensitive file paths
Example file:///path/to/file.txt
Changelog
v0.12.0 #420 Set is_in_otel=true, attribute exists in OTel MCP registry
v0.3.0 #171
Raw JSON
{
  "key": "mcp.resource.uri",
  "brief": "The resource URI being accessed in an MCP operation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "URIs can contain sensitive file paths"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "file:///path/to/file.txt",
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Set is_in_otel=true, attribute exists in OTel MCP registry"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.server.name

string Scrub: Manual Visibility: Public OTel: False

Name of the MCP server application.

Example sentry-mcp-server
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.server.name",
  "brief": "Name of the MCP server application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "sentry-mcp-server",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.server.title

string Scrub: Manual Visibility: Public OTel: False

Display title of the MCP server application.

Scrubbing Reason Server titles may reveal user-specific application configurations or custom setups
Example Sentry MCP Server
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.server.title",
  "brief": "Display title of the MCP server application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Server titles may reveal user-specific application configurations or custom setups"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Sentry MCP Server",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.server.version

string Scrub: Manual Visibility: Public OTel: False

Version of the MCP server application.

Example 0.1.0
Changelog
v0.3.0 #171
Raw JSON
{
  "key": "mcp.server.version",
  "brief": "Version of the MCP server application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "0.1.0",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.session.id

string Scrub: Manual Visibility: Public OTel: True

Identifier for the MCP session.

Example 550e8400-e29b-41d4-a716-446655440000
Changelog
v0.12.0 #420 Set is_in_otel=true, attribute exists in OTel MCP registry
v0.3.0 #171
Raw JSON
{
  "key": "mcp.session.id",
  "brief": "Identifier for the MCP session.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "550e8400-e29b-41d4-a716-446655440000",
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Set is_in_otel=true, attribute exists in OTel MCP registry"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.tool.result.content_count

integer Scrub: Manual Visibility: Public OTel: False

Number of content items in the tool result.

Example 1
Changelog
v0.4.0 #228
v0.3.0 #171
Raw JSON
{
  "key": "mcp.tool.result.content_count",
  "brief": "Number of content items in the tool result.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

Deprecated Attributes

These attributes are deprecated and should not be used in new code. See each attribute for migration guidance.

mcp.prompt.name Deprecated

string Scrub: Manual Visibility: Public OTel: False

Name of the MCP prompt template being used.

Scrubbing Reason Prompt names may reveal user behavior patterns or sensitive operations
Example summarize

Use gen_ai.prompt.name instead.

OTel uses gen_ai.prompt.name for MCP prompt names

Status: backfill

Changelog
v0.12.0 #420 Deprecated in favor of gen_ai.prompt.name
v0.3.0 #171
Raw JSON
{
  "key": "mcp.prompt.name",
  "brief": "Name of the MCP prompt template being used.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Prompt names may reveal user behavior patterns or sensitive operations"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "summarize",
  "deprecation": {
    "replacement": "gen_ai.prompt.name",
    "reason": "OTel uses gen_ai.prompt.name for MCP prompt names",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.prompt.name"
  ],
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Deprecated in favor of gen_ai.prompt.name"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.request.id Deprecated

string Scrub: Manual Visibility: Public OTel: False

JSON-RPC request identifier for the MCP request. Unique within the MCP session.

Example 1

Use jsonrpc.request.id instead.

OTel models MCP as JSON-RPC, uses jsonrpc.request.id

Status: backfill

Changelog
v0.12.0 #420 Deprecated in favor of jsonrpc.request.id
v0.3.0 #171
Raw JSON
{
  "key": "mcp.request.id",
  "brief": "JSON-RPC request identifier for the MCP request. Unique within the MCP session.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1",
  "deprecation": {
    "replacement": "jsonrpc.request.id",
    "reason": "OTel models MCP as JSON-RPC, uses jsonrpc.request.id",
    "_status": "backfill"
  },
  "alias": [
    "jsonrpc.request.id"
  ],
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Deprecated in favor of jsonrpc.request.id"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.resource.protocol Deprecated

string Scrub: Manual Visibility: Public OTel: False

Protocol of the resource URI being accessed, extracted from the URI.

Example file

Use network.protocol.name instead.

OTel uses the generic network.protocol.name attribute

Status: backfill

Changelog
v0.12.0 #420 Deprecated in favor of network.protocol.name
v0.3.0 #171
Raw JSON
{
  "key": "mcp.resource.protocol",
  "brief": "Protocol of the resource URI being accessed, extracted from the URI.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "file",
  "deprecation": {
    "replacement": "network.protocol.name",
    "reason": "OTel uses the generic network.protocol.name attribute",
    "_status": "backfill"
  },
  "alias": [
    "network.protocol.name",
    "net.protocol.name"
  ],
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Deprecated in favor of network.protocol.name"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.tool.name Deprecated

string Scrub: Manual Visibility: Public OTel: False

Name of the MCP tool being called.

Example calculator

Use gen_ai.tool.name instead.

OTel uses gen_ai.tool.name for MCP tool names

Status: backfill

Changelog
v0.12.0 #420 Deprecated in favor of gen_ai.tool.name
v0.3.0 #171
Raw JSON
{
  "key": "mcp.tool.name",
  "brief": "Name of the MCP tool being called.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "calculator",
  "deprecation": {
    "replacement": "gen_ai.tool.name",
    "reason": "OTel uses gen_ai.tool.name for MCP tool names",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.name",
    "ai.function_call"
  ],
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Deprecated in favor of gen_ai.tool.name"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.tool.result.content Deprecated

string Scrub: Auto Visibility: Public OTel: False

The content of the tool result.

Scrubbing Reason Tool results can contain user data
Example {"output": "rainy", "toolCallId": "1"}

Use gen_ai.tool.call.result instead.

OTel uses gen_ai.tool.call.result for MCP tool results

Status: backfill

Changelog
v0.12.0 #420 Deprecated in favor of gen_ai.tool.call.result
v0.3.0 #171
v0.2.0 #164
Raw JSON
{
  "key": "mcp.tool.result.content",
  "brief": "The content of the tool result.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Tool results can contain user data"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "{\"output\": \"rainy\", \"toolCallId\": \"1\"}",
  "deprecation": {
    "replacement": "gen_ai.tool.call.result",
    "reason": "OTel uses gen_ai.tool.call.result for MCP tool results",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.call.result",
    "gen_ai.tool.message",
    "gen_ai.tool.output"
  ],
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Deprecated in favor of gen_ai.tool.call.result"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    },
    {
      "version": "0.2.0",
      "prs": [
        164
      ]
    }
  ]
}

mcp.tool.result.is_error Deprecated

boolean Scrub: Manual Visibility: Public OTel: False

Whether a tool execution resulted in an error.

Example false

Use error.type instead.

OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string).

Changelog
v0.12.0 #420 Deprecated in favor of error.type
v0.3.0 #171
Raw JSON
{
  "key": "mcp.tool.result.is_error",
  "brief": "Whether a tool execution resulted in an error.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": false,
  "deprecation": {
    "replacement": "error.type",
    "reason": "OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string).",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Deprecated in favor of error.type"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.transport Deprecated

string Scrub: Manual Visibility: Public OTel: False

Transport method used for MCP communication.

Example stdio

Use network.transport instead.

OTel uses the generic network.transport attribute

Status: backfill

Changelog
v0.12.0 #420 Deprecated in favor of network.transport
v0.3.0 #171
Raw JSON
{
  "key": "mcp.transport",
  "brief": "Transport method used for MCP communication.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "stdio",
  "deprecation": {
    "replacement": "network.transport",
    "reason": "OTel uses the generic network.transport attribute",
    "_status": "backfill"
  },
  "alias": [
    "network.transport",
    "net.transport"
  ],
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Deprecated in favor of network.transport"
    },
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}