tooluniverse 1.0.9.1__py3-none-any.whl → 1.0.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tooluniverse might be problematic. Click here for more details.
- tooluniverse/__init__.py +57 -1
- tooluniverse/admetai_tool.py +1 -1
- tooluniverse/agentic_tool.py +65 -17
- tooluniverse/base_tool.py +19 -8
- tooluniverse/blast_tool.py +132 -0
- tooluniverse/boltz_tool.py +3 -3
- tooluniverse/cache/result_cache_manager.py +167 -12
- tooluniverse/cbioportal_tool.py +42 -0
- tooluniverse/clinvar_tool.py +268 -74
- tooluniverse/compose_scripts/drug_safety_analyzer.py +1 -1
- tooluniverse/compose_scripts/multi_agent_literature_search.py +1 -1
- tooluniverse/compose_scripts/output_summarizer.py +4 -4
- tooluniverse/compose_scripts/tool_discover.py +1941 -443
- tooluniverse/compose_scripts/tool_graph_composer.py +1 -1
- tooluniverse/compose_scripts/tool_metadata_generator.py +1 -1
- tooluniverse/compose_tool.py +9 -9
- tooluniverse/core_tool.py +2 -2
- tooluniverse/ctg_tool.py +4 -4
- tooluniverse/custom_tool.py +1 -1
- tooluniverse/data/agentic_tools.json +0 -370
- tooluniverse/data/alphafold_tools.json +6 -6
- tooluniverse/data/blast_tools.json +112 -0
- tooluniverse/data/cbioportal_tools.json +87 -0
- tooluniverse/data/clinvar_tools.json +235 -0
- tooluniverse/data/compose_tools.json +0 -89
- tooluniverse/data/dbsnp_tools.json +275 -0
- tooluniverse/data/emdb_tools.json +61 -0
- tooluniverse/data/ensembl_tools.json +259 -0
- tooluniverse/data/file_download_tools.json +275 -0
- tooluniverse/data/geo_tools.json +200 -48
- tooluniverse/data/gnomad_tools.json +109 -0
- tooluniverse/data/gtopdb_tools.json +68 -0
- tooluniverse/data/gwas_tools.json +32 -0
- tooluniverse/data/interpro_tools.json +199 -0
- tooluniverse/data/jaspar_tools.json +70 -0
- tooluniverse/data/kegg_tools.json +356 -0
- tooluniverse/data/mpd_tools.json +87 -0
- tooluniverse/data/ols_tools.json +314 -0
- tooluniverse/data/package_discovery_tools.json +64 -0
- tooluniverse/data/packages/categorized_tools.txt +0 -1
- tooluniverse/data/packages/machine_learning_tools.json +0 -47
- tooluniverse/data/paleobiology_tools.json +91 -0
- tooluniverse/data/pride_tools.json +62 -0
- tooluniverse/data/pypi_package_inspector_tools.json +158 -0
- tooluniverse/data/python_executor_tools.json +341 -0
- tooluniverse/data/regulomedb_tools.json +50 -0
- tooluniverse/data/remap_tools.json +89 -0
- tooluniverse/data/screen_tools.json +89 -0
- tooluniverse/data/tool_discovery_agents.json +428 -0
- tooluniverse/data/tool_discovery_agents.json.backup +1343 -0
- tooluniverse/data/uniprot_tools.json +77 -0
- tooluniverse/data/web_search_tools.json +250 -0
- tooluniverse/data/worms_tools.json +55 -0
- tooluniverse/dataset_tool.py +2 -2
- tooluniverse/dbsnp_tool.py +196 -58
- tooluniverse/default_config.py +36 -3
- tooluniverse/emdb_tool.py +30 -0
- tooluniverse/enrichr_tool.py +14 -14
- tooluniverse/ensembl_tool.py +140 -47
- tooluniverse/execute_function.py +594 -29
- tooluniverse/extended_hooks.py +4 -4
- tooluniverse/file_download_tool.py +269 -0
- tooluniverse/gene_ontology_tool.py +1 -1
- tooluniverse/generate_tools.py +3 -3
- tooluniverse/geo_tool.py +81 -28
- tooluniverse/gnomad_tool.py +100 -52
- tooluniverse/gtopdb_tool.py +41 -0
- tooluniverse/humanbase_tool.py +10 -10
- tooluniverse/interpro_tool.py +72 -0
- tooluniverse/jaspar_tool.py +30 -0
- tooluniverse/kegg_tool.py +230 -0
- tooluniverse/logging_config.py +2 -2
- tooluniverse/mcp_client_tool.py +57 -129
- tooluniverse/mcp_integration.py +52 -49
- tooluniverse/mcp_tool_registry.py +147 -528
- tooluniverse/mpd_tool.py +42 -0
- tooluniverse/ncbi_eutils_tool.py +96 -0
- tooluniverse/ols_tool.py +435 -0
- tooluniverse/openalex_tool.py +8 -8
- tooluniverse/openfda_tool.py +2 -2
- tooluniverse/output_hook.py +15 -15
- tooluniverse/package_discovery_tool.py +217 -0
- tooluniverse/package_tool.py +1 -1
- tooluniverse/paleobiology_tool.py +30 -0
- tooluniverse/pmc_tool.py +2 -2
- tooluniverse/pride_tool.py +30 -0
- tooluniverse/pypi_package_inspector_tool.py +593 -0
- tooluniverse/python_executor_tool.py +711 -0
- tooluniverse/regulomedb_tool.py +30 -0
- tooluniverse/remap_tool.py +44 -0
- tooluniverse/remote/boltz/boltz_mcp_server.py +1 -1
- tooluniverse/remote/depmap_24q2/depmap_24q2_mcp_tool.py +3 -3
- tooluniverse/remote/immune_compass/compass_tool.py +3 -3
- tooluniverse/remote/pinnacle/pinnacle_tool.py +2 -2
- tooluniverse/remote/transcriptformer/transcriptformer_tool.py +3 -3
- tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +3 -3
- tooluniverse/remote_tool.py +4 -4
- tooluniverse/screen_tool.py +44 -0
- tooluniverse/scripts/filter_tool_files.py +2 -2
- tooluniverse/smcp.py +93 -12
- tooluniverse/smcp_server.py +100 -21
- tooluniverse/space/__init__.py +46 -0
- tooluniverse/space/loader.py +133 -0
- tooluniverse/space/validator.py +353 -0
- tooluniverse/tool_finder_embedding.py +5 -3
- tooluniverse/tool_finder_keyword.py +12 -10
- tooluniverse/tool_finder_llm.py +12 -8
- tooluniverse/tools/{UCSC_get_genes_by_region.py → BLAST_nucleotide_search.py} +22 -26
- tooluniverse/tools/BLAST_protein_search.py +63 -0
- tooluniverse/tools/ClinVar_search_variants.py +26 -15
- tooluniverse/tools/CodeQualityAnalyzer.py +3 -3
- tooluniverse/tools/EMDB_get_structure.py +46 -0
- tooluniverse/tools/GtoPdb_get_targets.py +52 -0
- tooluniverse/tools/InterPro_get_domain_details.py +46 -0
- tooluniverse/tools/InterPro_get_protein_domains.py +49 -0
- tooluniverse/tools/InterPro_search_domains.py +52 -0
- tooluniverse/tools/JASPAR_get_transcription_factors.py +52 -0
- tooluniverse/tools/MPD_get_phenotype_data.py +59 -0
- tooluniverse/tools/PRIDE_search_proteomics.py +52 -0
- tooluniverse/tools/PackageAnalyzer.py +55 -0
- tooluniverse/tools/Paleobiology_get_fossils.py +52 -0
- tooluniverse/tools/PyPIPackageInspector.py +59 -0
- tooluniverse/tools/ReMap_get_transcription_factor_binding.py +59 -0
- tooluniverse/tools/ReferenceInfoAnalyzer.py +55 -0
- tooluniverse/tools/RegulomeDB_query_variant.py +46 -0
- tooluniverse/tools/SCREEN_get_regulatory_elements.py +59 -0
- tooluniverse/tools/{ArgumentDescriptionOptimizer.py → TestResultsAnalyzer.py} +13 -13
- tooluniverse/tools/ToolDiscover.py +11 -11
- tooluniverse/tools/UniProt_id_mapping.py +63 -0
- tooluniverse/tools/UniProt_search.py +63 -0
- tooluniverse/tools/UnifiedToolGenerator.py +59 -0
- tooluniverse/tools/WoRMS_search_species.py +49 -0
- tooluniverse/tools/XMLToolOptimizer.py +55 -0
- tooluniverse/tools/__init__.py +119 -29
- tooluniverse/tools/_shared_client.py +3 -3
- tooluniverse/tools/alphafold_get_annotations.py +3 -3
- tooluniverse/tools/alphafold_get_prediction.py +3 -3
- tooluniverse/tools/alphafold_get_summary.py +3 -3
- tooluniverse/tools/cBioPortal_get_cancer_studies.py +46 -0
- tooluniverse/tools/cBioPortal_get_mutations.py +52 -0
- tooluniverse/tools/{gnomAD_query_variant.py → clinvar_get_clinical_significance.py} +8 -11
- tooluniverse/tools/clinvar_get_variant_details.py +49 -0
- tooluniverse/tools/dbSNP_get_variant_by_rsid.py +7 -7
- tooluniverse/tools/dbsnp_get_frequencies.py +46 -0
- tooluniverse/tools/dbsnp_search_by_gene.py +52 -0
- tooluniverse/tools/download_binary_file.py +66 -0
- tooluniverse/tools/download_file.py +71 -0
- tooluniverse/tools/download_text_content.py +55 -0
- tooluniverse/tools/dynamic_package_discovery.py +59 -0
- tooluniverse/tools/ensembl_get_sequence.py +52 -0
- tooluniverse/tools/{Ensembl_lookup_gene_by_symbol.py → ensembl_get_variants.py} +11 -11
- tooluniverse/tools/ensembl_lookup_gene.py +46 -0
- tooluniverse/tools/geo_get_dataset_info.py +46 -0
- tooluniverse/tools/geo_get_sample_info.py +46 -0
- tooluniverse/tools/geo_search_datasets.py +67 -0
- tooluniverse/tools/gnomad_get_gene_constraints.py +49 -0
- tooluniverse/tools/kegg_find_genes.py +52 -0
- tooluniverse/tools/kegg_get_gene_info.py +46 -0
- tooluniverse/tools/kegg_get_pathway_info.py +46 -0
- tooluniverse/tools/kegg_list_organisms.py +44 -0
- tooluniverse/tools/kegg_search_pathway.py +46 -0
- tooluniverse/tools/ols_find_similar_terms.py +63 -0
- tooluniverse/tools/{get_hyperopt_info.py → ols_get_ontology_info.py} +13 -10
- tooluniverse/tools/ols_get_term_ancestors.py +67 -0
- tooluniverse/tools/ols_get_term_children.py +67 -0
- tooluniverse/tools/{TestCaseGenerator.py → ols_get_term_info.py} +12 -9
- tooluniverse/tools/{CodeOptimizer.py → ols_search_ontologies.py} +22 -14
- tooluniverse/tools/ols_search_terms.py +71 -0
- tooluniverse/tools/python_code_executor.py +79 -0
- tooluniverse/tools/python_script_runner.py +79 -0
- tooluniverse/tools/web_api_documentation_search.py +63 -0
- tooluniverse/tools/web_search.py +71 -0
- tooluniverse/uniprot_tool.py +219 -16
- tooluniverse/url_tool.py +19 -1
- tooluniverse/uspto_tool.py +1 -1
- tooluniverse/utils.py +12 -12
- tooluniverse/web_search_tool.py +229 -0
- tooluniverse/worms_tool.py +64 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/METADATA +8 -3
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/RECORD +184 -92
- tooluniverse/data/genomics_tools.json +0 -174
- tooluniverse/tools/ToolDescriptionOptimizer.py +0 -67
- tooluniverse/tools/ToolImplementationGenerator.py +0 -67
- tooluniverse/tools/ToolOptimizer.py +0 -59
- tooluniverse/tools/ToolSpecificationGenerator.py +0 -67
- tooluniverse/tools/ToolSpecificationOptimizer.py +0 -63
- tooluniverse/ucsc_tool.py +0 -60
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/WHEEL +0 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/entry_points.txt +0 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/licenses/LICENSE +0 -0
- {tooluniverse-1.0.9.1.dist-info → tooluniverse-1.0.11.dist-info}/top_level.txt +0 -0
tooluniverse/mcp_integration.py
CHANGED
|
@@ -16,8 +16,8 @@ def load_mcp_tools(self, server_urls: List[str] = None, **kwargs):
|
|
|
16
16
|
This method automatically discovers tools from MCP servers and registers them
|
|
17
17
|
as ToolUniverse tools, enabling seamless usage of remote capabilities.
|
|
18
18
|
|
|
19
|
-
Parameters
|
|
20
|
-
|
|
19
|
+
Parameters
|
|
20
|
+
----------
|
|
21
21
|
server_urls : list of str, optional
|
|
22
22
|
List of MCP server URLs to load tools from. Examples:
|
|
23
23
|
|
|
@@ -35,31 +35,34 @@ def load_mcp_tools(self, server_urls: List[str] = None, **kwargs):
|
|
|
35
35
|
- selected_tools (list): Specific tools to load from each server
|
|
36
36
|
- categories (list): Tool categories to filter by
|
|
37
37
|
|
|
38
|
-
Returns
|
|
39
|
-
|
|
38
|
+
Returns
|
|
39
|
+
-------
|
|
40
40
|
dict
|
|
41
41
|
Summary of loaded tools with counts and any errors encountered.
|
|
42
42
|
|
|
43
|
-
Examples
|
|
44
|
-
|
|
43
|
+
Examples
|
|
44
|
+
--------
|
|
45
45
|
|
|
46
46
|
Load from specific servers:
|
|
47
|
-
```python
|
|
48
|
-
tu = ToolUniverse()
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
result = tu.load_mcp_tools([
|
|
52
|
-
"http://localhost:8001", # Local analysis server
|
|
53
|
-
"http://ml-server:8002", # Remote ML server
|
|
54
|
-
"ws://realtime:9000" # WebSocket server
|
|
55
|
-
])
|
|
48
|
+
.. code-block:: python
|
|
56
49
|
|
|
57
|
-
|
|
58
|
-
|
|
50
|
+
tu = ToolUniverse()
|
|
51
|
+
|
|
52
|
+
# Load tools from multiple MCP servers
|
|
53
|
+
result = tu.load_mcp_tools([
|
|
54
|
+
"http://localhost:8001", # Local analysis server
|
|
55
|
+
"http://ml-server:8002", # Remote ML server
|
|
56
|
+
"ws://realtime:9000" # WebSocket server
|
|
57
|
+
])
|
|
58
|
+
|
|
59
|
+
print(f"Loaded {result['total_tools']} tools from {result['servers_connected']} servers")
|
|
59
60
|
|
|
60
61
|
Load with custom configuration:
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
|
|
63
|
+
.. code-block:: python
|
|
64
|
+
|
|
65
|
+
tu.load_mcp_tools(
|
|
63
66
|
server_urls=["http://localhost:8001"],
|
|
64
67
|
tool_prefix="analysis\\_",
|
|
65
68
|
timeout=60,
|
|
@@ -223,8 +226,8 @@ def discover_mcp_tools(self, server_urls: List[str] = None, **kwargs) -> Dict[st
|
|
|
223
226
|
without actually registering them in ToolUniverse. Useful for exploration
|
|
224
227
|
and selective tool loading.
|
|
225
228
|
|
|
226
|
-
Parameters
|
|
227
|
-
|
|
229
|
+
Parameters
|
|
230
|
+
----------
|
|
228
231
|
server_urls : list of str, optional
|
|
229
232
|
List of MCP server URLs to discover from
|
|
230
233
|
**kwargs
|
|
@@ -232,28 +235,28 @@ def discover_mcp_tools(self, server_urls: List[str] = None, **kwargs) -> Dict[st
|
|
|
232
235
|
- timeout (int): Connection timeout (default: 30)
|
|
233
236
|
- include_schemas (bool): Include tool parameter schemas (default: True)
|
|
234
237
|
|
|
235
|
-
Returns
|
|
236
|
-
|
|
238
|
+
Returns
|
|
239
|
+
-------
|
|
237
240
|
dict
|
|
238
241
|
Discovery results with tools organized by server
|
|
239
242
|
|
|
240
|
-
Examples
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
243
|
+
Examples
|
|
244
|
+
--------
|
|
245
|
+
.. code-block:: python
|
|
246
|
+
|
|
247
|
+
tu = ToolUniverse()
|
|
248
|
+
|
|
249
|
+
# Discover what's available
|
|
250
|
+
discovery = tu.discover_mcp_tools([
|
|
251
|
+
"http://localhost:8001",
|
|
252
|
+
"http://ml-server:8002"
|
|
253
|
+
])
|
|
254
|
+
|
|
255
|
+
# Show available tools
|
|
256
|
+
for server, info in discovery["servers"].items():
|
|
257
|
+
print(f"\\n{server}:")
|
|
258
|
+
for tool in info.get("tools", []):
|
|
259
|
+
print(f" - {tool['name']}: {tool['description']}")
|
|
257
260
|
"""
|
|
258
261
|
if server_urls is None:
|
|
259
262
|
try:
|
|
@@ -334,20 +337,20 @@ def list_mcp_connections(self) -> Dict[str, Any]:
|
|
|
334
337
|
"""
|
|
335
338
|
List all active MCP connections and loaded tools.
|
|
336
339
|
|
|
337
|
-
Returns
|
|
338
|
-
|
|
340
|
+
Returns
|
|
341
|
+
-------
|
|
339
342
|
dict
|
|
340
343
|
Information about MCP connections, auto-loaders, and loaded tools
|
|
341
344
|
|
|
342
|
-
Examples
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
tu = ToolUniverse()
|
|
346
|
-
tu.load_mcp_tools(["http://localhost:8001"])
|
|
345
|
+
Examples
|
|
346
|
+
--------
|
|
347
|
+
.. code-block:: python
|
|
347
348
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
349
|
+
tu = ToolUniverse()
|
|
350
|
+
tu.load_mcp_tools(["http://localhost:8001"])
|
|
351
|
+
|
|
352
|
+
connections = tu.list_mcp_connections()
|
|
353
|
+
print(f"Active MCP connections: {len(connections['connections'])}")
|
|
351
354
|
"""
|
|
352
355
|
mcp_tools = {}
|
|
353
356
|
mcp_loaders = {}
|