tooluniverse.execute_function 模块¶
ToolUniverse 功能执行模块
该模块提供了用于管理和执行各种科学与数据工具的核心 ToolUniverse 类。它支持从 JSON 配置加载工具,按类别进行组织,验证函数调用,并在执行工具时实现完善的错误处理与缓存机制。
该模块支持以下功能: - GraphQL 工具(OpenTarget、OpenTarget Genetics) - RESTful API 工具(Monarch、ChEMBL、PubChem 等) - FDA 药物标签及不良事件工具 - 临床试验工具 - 文献检索工具(EuropePMC、Semantic Scholar、PubTator) - 生物学数据库(HPA、Reactome、UniProt) - MCP(模型上下文协议)客户端及自动加载器 - 富集分析工具 - 软件包管理工具
- 类:
ToolUniverse:工具管理与执行的主类
- 常量:
default_tool_files:工具类别到 JSON 文件路径的默认映射 tool_type_mappings:工具类型字符串到其实现类的映射
- class tooluniverse.execute_function._BatchCacheInfo[源代码]¶
基类:
object_BatchCacheInfo(namespace: str, version: str, cache_key: str)_
- __init__(namespace, version, cache_key)¶
- class tooluniverse.execute_function._BatchJob[源代码]¶
基类:
object_BatchJob(signature: str, call: Dict[str, Any], function_name: str, arguments: Dict[str, Any], indices: List[int] = <factory>, tool_instance: Any = None, cache_info: Optional[tooluniverse.execute_function._BatchCacheInfo] = None, cache_key_composed: Optional[str] = None, skip_execution: bool = False)_
- cache_info: _BatchCacheInfo | None = None¶
- __init__(signature, call, function_name, arguments, indices=<factory>, tool_instance=None, cache_info=None, cache_key_composed=None, skip_execution=False)¶
- class tooluniverse.execute_function.ToolCallable[源代码]¶
基类:
object用于验证关键字参数并调用 run_one_function 的工具的可调用包装器。
该类为工具提供动态函数接口,使其能够像常规的 Python 函数一样使用关键字参数进行调用。
- __call__(*, stream_callback=None, use_cache=False, validate=True, **kwargs)[源代码]¶
使用提供的关键字参数执行该工具。
Context-aware execution - works in both sync and async contexts.
- In sync context:
result = tu.tools.some_tool(param=”value”) # Returns result directly
- In async context:
result = await tu.tools.some_tool(param=”value”) # Returns coroutine
- 参数:
stream_callback – 用于流式响应的可选回调
use_cache – 是否使用结果缓存
validate – 是否根据模式验证参数
**kwargs – 工具专用参数
- 返回:
Tool execution result (sync) or coroutine (async)
- class tooluniverse.execute_function.ToolNamespace[源代码]¶
基类:
object用于将工具作为可调用函数访问的动态命名空间。
此类提供 tu.tools.tool_name(**kwargs) 接口,动态为每个可用工具创建 ToolCallable 实例。
- class tooluniverse.execute_function.ToolUniverse[源代码]¶
基类:
object一个用于加载、组织和执行各种科学与数据工具的综合工具管理系统。
ToolUniverse 类提供了一个集中的接口,用于管理不同类型的工具,包括 GraphQL 工具、RESTful API、MCP 客户端以及专用的科学工具。它负责工具的加载、筛选、缓存和执行。
- all_tools¶
已加载工具配置列表
- 类型:
列表
- MAX_TOOL_NAME_LENGTH = 45¶
- __init__(tool_files={'ChEMBL': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chembl_tools.json', 'EFO': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/efo_tools.json', 'Enrichr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/enrichr_tools.json', 'EuropePMC': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/europe_pmc_tools.json', 'HumanBase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/humanbase_tools.json', 'OpenAlex': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openalex_tools.json', 'ada_aha_nccn': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ada_aha_nccn_tools.json', 'addgene': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/addgene_tools.json', 'admetai': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/admetai_tools.json', 'adverse_event': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/adverse_event_tools.json', 'agents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/agentic_tools.json', 'aging_cohort': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/aging_cohort_tools.json', 'allen_brain': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/allen_brain_tools.json', 'alliance_genome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/alliance_genome_tools.json', 'alphafold': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/alphafold_tools.json', 'alphamissense': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/alphamissense_tools.json', 'anaconda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/anaconda_tools.json', 'aopwiki': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/aopwiki_tools.json', 'appris': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/appris_tools.json', 'archs4': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/archs4_tools.json', 'arrayexpress': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/arrayexpress_tools.json', 'artic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/artic_tools.json', 'arxiv': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/arxiv_tools.json', 'bgee': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bgee_tools.json', 'bigg_models': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bigg_models_tools.json', 'bindingdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bindingdb_tools.json', 'bioconductor': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioconductor_tools.json', 'biogrid': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biogrid_tools.json', 'bioimage_archive': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioimage_archive_tools.json', 'biomodels_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biomodels_tools.json', 'bioportal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioportal_tools.json', 'bioregistry': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bioregistry_tools.json', 'biorxiv': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biorxiv_tools.json', 'biorxiv_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biorxiv_ext_tools.json', 'biosamples': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biosamples_tools.json', 'biostudies': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biostudies_tools.json', 'biothings': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biothings_tools.json', 'biotools_registry': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/biotools_registry_tools.json', 'blast': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/blast_tools.json', 'bmrb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bmrb_tools.json', 'brenda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/brenda_tools.json', 'bridgedb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bridgedb_tools.json', 'bvbrc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/bvbrc_tools.json', 'cadd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cadd_tools.json', 'cancer_prognosis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cancer_prognosis_tools.json', 'cancervar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cancervar_tools.json', 'cath': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cath_tools.json', 'cbioportal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cbioportal_tools.json', 'cdc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cdc_tools.json', 'ceda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ceda_tools.json', 'cellmarker': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellmarker_tools.json', 'cellosaurus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellosaurus_tools.json', 'cellpainting': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellpainting_tools.json', 'cellxgene_census': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellxgene_census_tools.json', 'cellxgene_discovery': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cellxgene_discovery_tools.json', 'channelsdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/channelsdb_tools.json', 'chebi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chebi_tools.json', 'chem_compute': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chem_compute_tools.json', 'chipatlas': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/chipatlas_tools.json', 'civic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/civic_tools.json', 'clingen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_tools.json', 'clingen_allele': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_allele_tools.json', 'clingen_ar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_ar_tools.json', 'clingen_dosage': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clingen_dosage_api_tools.json', 'clinical_guidelines': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clinical_guidelines_tools.json', 'clinical_trials': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clinicaltrials_gov_tools.json', 'clinvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clinvar_tools.json', 'clue': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/clue_tools.json', 'cod_crystal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cod_crystal_tools.json', 'col': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/col_tools.json', 'compact_mode': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/compact_mode_tools.json', 'complex_portal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/complex_portal_tools.json', 'compose': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/compose_tools.json', 'core': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/core_tools.json', 'cosmic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cosmic_tools.json', 'cpic': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cpic_tools.json', 'cran': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cran_tools.json', 'crossref': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/crossref_tools.json', 'cryoet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/cryoet_tools.json', 'crystal_structure': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/crystal_structure_tools.json', 'ctd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ctd_tools.json', 'dailymed': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dailymed_tools.json', 'data_quality': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/data_quality_tools.json', 'datacite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/datacite_tools.json', 'datagov': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/datagov_tools.json', 'dataone': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dataone_tools.json', 'dataset': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dataset_tools.json', 'dataverse': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dataverse_tools.json', 'dbfetch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dbfetch_tools.json', 'dblp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dblp_tools.json', 'dbpedia': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dbpedia_tools.json', 'dbsnp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dbsnp_tools.json', 'deepgo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/deepgo_tools.json', 'degrees_of_unsaturation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/degrees_of_unsaturation_tools.json', 'depmap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/depmap_tools.json', 'dfam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dfam_tools.json', 'dgidb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dgidb_tools.json', 'disease_ontology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disease_ontology_tools.json', 'disease_sh_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disease_sh_ext_tools.json', 'disease_target_score': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disease_target_score_tools.json', 'diseasesh': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/diseasesh_tools.json', 'disgenet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disgenet_tools.json', 'disprot': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/disprot_tools.json', 'dna_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dna_tools.json', 'doaj': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/doaj_tools.json', 'dose_response': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dose_response_tools.json', 'drug_discovery_agents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drug_discovery_agents.json', 'drug_properties': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drug_properties_tools.json', 'drug_synergy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drug_synergy_tools.json', 'drugcentral': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/drugcentral_tools.json', 'dryad': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dryad_tools.json', 'dynamut2': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/dynamut2_tools.json', 'ebi_proteins_coordinates': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_coordinates_tools.json', 'ebi_proteins_epitope': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_epitope_tools.json', 'ebi_proteins_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_ext_tools.json', 'ebi_proteins_features': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_features_tools.json', 'ebi_proteins_interactions': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_proteins_interactions_tools.json', 'ebi_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_search_tools.json', 'ebi_taxonomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebi_taxonomy_tools.json', 'ebird_taxonomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ebird_taxonomy_tools.json', 'elixir_tess': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/elixir_tess_tools.json', 'elm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/elm_tools.json', 'embedding': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/embedding_tools.json', 'emdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/emdb_tools.json', 'emolecules': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/emolecules_tools.json', 'empiar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/empiar_tools.json', 'ena_browser': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ena_browser_tools.json', 'ena_portal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ena_portal_tools.json', 'enamine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/enamine_tools.json', 'encode': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/encode_tools.json', 'enrichr_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/enrichr_ext_tools.json', 'ensembl': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_tools.json', 'ensembl_archive': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_archive_tools.json', 'ensembl_compara': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_compara_tools.json', 'ensembl_info': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_info_tools.json', 'ensembl_ld': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_ld_tools.json', 'ensembl_map': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_map_tools.json', 'ensembl_overlap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_overlap_tools.json', 'ensembl_phenotype': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_phenotype_tools.json', 'ensembl_regulation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_regulation_tools.json', 'ensembl_sequence': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_sequence_tools.json', 'ensembl_variation_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_variation_ext_tools.json', 'ensembl_vep': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_vep_tools.json', 'ensembl_xrefs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ensembl_xrefs_tools.json', 'eol': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eol_tools.json', 'epidemiology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epidemiology_tools.json', 'epigenomics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epigenomics_tools.json', 'epigraphdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epigraphdb_tools.json', 'epmc_annotations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/epmc_annotations_tools.json', 'eqtl': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eqtl_tools.json', 'erddap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/erddap_tools.json', 'esm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/esm_tools.json', 'esmfold': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/esmfold_tools.json', 'euhealth': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/euhealth_tools.json', 'europepmc_annotations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/europepmc_annotations_tools.json', 'europepmc_citations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/europepmc_citations_tools.json', 'eurostat': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eurostat_tools.json', 'eva': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eva_tools.json', 'eve': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/eve_tools.json', 'expression_atlas': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/expression_atlas_tools.json', 'faers_analytics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/faers_analytics_tools.json', 'fatcat': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fatcat_tools.json', 'fda_drug_adverse_event': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_drug_adverse_event_tools.json', 'fda_drug_adverse_event_detail': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_drug_adverse_event_detail_tools.json', 'fda_drug_label': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_drug_labeling_tools.json', 'fda_gsrs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_gsrs_tools.json', 'fda_orange_book': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_orange_book_tools.json', 'fda_pharmacogenomic_biomarkers': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fda_pharmacogenomic_biomarkers_tools.json', 'figshare': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/figshare_tools.json', 'file_download': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/file_download_tools.json', 'finngen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/finngen_tools.json', 'flybase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/flybase_tools.json', 'flymine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/flymine_tools.json', 'foldseek': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/foldseek_tools.json', 'fooddata_central': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fooddata_central_tools.json', 'fourdn': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fourdn_tools.json', 'fpbase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/fpbase_tools.json', 'gbif': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gbif_tools.json', 'gbif_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gbif_ext_tools.json', 'gdc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gdc_tools.json', 'gencc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gencc_tools.json', 'gene2phenotype': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gene2phenotype_tools.json', 'genenetwork': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/genenetwork_tools.json', 'genenetwork_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/genenetwork_ext_tools.json', 'genome_nexus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/genome_nexus_tools.json', 'geo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/geo_tools.json', 'github': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/github_tools.json', 'glygen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/glygen_tools.json', 'gmrepo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gmrepo_tools.json', 'gnomad': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gnomad_tools.json', 'gnps': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gnps_tools.json', 'go': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gene_ontology_tools.json', 'go_api': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/go_api_tools.json', 'gpcrdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gpcrdb_tools.json', 'gprofiler': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gprofiler_tools.json', 'gtdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtdb_tools.json', 'gtex': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtex_tools.json', 'gtex_v2': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtex_v2_tools.json', 'gtopdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gtopdb_tools.json', 'guidelines': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/unified_guideline_tools.json', 'gwas': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gwas_tools.json', 'gwas_sumstats': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gwas_sumstats_tools.json', 'gxa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/gxa_tools.json', 'hal': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hal_tools.json', 'harmonizome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/harmonizome_tools.json', 'hca_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hca_tools.json', 'health_disparities': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/health_disparities_tools.json', 'hgnc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hgnc_tools.json', 'hocomoco': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hocomoco_tools.json', 'hpa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hpa_tools.json', 'hpo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hpo_tools.json', 'hubmap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/hubmap_tools.json', 'huggingface': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/huggingface_tools.json', 'humanmine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/humanmine_tools.json', 'icd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/icd_tools.json', 'icite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/icite_tools.json', 'identifiers_org': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/identifiers_org_tools.json', 'idigbio': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idigbio_tools.json', 'idmap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idmap_tools.json', 'idr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idr_tools.json', 'idt': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/idt_tools.json', 'iedb_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iedb_ext_tools.json', 'iedb_prediction': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iedb_prediction_tools.json', 'iedb_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iedb_tools.json', 'igsr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/igsr_tools.json', 'imgt': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/imgt_tools.json', 'immport': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/immport_tools.json', 'impc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/impc_tools.json', 'inaturalist': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/inaturalist_tools.json', 'indra': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/indra_tools.json', 'inspirehep': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/inspirehep_tools.json', 'intact': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/intact_tools.json', 'interpro': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_tools.json', 'interpro_domain_arch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_domain_arch_tools.json', 'interpro_entry': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_entry_tools.json', 'interpro_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interpro_ext_tools.json', 'interproscan': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/interproscan_tools.json', 'intervar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/intervar_tools.json', 'intogen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/intogen_tools.json', 'iptmnet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/iptmnet_tools.json', 'itis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/itis_tools.json', 'jaspar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/jaspar_tools.json', 'jpl_horizons': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/jpl_horizons_tools.json', 'kegg': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_tools.json', 'kegg_brite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_brite_tools.json', 'kegg_conv_link': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_conv_link_tools.json', 'kegg_disease_drug': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_disease_drug_tools.json', 'kegg_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_ext_tools.json', 'kegg_network_variant': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/kegg_network_variant_tools.json', 'klifs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/klifs_tools.json', 'l1000fwd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/l1000fwd_tools.json', 'lincs': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lincs_tools.json', 'lipidmaps': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lipidmaps_tools.json', 'literature_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/literature_search_tools.json', 'litvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/litvar_tools.json', 'lncrna': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lncrna_tools.json', 'loinc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/loinc_tools.json', 'lotus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lotus_tools.json', 'lovd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/lovd_tools.json', 'marine_regions': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/marine_regions_tools.json', 'markitdown': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/markitdown_tools.json', 'massbank': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/massbank_tools.json', 'massive': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/massive_tools.json', 'mavedb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mavedb_tools.json', 'mcp_auto_loader_boltz': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/boltz_mcp_loader_tools.json', 'mcp_auto_loader_esm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mcp_auto_loader_esm.json', 'mcp_auto_loader_expert_feedback': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/expert_feedback_tools.json', 'mcp_auto_loader_txagent': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/txagent_client_tools.json', 'mcp_auto_loader_uspto_downloader': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uspto_downloader_tools.json', 'mcule': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mcule_tools.json', 'medgen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/medgen_tools.json', 'medlineplus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/medlineplus_tools.json', 'medrxiv': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/medrxiv_tools.json', 'meme': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/meme_tools.json', 'mesh': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mesh_tools.json', 'meta_analysis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/meta_analysis_tools.json', 'metaboanalyst': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metaboanalyst_tools.json', 'metabolights': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metabolights_tools.json', 'metabolite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metabolite_tools.json', 'metabolomics_workbench': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metabolomics_workbench_tools.json', 'metacyc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metacyc_tools.json', 'metnorway': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/metnorway_tools.json', 'mgi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mgi_tools.json', 'mgnify': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mgnify_tools.json', 'mgnify_expanded': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mgnify_expanded_tools.json', 'mibig': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mibig_tools.json', 'mirna': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mirna_tools.json', 'mobidb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mobidb_tools.json', 'modeldb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/modeldb_tools.json', 'modomics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/modomics_tools.json', 'monarch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/monarch_tools.json', 'monarch_new': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/monarch_new_tools.json', 'monarch_v3': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/monarch_v3_tools.json', 'mondo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mondo_tools.json', 'mousemine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mousemine_tools.json', 'mpd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mpd_tools.json', 'msigdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/msigdb_tools.json', 'mutalyzer': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mutalyzer_tools.json', 'mydisease': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/mydisease_tools.json', 'nasa_cmr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_cmr_tools.json', 'nasa_donki': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_donki_tools.json', 'nasa_eonet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_eonet_tools.json', 'nasa_exoplanet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_exoplanet_tools.json', 'nasa_ned': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_ned_tools.json', 'nasa_neows': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_neows_tools.json', 'nasa_sbdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nasa_sbdb_tools.json', 'nca': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nca_tools.json', 'ncbi_datasets': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_datasets_tools.json', 'ncbi_gene': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_gene_tools.json', 'ncbi_nucleotide': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_nucleotide_tools.json', 'ncbi_sra': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_sra_tools.json', 'ncbi_variation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ncbi_variation_tools.json', 'nci_cactus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nci_cactus_tools.json', 'nci_drugdict': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nci_drugdict_tools.json', 'nci_thesaurus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nci_thesaurus_tools.json', 'ndex': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ndex_tools.json', 'neb_tm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/neb_tm_tools.json', 'neuromorpho': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/neuromorpho_tools.json', 'neurovault': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/neurovault_tools.json', 'nextstrain': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nextstrain_tools.json', 'nhanes': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nhanes_tools.json', 'nominatim': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nominatim_tools.json', 'nvidia_nim': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nvidia_nim_tools.json', 'nws': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/nws_tools.json', 'obis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/obis_tools.json', 'odphp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/odphp_tools.json', 'ols': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ols_tools.json', 'oma': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oma_tools.json', 'omicsdi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/omicsdi_tools.json', 'omim': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/omim_tools.json', 'omnipath': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/omnipath_tools.json', 'oncokb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oncokb_tools.json', 'oncotree': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oncotree_tools.json', 'open_meteo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_tools.json', 'open_meteo_airquality': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_airquality_tools.json', 'open_meteo_climate': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_climate_tools.json', 'open_meteo_flood': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_flood_tools.json', 'open_meteo_marine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/open_meteo_marine_tools.json', 'openaire': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openaire_tools.json', 'openaire_dataset': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openaire_dataset_tools.json', 'opencitations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opencitations_tools.json', 'opencravat': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opencravat_tools.json', 'openfda': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfda_tools.json', 'openfda_approvals': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfda_approval_tools.json', 'openfda_labels': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfda_label_tools.json', 'openfoodfacts': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openfoodfacts_tools.json', 'openml': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openml_tools.json', 'openneuro': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/openneuro_tools.json', 'opentarget': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentarget_tools.json', 'opentarget_genetics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentarget_genetics_tools.json', 'opentopodata': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentopodata_tools.json', 'opentree': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/opentree_tools.json', 'optimizer': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/optimizer_tools.json', 'orcid': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/orcid_tools.json', 'orphanet': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/orphanet_tools.json', 'orthodb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/orthodb_tools.json', 'osdr': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/osdr_tools.json', 'osf_preprints': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/osf_preprints_tools.json', 'output_summarization': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/output_summarization_tools.json', 'oxo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/oxo_tools.json', 'package_discovery_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/package_discovery_tools.json', 'paleobiology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/paleobiology_tools.json', 'panelapp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/panelapp_tools.json', 'panther': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/panther_tools.json', 'pathwaycommons': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pathwaycommons_tools.json', 'pdb_redo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdb_redo_tools.json', 'pdbe_api': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_api_tools.json', 'pdbe_compound': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_compound_tools.json', 'pdbe_graph': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_graph_tools.json', 'pdbe_kb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_kb_tools.json', 'pdbe_ligands': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_ligands_tools.json', 'pdbe_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_search_tools.json', 'pdbe_sifts': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_sifts_tools.json', 'pdbe_validation': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbe_validation_tools.json', 'pdbepisa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdbepisa_tools.json', 'pdc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pdc_tools.json', 'pfam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pfam_tools.json', 'pharmacodb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharmacodb_tools.json', 'pharmgkb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharmgkb_tools.json', 'pharmvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharmvar_tools.json', 'pharos': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pharos_tools.json', 'plant_reactome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/plant_reactome_tools.json', 'pmc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pmc_tools.json', 'pombase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pombase_tools.json', 'popgen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/popgen_tools.json', 'powo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/powo_tools.json', 'ppi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ppi_tools.json', 'pride': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pride_tools.json', 'progenetix': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/progenetix_tools.json', 'prosite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/prosite_tools.json', 'protacdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protacdb_tools.json', 'proteins_api': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteins_api_tools.json', 'proteinsplus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteinsplus_tools.json', 'proteomexchange': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteomexchange_tools.json', 'proteomicsdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/proteomicsdb_tools.json', 'protparam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protparam_tools.json', 'protvar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protvar_tools.json', 'pubchem': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubchem_tools.json', 'pubchem_bioassay': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubchem_bioassay_tools.json', 'pubchem_tox': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubchem_tox_tools.json', 'pubmed': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubmed_tools.json', 'pubtator': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubtator_tools.json', 'pubtator3_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pubtator3_ext_tools.json', 'pypi_package_inspector_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/pypi_package_inspector_tools.json', 'python_executor': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/python_executor_tools.json', 'quickgo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/quickgo_tools.json', 'rcsb_advanced_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_advanced_search_tools.json', 'rcsb_chemcomp': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_chemcomp_tools.json', 'rcsb_data': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_data_tools.json', 'rcsb_graphql': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_graphql_tools.json', 'rcsb_pdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_pdb_tools.json', 'rcsb_search': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rcsb_search_tools.json', 'rdkit_cheminfo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rdkit_cheminfo_tools.json', 're3data': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/re3data_tools.json', 'reactome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_tools.json', 'reactome_analysis': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_analysis_tools.json', 'reactome_content': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_content_tools.json', 'reactome_interactors': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/reactome_interactors_tools.json', 'regulomedb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/regulomedb_tools.json', 'remap': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/remap_tools.json', 'rfam': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rfam_tools.json', 'rgd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rgd_tools.json', 'rhea': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rhea_tools.json', 'rnacentral': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rnacentral_tools.json', 'ror': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ror_tools.json', 'rxclass': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rxclass_tools.json', 'rxnorm': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rxnorm_tools.json', 'rxnorm_extended': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/rxnorm_extended_tools.json', 'sabdab': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sabdab_tools.json', 'sabiork': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sabiork_tools.json', 'sasbdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sasbdb_tools.json', 'scanprosite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scanprosite_tools.json', 'scientific_calculator': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scientific_calculator_tools.json', 'scite': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scite_tools.json', 'screen': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/screen_tools.json', 'scxa': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/scxa_tools.json', 'sdss': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sdss_tools.json', 'semantic_scholar': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/semantic_scholar_tools.json', 'semantic_scholar_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/semantic_scholar_ext_tools.json', 'sequence_analyze': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sequence_analyze_tools.json', 'sgd': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sgd_tools.json', 'sider': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sider_tools.json', 'signor': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/signor_tools.json', 'simbad': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/simbad_tools.json', 'smiles_verify': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/smiles_verify_tools.json', 'smolagents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/smolagent_tools.json', 'software_bioinformatics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/bioinformatics_core_tools.json', 'software_cheminformatics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/cheminformatics_tools.json', 'software_earth_sciences': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/earth_sciences_tools.json', 'software_genomics': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/genomics_tools.json', 'software_image_processing': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/image_processing_tools.json', 'software_machine_learning': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/machine_learning_tools.json', 'software_neuroscience': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/neuroscience_tools.json', 'software_physics_astronomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/physics_astronomy_tools.json', 'software_scientific_computing': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/scientific_computing_tools.json', 'software_single_cell': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/single_cell_tools.json', 'software_structural_biology': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/structural_biology_tools.json', 'software_visualization': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/packages/visualization_tools.json', 'special_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/special_tools.json', 'spliceai': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/spliceai_tools.json', 'sra': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sra_tools.json', 'stitch': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/stitch_tools.json', 'string_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/string_ext_tools.json', 'string_network': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/string_network_tools.json', 'sunrise_sunset': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/sunrise_sunset_tools.json', 'survival': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/survival_tools.json', 'swiss_target': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swiss_target_tools.json', 'swissadme': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swissadme_tools.json', 'swissdock': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swissdock_tools.json', 'swissmodel': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/swissmodel_tools.json', 'synbiohub': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/synbiohub_tools.json', 'synergxdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/synergxdb_tools.json', 't3db': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/t3db_tools.json', 'targetmine': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/targetmine_tools.json', 'tcdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tcdb_tools.json', 'tcia': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tcia_tools.json', 'therasabdab': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/therasabdab_tools.json', 'three_d_beacons': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/three_d_beacons_tools.json', 'timer': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/timer_tools.json', 'tool_composition': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tool_composition_tools.json', 'tool_discovery_agents': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tool_discovery_agents.json', 'tool_finder': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/finder_tools.json', 'tooluniverse_page': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/tooluniverse_page_tools.json', 'ucsc_genome': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/ucsc_genome_tools.json', 'umls': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/umls_tools.json', 'unichem': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/unichem_tools.json', 'uniparc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniparc_tools.json', 'uniprot': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_tools.json', 'uniprot_idmapping': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_idmapping_tools.json', 'uniprot_locations': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_locations_tools.json', 'uniprot_proteomes': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_proteomes_tools.json', 'uniprot_ref': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_ref_tools.json', 'uniprot_taxonomy': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniprot_taxonomy_tools.json', 'uniref': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uniref_tools.json', 'unpaywall': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/unpaywall_tools.json', 'url': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/url_fetch_tools.json', 'uscensus': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uscensus_tools.json', 'usgs_earthquake': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/usgs_earthquake_tools.json', 'usgs_water': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/usgs_water_tools.json', 'uspto': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/uspto_tools.json', 'variant_validator': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/variant_validator_tools.json', 'vdjdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/vdjdb_tools.json', 'veupathdb': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/veupathdb_tools.json', 'visualization_molecule_2d': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/molecule_2d_tools.json', 'visualization_molecule_3d': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/molecule_3d_tools.json', 'visualization_protein_3d': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/protein_structure_3d_tools.json', 'waqi': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/waqi_tools.json', 'web_search_tools': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/web_search_tools.json', 'wfgy_promptbundle': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wfgy_promptbundle_tools.json', 'who_gho': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/who_gho_tools.json', 'wikidata_entity': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikidata_entity_tools.json', 'wikidata_sparql': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikidata_sparql_tools.json', 'wikipathways': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipathways_tools.json', 'wikipathways_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipathways_ext_tools.json', 'wikipedia': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipedia_tools.json', 'wikipedia_ext': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wikipedia_ext_tools.json', 'worldbank': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/worldbank_tools.json', 'wormbase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/wormbase_tools.json', 'worms': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/worms_tools.json', 'xenbase': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/xenbase_tools.json', 'xml': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/xml_tools.json', 'zenodo': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/zenodo_tools.json', 'zfin': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/zfin_tools.json', 'zinc': '/home/runner/work/ToolUniverse/ToolUniverse/src/tooluniverse/data/zinc_tools.json'}, keep_default_tools=True, log_level=None, hooks_enabled=False, hook_config=None, hook_type=None, enable_name_shortening=False, profile=None, workspace=None, use_global=False)[源代码]¶
使用工具文件配置初始化ToolUniverse。
- 参数:
tool_files (
dict, optional) – 将类别名称映射到JSON文件路径的字典。默认为default_tool_files。keep_default_tools (
bool, optional) – 当提供自定义工具文件时,是否保留默认工具。默认为 True。log_level (
str, optional) – 此实例的日志级别。可以为 ‘DEBUG’、’INFO’、’WARNING’、’ERROR’、’CRITICAL’。如果为 None,则使用全局设置。hooks_enabled (
bool, optional) – 是否启用输出钩子。默认为 False。hook_config (
dict, optional) – 钩子的配置。如果为 None,则使用默认配置。hook_type (
str or list, optional) – 简单的钩子类型选择。可以是 ‘SummarizationHook’、’FileSaveHook’,或者两者的列表。默认值为 ‘SummarizationHook’。如果同时提供了 hook_config 和 hook_type,则以 hook_config 为准。enable_name_shortening (
bool, optional) – Whether to enable automatic tool name shortening for MCP compatibility. Defaults to False.profile (
str, optional) – URI of a Profile configuration to load automatically (e.g."./my-profile.yaml","hf:user/repo"). Overrides theTOOLUNIVERSE_PROFILEenvironment variable. When provided,load_profile()is called after initialization.workspace (
str, optional) – Path to the local workspace directory for user-defined tools. Overrides theTOOLUNIVERSE_HOMEenvironment variable and the default./.tooluniversedirectory.use_global (
bool, optional) – When True, use the global~/.tooluniversedirectory as the default workspace instead of./.tooluniverse. Has no effect ifworkspaceorTOOLUNIVERSE_HOMEis set.
- static _resolve_workspace(workspace, use_global=False)[源代码]¶
Resolve the effective workspace directory.
Priority order: 1.
workspaceparameter (if provided) — directory is created if absent 2.TOOLUNIVERSE_HOMEenvironment variable — directory is created if absent 3.~/.tooluniversewhenuse_global=True4../.tooluniverse(current directory, default local mode)The default directories (3 & 4) are NOT auto-created; if they do not exist no workspace tools are loaded and workspace profile.yaml is silently skipped.
- register_custom_tool(tool_class, tool_name=None, tool_config=None, instantiate=False, tool_instance=None)[源代码]¶
Register a custom tool class or instance at runtime.
- 参数:
tool_class – The tool class to register (required if tool_instance is None)
tool_name (
str, optional) – 注册名称。如果未指定,则使用类名。tool_config (
dict, optional) – 工具配置字典,添加到 all_tools 中instantiate (
bool, optional) – If True, immediately instantiate and cache the tool. Defaults to False for backward compatibility.tool_instance (
optional) – Pre-instantiated tool object. If provided, tool_class is inferred from the instance.
- 返回:
工具注册时使用的名称
- 返回类型:
示例
# Register tool class only (lazy instantiation) tu.register_custom_tool(MyTool, tool_config={…})
# Register and immediately instantiate tu.register_custom_tool(MyTool, tool_config={…}, instantiate=True)
# Register pre-instantiated tool instance = MyTool({…}) tu.register_custom_tool(tool_class=MyTool, tool_instance=instance, tool_config={…})
- force_full_discovery()[源代码]¶
强制完整工具发现,立即导入所有工具模块。
当您需要确保所有工具立即可用,绕过延迟加载时,这非常有用。
- 返回:
已更新工具注册表,包含所有已发现的工具
- 返回类型:
- _check_api_key_requirements(tool_config)[源代码]¶
Check if a tool’s required API keys are available. Also supports optional_api_keys which enhance performance but don’t block loading.
- generate_env_template(all_missing_keys, output_file='.env.template')[源代码]¶
Generate a template .env file with all required API keys (only writes if content changed).
- _create_hook_config_from_type(hook_type)[源代码]¶
从简单的 hook_type 参数创建钩子配置。
- 参数:
hook_type (
str or list) – 启用的钩子类型。可以是 ‘SummarizationHook’、’FileSaveHook’,或两者的列表。- 返回:
生成的钩子配置
- 返回类型:
- load_tools(categories=None, tool_type=None, exclude_tools=None, exclude_categories=None, include_tools=None, tool_config_files=None, tools_file=None, include_tool_types=None, exclude_tool_types=None, python_files=None, quiet=True)[源代码]¶
Load tools into the instance, with optional filtering.
- 参数:
categories (
list, optional) – Tool category names to load. If None, all categories are loaded. Uselist_categories()to see available names.tool_type (
list, optional) – Deprecated alias forcategories.exclude_tools (
list, optional) – Tool names to exclude. Supports glob patterns (e.g.["EuropePMC_*"]).exclude_categories (
list, optional) – Category names to skip entirely.include_tools (
list or str, optional) – Only load these tools. Supports glob patterns (e.g.["EuropePMC_*", "ChEMBL_*"]). Pass a file path string to read names from a text file (one per line).tool_config_files (
dict, optional) – Extra JSON config files to load. Format:{"category_name": "/path/to/config.json"}.tools_file (
str, optional) – Deprecated. Pass a file path toinclude_toolsinstead.python_files (
list, optional) – List of Python file paths (str or Path) to import as user tools. Each file should contain@register_tool-decorated classes. Example:python_files=["/path/to/my_tool.py"].include_tool_types (
list, optional) – Only load tools whosetypefield is in this list (e.g.["RESTTool", "GraphQLTool"]).exclude_tool_types (
list, optional) – Skip tools whosetypefield is in this list.quiet (
bool, optional) – Suppress missing-API-key warnings and.env.templategeneration. DefaultTrue. PassFalseto see which keys are missing.
示例
# Load everything (default) tu.load_tools()
# Load only two categories tu.load_tools(categories=[“ChEMBL”, “EuropePMC”])
# Load tools by name with glob wildcards tu.load_tools(include_tools=[“EuropePMC_*”, “ChEMBL_get_molecule_*”])
# Combine: exclude one category, exclude specific tools tu.load_tools(
exclude_categories=[“tool_finder”], exclude_tools=[“EuropePMC_slow_tool”],
请提供需要翻译的具体英文文本,我将为您提供符合要求的中文翻译。
- _filter_and_deduplicate_tools(exclude_tools_set, include_tools_set, include_tool_types_set=None, exclude_tool_types_set=None, existing_tool_names=None, quiet=True)[源代码]¶
根据包含/排除标准筛选工具并去除重复项。
- 参数:
exclude_tools_set (
set) – 要排除的工具名称集合include_tools_set (
set or None) – 要包含的工具名称集合(如果为 None,则包含全部)include_tool_types_set (
set or None) – 要包含的工具类型集合(如果为 None,则包含所有)exclude_tool_types_set (
set or None) – 要排除的工具类型集合(如果为 None,则不排除任何类型)existing_tool_names (
set or None) – Set of tool names that were already loaded before this call. These tools will be preserved even if not in include_tools_set. Used for merge mode when loading specific tools.
- _get_user_tool_files()[源代码]¶
Return (python_files, json_files) from the configured workspace directory.
self._workspace_diris always set (defaults to./.tooluniversefor local mode, or~/.tooluniversewhenuse_global=True). If the directory does not exist, an empty list pair is returned.Supports two layout conventions: - Flat:
*.py/*.jsondirectly in the workspace root - Organised:tools/*.pyanddata/orconfigs/*.json
- _import_user_python_tools(python_files)[源代码]¶
Import user Python tool files so their @register_tool decorators run.
Uses spec_from_file_location so files do not need to live inside the tooluniverse package. Each file is registered in sys.modules under a name derived from its path hash. On subsequent calls, the file’s mtime is compared to the cached value; if the file was edited, the module is reloaded so the changes take effect without a process restart.
- _load_user_json_configs(json_files)[源代码]¶
Load JSON tool configs from user directories and append to all_tools.
Each file may contain a single config dict or a list of config dicts. Files named ‘profile.yaml’ / ‘profile.json’ are skipped (handled separately).
- _load_tools_from_sources(loader, sources)[源代码]¶
Phase 4: Load Python tool files and JSON configs from external Profile sources.
Each entry in
sourcesis a URI (local path, hf:user/repo, GitHub URL, or https:// file URL). The URI is resolved to a local directory byProfileLoader.resolve_to_local_dir(), which handles downloading and caching automatically. The directory is then scanned for tool files usingProfileLoader.get_tool_files_from_dir().Last-seen definition wins: sources are processed in order, so later entries override earlier ones for duplicate tool names.
- 参数:
loader –
ProfileLoaderinstance (already has a cache dir).sources (list) – List of URI strings from the Profile config’s
sourcesfield.
- _load_auto_discovered_configs()[源代码]¶
Load auto-discovered configs from the decorator registry and sub-package list registry.
Configs registered via
@register_tool(config=...)are loaded from the singleton-per-type config registry. Configs registered by sub-package__init__.pyfiles viaregister_tool_configs()are loaded from the flat list registry — this supports multiple tool instances per class (e.g. JLCSearch has 8 distinct configs).
- _process_mcp_auto_loaders()[源代码]¶
处理所有 MCPAutoLoaderTool 实例,以自动发现并注册 MCP 工具。
该方法扫描所有已加载的工具,查找 MCPAutoLoaderTool 实例,并运行其自动发现流程,以从配置的服务器中查找并注册 MCP 工具。该方法正确处理异步操作,包含清理和错误处理机制。
- 副作用:
可以向工具注册表中添加新工具
打印有关发现过程的调试信息
在MCP注册后更新工具计数
- list_built_in_tools(mode='config', scan_all=False)[源代码]¶
列出所有内置工具类别及其在不同模式下的统计数据。
此方法提供了对 ToolUniverse 中所有可用工具的全面概览,并按类别进行组织。它直接从默认工具文件中读取数据以收集统计信息,因此即使在调用 load_tools() 之前也能正常工作。
- 参数:
mode (
str, optional) – 工具的组织模式。默认值为 ‘config’。 - ‘config’:按配置文件类别组织(原始行为) - ‘type’:按工具类型(实现类)组织 - ‘list_name’:返回所有工具名称的列表 - ‘list_spec’:返回所有工具规格的列表scan_all (
bool, optional) – 是否递归扫描数据目录中的所有 JSON 文件。如果为 True,则扫描 data/ 及其子目录中的所有 JSON 文件。如果为 False(默认值),则使用预定义的工具文件映射。
- 返回:
对于“config”和“type”模式:包含工具统计信息的字典
对于“list_name”模式:所有工具名称的列表
对于“list_spec”模式:所有工具规格的列表
- 返回类型:
示例
>>> tool_universe = ToolUniverse() >>> # Group by config file categories (predefined files only) >>> stats = tool_universe.list_built_in_tools(mode='config') >>> # Scan all JSON files in data directory recursively >>> stats = tool_universe.list_built_in_tools(mode='config', scan_all=True) >>> # Get all tool names from all JSON files >>> tool_names = tool_universe.list_built_in_tools(mode='list_name', scan_all=True)
备注
此方法直接从工具文件中读取数据,无需调用 load_tools()。
工具已在各类别中去重,因此同一工具不会被重复计数。
当调用此方法时,摘要会自动打印到控制台(list_name 和 list_spec 模式除外)。
当 scan_all=True 时,系统会扫描 data/ 目录及其子目录中的所有 JSON 文件
- _scan_predefined_files()[源代码]¶
扫描预定义的工具文件(原始行为)。
- 返回:
(all_tools,all_tool_names),其中 all_tools 是工具配置的列表,all_tool_names 是用于去重的工具名称集合
- 返回类型:
- _scan_all_json_files()[源代码]¶
递归扫描数据目录及其子目录中的所有 JSON 文件。
- 返回:
(all_tools,all_tool_names),其中 all_tools 是工具配置的列表,all_tool_names 是用于去重的工具名称集合
- 返回类型:
- refresh_tool_name_desc(enable_full_desc=False, include_names=None, exclude_names=None, include_categories=None, exclude_categories=None)[源代码]¶
使用可选的过滤条件刷新工具名称和描述的映射。
此方法会重建内部工具字典,并根据提供的筛选条件生成经过筛选的工具名称和描述列表。
- 参数:
enable_full_desc (
bool, optional) – 如果为 True,则包含完整的工具 JSON 作为描述。如果为 False,则使用“名称: 描述”格式。默认为 False。include_names (
list, optional) – 要包含的工具名称列表。exclude_names (
list, optional) – 要排除的工具名称列表。include_categories (
list, optional) – 包含的类别列表。exclude_categories (
list, optional) – 要排除的类别列表。
- 返回:
过滤后包含 (tool_name_list, tool_desc_list) 的元组。
- 返回类型:
- prepare_tool_prompts(tool_list, mode='prompt', valid_keys=None)[源代码]¶
Prepare a list of tool configurations for different usage modes.
- 参数:
- 返回:
List of tool configurations with only specified keys.
- 返回类型:
- get_tool_specification_by_names(tool_names, format='default')[源代码]¶
使用 tool_specification 方法通过工具名称获取工具规格。
- get_one_tool_by_one_name(tool_name, return_prompt=True)[源代码]¶
根据名称检索单个工具规格,并可选择准备用于提示。
这是一个便捷方法,用于调用 get_one_tool_by_one_name。
- _sanitize_schema_for_openai(schema)[源代码]¶
Recursively sanitize a JSON Schema object for OpenAI function calling compatibility.
Handles three categories of issues that cause OpenAI to reject schemas:
Legacy required flags —
required: True/Falseembedded on individual property schemas (not valid JSON Schema). Collected and rebuilt as a proper top-levelrequiredarray on the enclosing object schema.Array type unions —
type: ["string", "null"](JSON Schema draft-4 shorthand). OpenAI only accepts a single string fortype; this converts them toanyOf: [{"type": "string"}, {"type": "null"}].``additionalProperties: True`` — OpenAI’s validator rejects this value; the key is removed.
Recurses into
properties,items, andanyOf/oneOf/allOfso that deeply-nested sub-schemas are also cleaned up.
- extract_function_call_json(lst, return_message=False, verbose=True, format='llama')[源代码]¶
从输入数据中提取函数调用的JSON。
此方法委托给实用函数 extract_function_call_json。
- _execute_function_call_list(function_calls, stream_callback=None, use_cache=False, max_workers=None)[源代码]¶
执行一系列函数调用,可选择并行执行。
- run(fcall_str, return_message=False, verbose=True, format='llama', stream_callback=None, use_cache=False, max_workers=None)[源代码]¶
Context-aware execution - works in both sync and async contexts.
- In sync context:
result = tu.run(…) # Returns result directly (may block for async tools)
- In async context:
result = await tu.run(…) # Returns coroutine, non-blocking
This method automatically detects the context and behaves appropriately.
- 参数:
fcall_str – 输入字符串或数据,其中包含函数调用信息。
return_message (
bool, optional) – 是否返回格式化消息。默认为 False。verbose (
bool, optional) – 是否启用详细输出。默认为 True。format (
str, optional) – 解析的格式类型。默认为“llama”。stream_callback – Optional callback for streaming responses.
use_cache (
bool, optional) – Whether to use result caching. Defaults to False.max_workers (
Optional[int]) – Max workers for parallel batch execution (sync only).
- 返回:
Result (sync) or coroutine (async) depending on context.
- _run_sync(fcall_str, return_message=False, verbose=True, format='llama', stream_callback=None, use_cache=False, max_workers=None)[源代码]¶
Synchronous execution implementation (original run logic).
For async tools, this will create an event loop if needed.
- _format_batch_as_messages(batch_results, function_call_json, message)[源代码]¶
Format batch results as tool/assistant message dicts for return_message mode.
- async _run_async(fcall_str, return_message=False, verbose=True, format='llama', stream_callback=None, use_cache=False)[源代码]¶
Asynchronous execution implementation (non-blocking).
Handles both sync and async tools in async context.
- async _execute_function_call_list_async(function_call_list, stream_callback=None, use_cache=False)[源代码]¶
Execute multiple function calls asynchronously and in parallel.
Uses return_exceptions=True so one failure does not abort others.
- _resolve_tool_name(function_name)[源代码]¶
Resolve tool name to its primary identifier.
Uses the ToolNameMapper to handle: 1. Aliases (e.g., old tool names) -> primary name 2. Original names -> shortened names (if shortening enabled) 3. Already primary names -> return as-is
- run_one_function(function_call_json, stream_callback=None, use_cache=False, validate=True)[源代码]¶
执行单个函数调用。
此方法用于验证函数调用,必要时初始化工具,并使用提供的参数执行。如果启用了钩子,还会应用输出钩子来处理结果。
- 参数:
function_call_json (
dict) – 包含函数名称和参数的字典。stream_callback (
callable, optional) – 用于流式响应的回调函数。use_cache (
bool, optional) – Whether to use result caching. Defaults to False.validate (
bool, optional) – Whether to validate parameters against schema. Defaults to True.
- 返回:
工具执行结果,或在验证失败时返回的错误信息。
- 返回类型:
- async run_one_function_async(function_call_json, stream_callback=None, use_cache=False, validate=True)[源代码]¶
Async version of run_one_function.
Execute a single function call asynchronously (non-blocking). Handles both sync and async tools intelligently.
- _execute_tool_with_stream(tool_instance, arguments, stream_callback, use_cache=False, validate=True)[源代码]¶
Invoke a tool, forwarding stream callbacks and other parameters when supported.
- async _invoke_tool_async(tool_instance, tool_arguments, **kwargs)[源代码]¶
Invoke tool.run, using await for async tools or a thread pool for sync tools.
- async _execute_tool_with_stream_async(tool_instance, arguments, stream_callback, use_cache=False, validate=True)[源代码]¶
Async version of _execute_tool_with_stream.
Handles both sync and async tools: async tools are awaited directly, sync tools run in a thread pool.
- toggle_hooks(enabled)[源代码]¶
全局启用或禁用输出钩子。
此方法允许在运行时控制挂钩系统。启用时,如果 HookManager 尚未初始化,则会对其进行初始化。禁用时,则会停用 HookManager。
- 参数:
enabled (
bool) – True 表示启用钩子,False 表示禁用
- init_tool(tool=None, tool_name=None, add_to_cache=True)[源代码]¶
从配置或名称初始化工具实例。
此方法使用工具类型映射创建一个新的工具实例,并可选择将其缓存以供将来使用。它还处理一些特殊情况,例如 OpentargetToolDrugNameMatch,这种情况需要额外的依赖项。
- _auto_load_tools_if_empty(function_name=None)[源代码]¶
Automatically load tools if the tools dictionary is empty.
- _coerce_value_to_type(value, schema)[源代码]¶
Coerce a value to match the schema’s expected type.
This function attempts to convert string values to integers, floats, or booleans when the schema expects those types. This makes the system more lenient with user input from LLMs that provide numeric values as strings.
- _coerce_arguments_to_schema(function_name, arguments)[源代码]¶
Coerce all arguments for a tool to match their schema expectations.
- refresh_tools()[源代码]¶
Re-scan workspace and reload all tool configurations.
Picks up new JSON/Python tool files added to the workspace
.tooluniverse/tools/directory since startup, and re-discovers entry-point plugins installed since the process started. Clears the existing tool registry first so the result is always a clean reload.
- property _cache¶
用于测试目的访问内部缓存。
- clear_tools(clear_cache=False)[源代码]¶
Clear all loaded tools from the registry.
This method resets the tool registry to its initial empty state, allowing you to: - Free memory after loading many tools - Reset state between different workflows - Load a fresh set of tools for a new context - Control which tools are visible to tool finder
- 参数:
clear_cache (
bool, optional) – Whether to also clear the result cache. Defaults to False.
示例
# Clear tools but keep cached results tu.clear_tools()
# Clear both tools and cached results tu.clear_tools(clear_cache=True)
# Load specific tools after clearing tu.clear_tools() tu.load_tools(include_tools=[“UniProt_get_entry_by_accession”])
备注
This does not affect tool instances in callable_functions cache
Subsequent tool access will trigger on-demand loading
Use clear_cache=True if you also want to clear result cache
- check_function_call(fcall_str, function_config=None, format='llama')[源代码]¶
根据工具配置验证函数调用。
此方法通过验证函数名称是否存在以及参数是否与预期参数匹配来检查函数调用是否有效。
- 参数:
fcall_str – 函数调用字符串或数据以进行验证。
function_config (
dict, optional) – 用于验证的特定功能配置。如果为 None,则使用已加载的工具配置。format (
str, optional) – 解析的格式类型。默认为“llama”。
- 返回:
一个元组 (is_valid, message),其中: - is_valid (bool):如果函数调用有效,则为 True;否则为 False - message (str):如果无效,则为错误信息;如果有效,则为空
- 返回类型:
- export_tool_names(output_file, category_filter=None)[源代码]¶
将工具名称导出到文本文件(每行一个)。
- 参数:
output_file (
str) – 输出文件的路径category_filter (
list, optional) – 筛选类别列表
- filter_tools(include_tools=None, exclude_tools=None, include_tool_types=None, exclude_tool_types=None)[源代码]¶
Filter tools based on inclusion/exclusion criteria.
- 参数:
include_tools (
set, optional) – Set of tool names to includeexclude_tools (
set, optional) – 要排除的工具名称集合include_tool_types (
set, optional) – Set of tool types to includeexclude_tool_types (
set, optional) – Set of tool types to exclude
- 返回:
Filtered list of tool configurations
- 返回类型:
- remove_keys(tool_list, invalid_keys)[源代码]¶
从工具配置列表中移除指定的键。
已弃用:请使用 prepare_tool_prompts(mode=’custom’, valid_keys=…) 替代。
- prepare_tool_examples(tool_list)[源代码]¶
为示例使用准备工具配置,同时保留扩展的密钥集。
已弃用:请改用 prepare_tool_prompts(mode=’example’)。
- select_tools(include_names=None, exclude_names=None, include_categories=None, exclude_categories=None)[源代码]¶
根据工具名称和/或类别(tool_files 键)选择工具。
已弃用:请改用 filter_tools()。
- 参数:
include_names (
list, optional) – 要包含的工具名称列表。如果为 None,则包含所有工具。exclude_names (
list, optional) – 要排除的工具名称列表。include_categories (
list, optional) – 包含的类别列表(tool_files 键)。如果为 None,则包含所有类别。exclude_categories (
list, optional) – 要排除的类别列表(tool_files 键)。
- 返回:
所选工具配置列表。
- 返回类型:
- filter_tool_lists(tool_name_list, tool_desc_list, include_names=None, exclude_names=None, include_categories=None, exclude_categories=None)[源代码]¶
根据名称和/或类别直接筛选工具名称和描述列表。
已弃用:请改用 filter_tools() 并手动进行列表过滤。
- 参数:
- 返回:
包含 (filtered_tool_name_list, filtered_tool_desc_list) 的元组。
- 返回类型:
- load_tools_from_names_list(tool_names, clear_existing=True)[源代码]¶
仅通过工具名称加载特定工具。
已弃用:请使用 load_tools(include_tools=…) 替代。
- load_profile(uri, _merge_workspace=True, **kwargs)[源代码]¶
Load Profile configuration and apply it to the ToolUniverse instance.
This is a high-level method that loads a Profile configuration from various sources (HuggingFace, local files, HTTP URLs) and applies the tool settings to the current instance.
When a workspace
profile.yamlexists and_merge_workspace=True(the default), the workspace config is used as the base and the loaded config is deep-merged on top — so any key in the loaded config overrides the workspace default.- 参数:
uri (str) – Profile URI (e.g., “hf:user/repo”, “./config.yaml”, “https://example.com/config.yaml”)
_merge_workspace (bool) – Whether to merge the workspace profile.yaml as a base config. Set to False when auto-applying the workspace yaml itself.
**kwargs – Additional parameters to override Profile configuration (e.g., exclude_tools=[“tool1”], include_tools=[“tool2”])
- 返回:
The loaded (and possibly merged) Profile configuration
- 返回类型:
示例
# Load from HuggingFace config = tu.load_profile(“hf:community/proteomics-toolkit”)
# Load local file with overrides config = tu.load_profile(“./my-config.yaml”, exclude_tools=[“slow_tool”])
# Load from HTTP URL config = tu.load_profile(”https://example.com/config.yaml”)
- _apply_cache_config(cache_config)[源代码]¶
Reconfigure the cache manager from Profile cache settings.
Only the keys present in cache_config are changed; omitted keys keep their current values.
- _load_tools_from_mcp_server(server_url, config)¶
从特定的MCP服务器加载工具。
- discover_mcp_tools(server_urls=None, **kwargs)¶
在不加载的情况下,发现来自MCP服务器的可用工具。
此方法连接到MCP服务器,以发现可用的工具,而无需实际将它们注册到ToolUniverse中。适用于探索和选择性加载工具。
- 参数:
- 返回:
按服务器组织的工具发现结果
- 返回类型:
示例
tu = ToolUniverse() # Discover what's available discovery = tu.discover_mcp_tools([ "http://localhost:8001", "http://ml-server:8002" ]) # Show available tools for server, info in discovery["servers"].items(): print(f"\n{server}:") for tool in info.get("tools", []): print(f" - {tool['name']}: {tool['description']}")
- list_mcp_connections()¶
列出所有活动的MCP连接和已加载的工具。
- 返回:
关于MCP连接、自动加载器和已加载工具的信息
- 返回类型:
示例
tu = ToolUniverse() tu.load_mcp_tools(["http://localhost:8001"]) connections = tu.list_mcp_connections() print(f"Active MCP connections: {len(connections['connections'])}")
- load_mcp_tools(server_urls=None, **kwargs)¶
将MCP工具从远程服务器加载到此ToolUniverse实例中。
此方法会自动从MCP服务器中发现工具,并将其注册为ToolUniverse工具,从而实现远程功能的无缝使用。
- 参数:
server_urls (
listofstr, optional) –MCP 服务器 URL 列表,用于加载工具。示例:
[“ws://localhost:9000”] # WebSocket MCP 服务器
如果为 None,则尝试从本地 MCP 工具注册表中发现。
**kwargs –
其他配置选项:
tool_prefix(字符串):加载工具名称的前缀(默认值:”mcp_”)
timeout(int):连接超时时间(单位:秒)(默认值:30)
auto_register(布尔值):是否自动注册发现的工具(默认值:True)
selected_tools (list): 从每个服务器加载的特定工具
类别(列表):用于筛选的工具类别
- 返回:
已加载工具的摘要,包括数量及遇到的任何错误。
- 返回类型:
示例
Load from specific servers:
tu = ToolUniverse() # Load tools from multiple MCP servers result = tu.load_mcp_tools([ "http://localhost:8001", # Local analysis server "http://ml-server:8002", # Remote ML server "ws://realtime:9000" # WebSocket server ]) print(f"Loaded {result['total_tools']} tools from {result['servers_connected']} servers")
Load with custom configuration:
tu.load_mcp_tools( server_urls=["http://localhost:8001"], tool_prefix="analysis\_", timeout=60, selected_tools=["protein_analysis", "drug_interaction"]
从本地注册表自动发现:
`python # 如果您已在本地注册了MCP工具,自动发现其服务器 tu.load_mcp_tools() # 使用来自mcp_tool_registry的服务器 `