Skip to content

Conversation

@CainYzb
Copy link
Contributor

@CainYzb CainYzb commented Sep 2, 2025

Pull Request

Related Issues

[09/02/25 16:54:12] ERROR    Error calling tool 'get_android_manifest'                           tool_manager.py:231
                             ╭─────────────── Traceback (most recent call last) ───────────────╮                    
                             │ /opt/homebrew/lib/python3.12/site-packages/fastmcp/tools/tool_m │                    
                             │ anager.py:222 in call_tool                                      │                    
                             │                                                                 │                    
                             │   219 │   │   │   │   raise NotFoundError(f"Tool {key!r} not fo │                    
                             │   220 │   │   │                                                 │                    
                             │   221 │   │   │   try:                                          │                    
                             │ ❱ 222 │   │   │   │   return await tool.run(arguments)          │                    
                             │   223 │   │   │                                                 │                    
                             │   224 │   │   │   # raise ToolErrors as-is                      │                    
                             │   225 │   │   │   except ToolError as e:                        │                    
                             │                                                                 │                    
                             │ /opt/homebrew/lib/python3.12/site-packages/fastmcp/tools/tool.p │                    
                             │ y:323 in run                                                    │                    
                             │                                                                 │                    
                             │   320 │   │   │   except Exception:                             │                    
                             │   321 │   │   │   │   pass                                      │                    
                             │   322 │   │                                                     │                    
                             │ ❱ 323 │   │   return ToolResult(                                │                    
                             │   324 │   │   │   content=unstructured_result,                  │                    
                             │   325 │   │   │   structured_content=structured_output,         │                    
                             │   326 │   │   )                                                 │                    
                             │                                                                 │                    
                             │ /opt/homebrew/lib/python3.12/site-packages/fastmcp/tools/tool.p │                    
                             │ y:83 in __init__                                                │                    
                             │                                                                 │                    
                             │    80 │   │   │   │   )                                         │                    
                             │    81 │   │   │   │   raise                                     │                    
                             │    82 │   │   │   if not isinstance(structured_content, dict):  │                    
                             │ ❱  83 │   │   │   │   raise ValueError(                         │                    
                             │    84 │   │   │   │   │   "structured_content must be a dict or │                    
                             │    85 │   │   │   │   │   f"Got {type(structured_content).__nam │                    
                             │    86 │   │   │   │   │   "Tools should wrap non-dict values ba │                    
                             ╰─────────────────────────────────────────────────────────────────╯                    
                             ValueError: structured_content must be a dict or None. Got str:                        
                             '{"name":"AndroidManifest.xml","type":"manifest/xml","content":"<?x                    
                             ml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<manifest                                
                             xmlns:android=\\"http://schemas.android.com/apk/res/android\\"\\n                      
                             android:versionCode=\\"100001\\"\\n                                                    
                             android:versionName=\\"1.0\\"\\n                                                       
                             android:compileSdkVersion=\\"29\\"\\n                                                  
                             android:compileSdkVersionCodename=\\"10\\"\\n                                          
                             package=\\"com.iee3b00cb99786f4d\\"\\n                                                 
                             platformBuildVersionCode=\\"29\\"\\n                                                   
                             platformBuildVersionName=\\"10\\">\\n    <uses-sdk\\n                                  
                             android:minSdkVersion=\\"16\\"\\n                                                      
                             android:targetSdkVersion=\\"29\\"/>\\n    <uses-permission                             
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"android.permission.MANAGE_EXTERNAL_STORAGE\\"/>\\n                     
                             <uses-permission android:name=\\"\\"/>\\n    <uses-feature                             
                             android:name=\\"\\"/>\\n    <uses-feature android:name=\\"\\"/>\\n                     
                             <uses-feature android:name=\\"\\"/>\\n    <uses-feature                                
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"\\"/>\\n    <uses-permission                                           
                             android:name=\\"android.permission.REQUEST_INSTALL_PACKAGES\\"/>\\n                    
                             <uses-permission android:name=\\"\\"/>\\n    <application\\n                           
                             android:theme=\\"@style/Theme.V6Application\\"\\n                                      
                             android:label=\\"安卓签到\\"\\n                                                        
                             android:icon=\\"@mipmap/i\\"\\n                                                        
                             android:allowBackup=\\"true\\"\\n                                                      
                             android:hardwareAccelerated=\\"true\\"\\n                                              
                             android:largeHeap=\\"true\\"\\n                                                        
                             android:supportsRtl=\\"true\\"\\n                                                      
                             android:usesCleartextTraffic=\\"true\\"\\n                                             
                             android:resizeableActivity=\\"true\\"\\n                                               
                             android:networkSecurityConfig=\\"@xml/network_config\\"\\n                             
                             android:requestLegacyExternalStorage=\\"true\\">\\n                                    
                             <meta-data\\n            android:name=\\"android.max_aspect\\"\\n                      
                             android:value=\\"2.1\\"/>\\n        <activity\\n                                       
                             android:name=\\"i6.app.iActivity\\"\\n                                                 
                             android:configChanges=\\"screenSize|orientation|keyboardHidden\\">\                    
                             \n            <intent-filter>\\n                <action                                
                             android:name=\\"android.intent.action.MAIN\\"/>\\n                                     
                             <category android:name=\\"android.intent.category.LAUNCHER\\"/>\\n                     
                             </intent-filter>\\n        </activity>\\n        <provider\\n                          
                             android:name=\\"i.app.FileProvider\\"\\n                                               
                             android:exported=\\"false\\"\\n                                                        
                             android:authorities=\\"com.iee3b00cb99786f4d.myFileProvider\\"\\n                      
                             android:grantUriPermissions=\\"true\\">\\n            <meta-data\\n                    
                             android:name=\\"android.support.FILE_PROVIDER_PATHS\\"\\n                              
                             android:resource=\\"@xml/file_provider\\"/>\\n                                         
                             </provider>\\n        <meta-data\\n                                                    
                             android:name=\\"android.support.VERSION\\"\\n                                          
                             android:value=\\"26.1.0\\"/>\\n        <meta-data\\n                                   
                             android:name=\\"android.arch.lifecycle.VERSION\\"\\n                                   
                             android:value=\\"27.0.0-SNAPSHOT\\"/>\\n                                               
                             </application>\\n</manifest>"}'. Tools should wrap non-dict values                     
                             based on their output_schema. 

Summary of Changes

fix a bug

@zinja-coder
Copy link
Owner

Thank you.

@zinja-coder zinja-coder merged commit a131ba3 into zinja-coder:main Sep 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants