Skip to main content
Glama

mcp-run-python

Official
by pydantic
_instrumentation.py2.96 kB
from __future__ import annotations from dataclasses import dataclass from typing import TYPE_CHECKING if TYPE_CHECKING: from typing_extensions import Self DEFAULT_INSTRUMENTATION_VERSION = 2 """Default instrumentation version for `InstrumentationSettings`.""" @dataclass(frozen=True) class InstrumentationNames: """Configuration for instrumentation span names and attributes based on version.""" # Agent run span configuration agent_run_span_name: str agent_name_attr: str # Tool execution span configuration tool_span_name: str tool_arguments_attr: str tool_result_attr: str # Output Tool execution span configuration output_tool_span_name: str @classmethod def for_version(cls, version: int) -> Self: """Create instrumentation configuration for a specific version. Args: version: The instrumentation version (1, 2, or 3+) Returns: InstrumentationConfig instance with version-appropriate settings """ if version <= 2: return cls( agent_run_span_name='agent run', agent_name_attr='agent_name', tool_span_name='running tool', tool_arguments_attr='tool_arguments', tool_result_attr='tool_response', output_tool_span_name='running output function', ) else: return cls( agent_run_span_name='invoke_agent', agent_name_attr='gen_ai.agent.name', tool_span_name='execute_tool', # Will be formatted with tool name tool_arguments_attr='gen_ai.tool.call.arguments', tool_result_attr='gen_ai.tool.call.result', output_tool_span_name='execute_tool', ) def get_agent_run_span_name(self, agent_name: str) -> str: """Get the formatted agent span name. Args: agent_name: Name of the agent being executed Returns: Formatted span name """ if self.agent_run_span_name == 'invoke_agent': return f'invoke_agent {agent_name}' return self.agent_run_span_name def get_tool_span_name(self, tool_name: str) -> str: """Get the formatted tool span name. Args: tool_name: Name of the tool being executed Returns: Formatted span name """ if self.tool_span_name == 'execute_tool': return f'execute_tool {tool_name}' return self.tool_span_name def get_output_tool_span_name(self, tool_name: str) -> str: """Get the formatted output tool span name. Args: tool_name: Name of the tool being executed Returns: Formatted span name """ if self.output_tool_span_name == 'execute_tool': return f'execute_tool {tool_name}' return self.output_tool_span_name

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pydantic/pydantic-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server