@@ -24,7 +24,7 @@ def setup_logger_two():
24
24
return logger
25
25
26
26
27
- class MCPInstrumentor (BaseInstrumentor ):
27
+ class MCPInstrumentor (BaseInstrumentor ): # pylint: disable=attribute-defined-outside-init
28
28
"""
29
29
An instrumenter for MCP.
30
30
"""
@@ -95,7 +95,7 @@ async def _wrap_handle_request(self, wrapped, instance, args, kwargs):
95
95
else :
96
96
return await wrapped (* args , ** kwargs )
97
97
98
- def _inject_trace_context (self , request_data , span_ctx ):
98
+ def _inject_trace_context (self , request_data , span_ctx ): # pylint: disable=no-self-use
99
99
if "params" not in request_data :
100
100
request_data ["params" ] = {}
101
101
if "_meta" not in request_data ["params" ]:
@@ -106,7 +106,7 @@ def _inject_trace_context(self, request_data, span_ctx):
106
106
traceparent = f"00-{ trace_id_hex } -{ span_id_hex } -{ trace_flags } "
107
107
request_data ["params" ]["_meta" ]["traceparent" ] = traceparent
108
108
109
- def _extract_span_context_from_traceparent (self , traceparent ):
109
+ def _extract_span_context_from_traceparent (self , traceparent ): # pylint: disable=no-self-use
110
110
parts = traceparent .split ("-" )
111
111
if len (parts ) == 4 :
112
112
try :
@@ -123,9 +123,9 @@ def _extract_span_context_from_traceparent(self, traceparent):
123
123
return None
124
124
return None
125
125
126
- def _get_span_name (self , req ):
126
+ def _get_span_name (self , req ): # pylint: disable=no-self-use
127
127
span_name = "unknown"
128
- import mcp .types as types
128
+ import mcp .types as types # pylint: disable=import-outside-toplevel
129
129
130
130
if isinstance (req , types .ListToolsRequest ):
131
131
span_name = "tools/list"
@@ -137,7 +137,7 @@ def _get_span_name(self, req):
137
137
return span_name
138
138
139
139
def handle_attributes (self , span , request , is_client = True ):
140
- import mcp .types as types
140
+ import mcp .types as types # pylint: disable=import-outside-toplevel
141
141
142
142
operation = self ._get_span_name (request )
143
143
if isinstance (request , types .ListToolsRequest ):
@@ -152,13 +152,13 @@ def handle_attributes(self, span, request, is_client=True):
152
152
else :
153
153
self ._add_server_attributes (span , operation , request )
154
154
155
- def _add_client_attributes (self , span , operation , request ):
155
+ def _add_client_attributes (self , span , operation , request ): # pylint: disable=no-self-use
156
156
span .set_attribute ("aws.remote.service" , "Appsignals MCP Server" )
157
157
span .set_attribute ("aws.remote.operation" , operation )
158
158
if hasattr (request , "params" ) and hasattr (request .params , "name" ):
159
159
span .set_attribute ("tool.name" , request .params .name )
160
160
161
- def _add_server_attributes (self , span , operation , request ):
161
+ def _add_server_attributes (self , span , operation , request ): # pylint: disable=no-self-use
162
162
span .set_attribute ("server_side" , True )
163
163
if hasattr (request , "params" ) and hasattr (request .params , "name" ):
164
164
span .set_attribute ("tool.name" , request .params .name )
0 commit comments