Getting below error :
"'str' object has no attribute 'message'"
For the code piece :
Hi @Ram Mehta ,
I'm going to move this to Rovo forum group. There's also a dedicated discussion forum group for Atlassian Rovo MCP Server.
From what I managed to dig out, potentially the error occurs when handling the result or an exception from session.call_tool(...)
What you could check is:
In modern Python, exceptions do not have a
.messageattribute by default. Instead, you should usestr(e)ore.args[0]to get the error message from an exception object.If you have any code like
except Exception as e: print(e.message), change it toprint(str(e)).
I'm no expert on this, so if anyone's got a smarter idea on what to check, feel free to chime in.
Apart from that, you could try to check with Developer community and see if they can help out (as most folk there are working with things like this).
Cheers,
Tobi
There's no error returned, I also had this piece of code in the Try Catch block.. but it did not return any error.
Just the object is coming as blank.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I see you posted this here as well https://community.atlassian.com/forums/Atlassian-Remote-MCP-Server/Running-a-python-code-to-connect-to-JIRA-mcp-server-getting/td-p/3166929, so I would suggest picking up there.
Hopefully someone will chime in and help you troubleshoot this, as it's really not my area of expertise. 🤞
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Ram Mehta I'll add...that error usually means session.call_tool() is raising/returning a string error payload, and your client code (or the MCP lib) expects an object with a .message field (what @Tomislav Tobijas mentioned). Common causes: wrong argument shape, tool name mismatch, or server returning a plain-text error.
Quick fixes to try:
Don’t compute tool_name like this (it always picks get_issue). Confirm the exact tool name from list_tools() and use it.
Print the raw result and handle non-standard errors:
try:
result = await session.call_tool(tool_name, arguments={"issue_key":"AS-60387"})
except Exception as e:
print("call_tool error:", repr(e))
return
print("raw result:", result)
Double-check the tool’s required argument key (some use issueKey or key, not issue_key).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.