Skip to content

Commit ba6af47

Browse files
authored
fix(mcp): support mcp>=1.8.0 with new SessionMessage structure (#1634)
1 parent 47c2ac3 commit ba6af47

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

python/instrumentation/openinference-instrumentation-mcp/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ dependencies = [
3232

3333
[project.optional-dependencies]
3434
instruments = [
35-
"mcp >= 1.6.0",
35+
"mcp >= 1.8.0",
3636
]
3737

3838
[project.entry-points.opentelemetry_instrumentor]

python/instrumentation/openinference-instrumentation-mcp/src/openinference/instrumentation/mcp/__init__.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,12 @@ async def __aexit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> Any:
9191
return await self.__wrapped__.__aexit__(exc_type, exc_value, traceback)
9292

9393
async def __aiter__(self) -> AsyncGenerator[Any, None]:
94-
from mcp.types import JSONRPCMessage, JSONRPCRequest
94+
from mcp.shared.message import SessionMessage
95+
from mcp.types import JSONRPCRequest
9596

9697
async for item in self.__wrapped__:
97-
request = cast(JSONRPCMessage, item).root
98+
session_message = cast(SessionMessage, item)
99+
request = session_message.message.root
98100

99101
if not isinstance(request, JSONRPCRequest):
100102
yield item
@@ -122,9 +124,11 @@ async def __aexit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> Any:
122124
return await self.__wrapped__.__aexit__(exc_type, exc_value, traceback)
123125

124126
async def send(self, item: Any) -> Any:
125-
from mcp.types import JSONRPCMessage, JSONRPCRequest
127+
from mcp.shared.message import SessionMessage
128+
from mcp.types import JSONRPCRequest
126129

127-
request = cast(JSONRPCMessage, item).root
130+
session_message = cast(SessionMessage, item)
131+
request = session_message.message.root
128132
if not isinstance(request, JSONRPCRequest):
129133
return await self.__wrapped__.send(item)
130134
meta = None

python/instrumentation/openinference-instrumentation-mcp/test-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
mcp==1.6.0
1+
mcp==1.8.0
22

33
httpx
44
opentelemetry-exporter-otlp-proto-http

0 commit comments

Comments
 (0)