@@ -995,11 +995,27 @@ def term_info_parse_object(results, short_form):
995995 if sf .startswith (("FBgn" , "FBal" , "FBti" , "FBtp" , "FBco" , "FBst" )):
996996 q = FindStocks_to_schema (termInfo ["Name" ], {"short_form" : sf })
997997 queries .append (q )
998+ # Also surface the dedicated find_stocks MCP tool, which exposes
999+ # the optional collection_filter parameter (Bloomington, Kyoto,
1000+ # VDRC, etc.) that the run_query/FindStocks path does not.
1001+ termInfo ["RelatedTools" ].append ({
1002+ "tool" : "find_stocks" ,
1003+ "label" : f"Find fly stocks for { termInfo ['Name' ]} (with optional stock-centre filter)" ,
1004+ "default_args" : {"feature_id" : sf },
1005+ })
9981006
9991007 # FlyBase combination publications — for FBco terms
10001008 if sf .startswith ("FBco" ):
10011009 q = FindComboPublications_to_schema (termInfo ["Name" ], {"short_form" : sf })
10021010 queries .append (q )
1011+ # Also surface the dedicated find_combo_publications MCP tool,
1012+ # which returns full per-publication metadata (DOI, PMID, miniref,
1013+ # year) ready for citation rendering.
1014+ termInfo ["RelatedTools" ].append ({
1015+ "tool" : "find_combo_publications" ,
1016+ "label" : f"Find publications for { termInfo ['Name' ]} (with full citation metadata)" ,
1017+ "default_args" : {"fbco_id" : sf },
1018+ })
10031019
10041020 # For individuals that are painted domains of anatomical regions, add parent class queries
10051021 if termInfo ["IsIndividual" ] and termInfo ["Technique" ] and any ('computer' in t .lower () for t in termInfo ["Technique" ]):
0 commit comments