Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
  • Community
  • Q&A
  • Rovo
  • Questions
  • Running a python code to connect to JIRA mcp server getting error : "'str' object has no attribute '

Running a python code to connect to JIRA mcp server getting error : "'str' object has no attribute '

Ram Mehta
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 19, 2025

Getting below error :

"'str' object has no attribute 'message'"

For the code piece :

async def run_jira_query():
    # 1. Define how to launch the Jira MCP server # We use 'uvx' to run the server executable.
    # # If you pip installed it, you might use 'python', '-m', 'mcp_server_jira' instead.
    server_params = StdioServerParameters(
         command= sys.executable, args=[
             "-m", "mcp_server_jira",
             "--jira-base-url", JIRA_URL,
             "--jira-token", JIRA_API_TOKEN ] )
   
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            # 3. Initialize the session
            await session.initialize()
           
            # Optional: List available tools to see what you can call
            tools = await session.list_tools()
            tool_names = [t.name for t in tools.tools]
            print(f"Connected! Available tools: {tool_names}")

            # 4. Call the 'search_issues' tool
            # Check which tool name is available (some versions use 'jira_search', others 'search_issues')
            tool_name = "get_issue" if "get_issue" in tool_names else "get_issue"
           
            jql_query = "assignee = currentUser() ORDER BY created DESC"
           
            print(f"Executing JQL: {jql_query} using tool '{tool_name}'...")
           
            result = await session.call_tool(
                tool_name,
                arguments={"issue_key": "AS-60387"}
            )

            # 5. Process the result
            for content in result.content:
                if content.type == "text":
                    print("\n--- Jira Results ---")
                    print(result)
I am able to connect successfully and get the list of the available tools as well.

1 answer

0 votes
Tomislav Tobijas
Community Champion
December 20, 2025

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 .message attribute by default. Instead, you should use str(e) or e.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 to print(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

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events