tooluniverse 1.0.4__py3-none-any.whl → 1.0.6__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.

Files changed (57) hide show
  1. tooluniverse/__init__.py +56 -5
  2. tooluniverse/agentic_tool.py +90 -14
  3. tooluniverse/arxiv_tool.py +113 -0
  4. tooluniverse/biorxiv_tool.py +97 -0
  5. tooluniverse/core_tool.py +153 -0
  6. tooluniverse/crossref_tool.py +73 -0
  7. tooluniverse/data/agentic_tools.json +2 -2
  8. tooluniverse/data/arxiv_tools.json +87 -0
  9. tooluniverse/data/biorxiv_tools.json +70 -0
  10. tooluniverse/data/core_tools.json +105 -0
  11. tooluniverse/data/crossref_tools.json +70 -0
  12. tooluniverse/data/dblp_tools.json +73 -0
  13. tooluniverse/data/doaj_tools.json +94 -0
  14. tooluniverse/data/fatcat_tools.json +72 -0
  15. tooluniverse/data/hal_tools.json +70 -0
  16. tooluniverse/data/medrxiv_tools.json +70 -0
  17. tooluniverse/data/odphp_tools.json +354 -0
  18. tooluniverse/data/openaire_tools.json +85 -0
  19. tooluniverse/data/osf_preprints_tools.json +77 -0
  20. tooluniverse/data/pmc_tools.json +109 -0
  21. tooluniverse/data/pubmed_tools.json +65 -0
  22. tooluniverse/data/unpaywall_tools.json +86 -0
  23. tooluniverse/data/wikidata_sparql_tools.json +42 -0
  24. tooluniverse/data/zenodo_tools.json +82 -0
  25. tooluniverse/dblp_tool.py +62 -0
  26. tooluniverse/default_config.py +18 -0
  27. tooluniverse/doaj_tool.py +124 -0
  28. tooluniverse/execute_function.py +70 -9
  29. tooluniverse/fatcat_tool.py +66 -0
  30. tooluniverse/hal_tool.py +77 -0
  31. tooluniverse/llm_clients.py +487 -0
  32. tooluniverse/mcp_tool_registry.py +3 -3
  33. tooluniverse/medrxiv_tool.py +97 -0
  34. tooluniverse/odphp_tool.py +226 -0
  35. tooluniverse/openaire_tool.py +145 -0
  36. tooluniverse/osf_preprints_tool.py +67 -0
  37. tooluniverse/pmc_tool.py +181 -0
  38. tooluniverse/pubmed_tool.py +110 -0
  39. tooluniverse/remote/boltz/boltz_mcp_server.py +2 -2
  40. tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +2 -2
  41. tooluniverse/smcp.py +313 -191
  42. tooluniverse/smcp_server.py +4 -7
  43. tooluniverse/test/test_claude_sdk.py +93 -0
  44. tooluniverse/test/test_odphp_tool.py +166 -0
  45. tooluniverse/test/test_openrouter_client.py +288 -0
  46. tooluniverse/test/test_stdio_hooks.py +1 -1
  47. tooluniverse/test/test_tool_finder.py +1 -1
  48. tooluniverse/unpaywall_tool.py +63 -0
  49. tooluniverse/wikidata_sparql_tool.py +61 -0
  50. tooluniverse/zenodo_tool.py +74 -0
  51. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/METADATA +101 -74
  52. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/RECORD +56 -19
  53. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/entry_points.txt +1 -0
  54. tooluniverse-1.0.6.dist-info/licenses/LICENSE +201 -0
  55. tooluniverse-1.0.4.dist-info/licenses/LICENSE +0 -21
  56. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/WHEEL +0 -0
  57. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,61 @@
1
+ import requests
2
+ from .base_tool import BaseTool
3
+ from .tool_registry import register_tool
4
+
5
+
6
+ @register_tool("WikidataSPARQLTool")
7
+ class WikidataSPARQLTool(BaseTool):
8
+ """
9
+ Run SPARQL queries against Wikidata (powering Scholia views).
10
+
11
+ Parameters (arguments):
12
+ sparql (str): SPARQL query string
13
+ max_results (int): Optional result limit override
14
+ """
15
+
16
+ def __init__(self, tool_config):
17
+ super().__init__(tool_config)
18
+ self.endpoint = "https://query.wikidata.org/sparql"
19
+
20
+ def run(self, arguments=None):
21
+ arguments = arguments or {}
22
+ sparql = arguments.get("sparql")
23
+ max_results = arguments.get("max_results")
24
+ if not sparql:
25
+ return {"error": "`sparql` parameter is required."}
26
+ if max_results:
27
+ # naive limit appending if not present
28
+ if "limit" not in sparql.lower():
29
+ sparql = f"{sparql}\nLIMIT {int(max_results)}"
30
+
31
+ headers = {
32
+ "Accept": "application/sparql-results+json",
33
+ "User-Agent": "ToolUniverse/1.0 (https://github.com)"
34
+ }
35
+ try:
36
+ resp = requests.get(
37
+ self.endpoint,
38
+ params={"query": sparql, "format": "json"},
39
+ headers=headers,
40
+ timeout=30,
41
+ )
42
+ resp.raise_for_status()
43
+ data = resp.json()
44
+ except requests.RequestException as e:
45
+ return {
46
+ "error": "Network/API error calling Wikidata SPARQL",
47
+ "reason": str(e),
48
+ }
49
+ except ValueError:
50
+ return {"error": "Failed to decode SPARQL response as JSON"}
51
+
52
+ bindings = data.get("results", {}).get("bindings", [])
53
+ # Normalize by unwrapping "value" fields
54
+ normalized = []
55
+ for b in bindings:
56
+ row = {}
57
+ for k, v in b.items():
58
+ row[k] = v.get("value")
59
+ normalized.append(row)
60
+ return normalized
61
+
@@ -0,0 +1,74 @@
1
+ import requests
2
+ from .base_tool import BaseTool
3
+ from .tool_registry import register_tool
4
+
5
+
6
+ @register_tool("ZenodoTool")
7
+ class ZenodoTool(BaseTool):
8
+ """
9
+ Search Zenodo records with optional community filter.
10
+
11
+ Parameters (arguments):
12
+ query (str): Free text query
13
+ max_results (int): Max results (default 10, max 200)
14
+ community (str): Optional community slug to filter
15
+ """
16
+
17
+ def __init__(self, tool_config):
18
+ super().__init__(tool_config)
19
+ self.base_url = "https://zenodo.org/api/records"
20
+
21
+ def run(self, arguments=None):
22
+ arguments = arguments or {}
23
+ query = arguments.get("query")
24
+ max_results = int(arguments.get("max_results", 10))
25
+ community = arguments.get("community")
26
+
27
+ if not query:
28
+ return {"error": "`query` parameter is required."}
29
+
30
+ params = {
31
+ "q": query,
32
+ "size": max(1, min(max_results, 200)),
33
+ "all_versions": 1,
34
+ }
35
+ if community:
36
+ params["communities"] = community
37
+
38
+ try:
39
+ resp = requests.get(self.base_url, params=params, timeout=20)
40
+ resp.raise_for_status()
41
+ data = resp.json()
42
+ except requests.RequestException as e:
43
+ return {
44
+ "error": "Network/API error calling Zenodo",
45
+ "reason": str(e),
46
+ }
47
+ except ValueError:
48
+ return {"error": "Failed to decode Zenodo response as JSON"}
49
+
50
+ hits = data.get("hits", {}).get("hits", [])
51
+ results = []
52
+ for h in hits:
53
+ md = h.get("metadata", {})
54
+ title = md.get("title")
55
+ creators = [
56
+ c.get("name") for c in md.get("creators", []) if c.get("name")
57
+ ]
58
+ publication_date = md.get("publication_date")
59
+ doi = md.get("doi") or h.get("doi")
60
+ url = h.get("links", {}).get("html")
61
+ files = h.get("files", []) or h.get("links", {}).get("latest")
62
+ results.append(
63
+ {
64
+ "title": title,
65
+ "authors": creators,
66
+ "date": publication_date,
67
+ "doi": doi,
68
+ "url": url,
69
+ "files": files,
70
+ "source": "Zenodo",
71
+ }
72
+ )
73
+
74
+ return results
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tooluniverse
3
- Version: 1.0.4
3
+ Version: 1.0.6
4
4
  Summary: A comprehensive collection of scientific tools for Agentic AI, offering integration with the ToolUniverse SDK and MCP Server to support advanced scientific workflows.
5
5
  Author-email: Shanghua Gao <shanghuagao@gmail.com>
6
- Project-URL: Homepage, https://github.com/mims-harvard/TxAgent
6
+ Project-URL: Homepage, https://github.com/mims-harvard/ToolUniverse
7
7
  Requires-Python: >=3.10
8
8
  Description-Content-Type: text/markdown
9
9
  License-File: LICENSE
@@ -38,19 +38,29 @@ Requires-Dist: aiohttp
38
38
  Provides-Extra: dev
39
39
  Requires-Dist: pytest>=6.0; extra == "dev"
40
40
  Requires-Dist: pytest-cov>=2.0; extra == "dev"
41
+ Requires-Dist: pytest-timeout>=2.3.1; extra == "dev"
42
+ Requires-Dist: pytest-mock>=3.14.0; extra == "dev"
43
+ Requires-Dist: requests-mock>=1.12.1; extra == "dev"
41
44
  Requires-Dist: black>=22.0; extra == "dev"
42
45
  Requires-Dist: flake8>=4.0; extra == "dev"
43
46
  Requires-Dist: pre-commit>=2.0; extra == "dev"
44
47
  Provides-Extra: docs
45
48
  Requires-Dist: sphinx>=4.0; extra == "docs"
49
+ Requires-Dist: furo>=2024.8.6; extra == "docs"
50
+ Requires-Dist: pydata-sphinx-theme>=0.15.0; extra == "docs"
46
51
  Requires-Dist: sphinx-rtd-theme>=1.0; extra == "docs"
47
52
  Requires-Dist: myst-parser>=0.18; extra == "docs"
53
+ Requires-Dist: linkify-it-py>=2.0.0; extra == "docs"
48
54
  Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
49
55
  Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
50
56
  Requires-Dist: sphinx-tabs>=3.2.0; extra == "docs"
51
57
  Requires-Dist: sphinx-design>=0.3.0; extra == "docs"
52
58
  Requires-Dist: sphinx-notfound-page>=0.8; extra == "docs"
53
59
  Requires-Dist: sphinx-autodoc-typehints>=1.12.0; extra == "docs"
60
+ Provides-Extra: embedding
61
+ Requires-Dist: sentence-transformers>=5.1.0; extra == "embedding"
62
+ Requires-Dist: faiss-cpu>=1.12.0; extra == "embedding"
63
+ Requires-Dist: huggingface_hub>=0.34.0; extra == "embedding"
54
64
  Provides-Extra: graph
55
65
  Requires-Dist: flask>=2.0.0; extra == "graph"
56
66
  Requires-Dist: matplotlib>=3.5.0; extra == "graph"
@@ -66,11 +76,12 @@ Dynamic: license-file
66
76
 
67
77
  # <img src="docs/_static/logo.png" alt="ToolUniverse Logo" height="28" style="vertical-align: middle; margin-right: 8px;" /> ToolUniverse: Democratizing AI scientists
68
78
 
79
+ [![Paper](https://img.shields.io/badge/Paper-Arxiv-blue)](https://arxiv.org/abs/2509.23426)
69
80
  [![ToolUniverse-PIP](https://img.shields.io/badge/PyPI-ToolUniverse-blue)](https://pypi.org/project/tooluniverse/)
70
81
  [![ToolUniverse](https://img.shields.io/badge/Code-ToolUniverse-purple)](https://github.com/mims-harvard/ToolUniverse)
71
82
  [![Model context protocol (MCP)](https://img.shields.io/badge/Model_Context_Protocol_(MCP)_Supported-green)](README_USAGE.md#running-the-mcp-server)
72
- [![Documentation](https://img.shields.io/badge/Documentation-Available-green)](https://zitniklab.hms.harvard.edu/bioagent/)
73
- [![🌐Web Service](https://img.shields.io/badge/Web_Service-aiscientist.tools-blue)](https://aiscientist.tools)
83
+ [![Documentation](https://img.shields.io/badge/Documentation-Available-green)](https://zitniklab.hms.harvard.edu/ToolUniverse/)
84
+ [![🌐Web](https://img.shields.io/badge/Website-aiscientist.tools-blue)](https://aiscientist.tools)
74
85
  [![Slack](https://img.shields.io/badge/Slack-Join_Community-orange)](https://join.slack.com/t/tooluniversehq/shared_invite/zt-3dic3eoio-5xxoJch7TLNibNQn5_AREQ)
75
86
 
76
87
 
@@ -84,27 +95,34 @@ ToolUniverse is an ecosystem for creating AI scientist systems from any open or
84
95
  [![Visit Website](https://img.shields.io/badge/Visit_Website-AIScientist.Tools-4285F4?style=for-the-badge&logo=google-chrome&logoColor=white)](https://aiscientist.tools)
85
96
 
86
97
  [![Join Slack Community](https://img.shields.io/badge/Join_Slack_Community-Get_Help_&_Connect-FF6B6B?style=for-the-badge&logo=slack&logoColor=white)](https://join.slack.com/t/tooluniversehq/shared_invite/zt-3dic3eoio-5xxoJch7TLNibNQn5_AREQ)
87
- [![Join WeChat Group](https://img.shields.io/badge/Join_WeChat_Group-Community_&_Discussion-07C160?style=for-the-badge&logo=wechat&logoColor=white)](https://zitniklab.hms.harvard.edu/bioagent/wechat_community.html)
98
+ [![Join WeChat Group](https://img.shields.io/badge/Join_WeChat_Group-Community_&_Discussion-07C160?style=for-the-badge&logo=wechat&logoColor=white)](https://aiscientist.tools/wechat)
88
99
 
89
100
  [![Follow on LinkedIn](https://img.shields.io/badge/Follow_on_LinkedIn-Professional_Updates-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/tooluniverse-at-harvard-b9aa88385/)
90
101
  [![Follow on X](https://img.shields.io/badge/Follow_on_X-Latest_Updates-000000?style=for-the-badge&logo=x&logoColor=white)](https://x.com/ScientistTools)
91
102
 
92
103
  </div>
104
+ <p align="center">
105
+ <img src="https://github.com/user-attachments/assets/13ddb54c-4fcc-4507-8695-1c58e7bc1e68" width="600" />
106
+ </p>
93
107
 
94
- → **Complete Tool List**: [Available Tools](https://zitniklab.hms.harvard.edu/bioagent/tools/tools_config_index.html)
108
+ → **Complete Tool List**: [Available Tools](https://zitniklab.hms.harvard.edu/ToolUniverse/tools/tools_config_index.html)
95
109
 
96
110
  → **Check our website for direct tool usage**: [AIScientist.Tools](https://aiscientist.tools/)
97
111
 
98
112
 
99
113
  ## 🤖 Building AI Scientists with ToolUniverse in 5 minutes
100
- - **[Overview](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/index.html)**: Create AI scientists from any LLM
101
- - **[Claude Desktop Integration](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/claude_desktop.html)**: Native MCP integration with Claude Desktop App
102
- - **[Claude Code Integration](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/claude_code.html)**: AI scientist development in Claude Code environment
103
- - **[Gemini CLI Integration](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/gemini_cli.html)**: Command-line scientific research with Google Gemini
104
- - **[Qwen Code Integration](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/qwen_code.html)**: AI scientist workflows in Qwen Code environment
105
- - **[GPT Codex CLI Integration](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/codex_cli.html)**: Terminal-based research with OpenAI Codex
106
- - **[ChatGPT API Integration](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/chatgpt_api.html)**: Programmatic research with ChatGPT function calling
107
114
 
115
+ [![YouTube Video](https://img.youtube.com/vi/fManSJlSs60/maxresdefault.jpg)](https://www.youtube.com/watch?v=fManSJlSs60)
116
+ *Click the image above to watch the ToolUniverse demonstration*
117
+ [(Also in Bilibili)](https://www.bilibili.com/video/BV1GynhzjEos/?share_source=copy_web&vd_source=b398f13447281e748f5c41057a2c6858)
118
+
119
+ - **[Overview](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/index.html)**: Create AI scientists from any LLM
120
+ - **[Claude Desktop Integration](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/claude_desktop.html)**: Native MCP integration with Claude Desktop App
121
+ - **[Claude Code Integration](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/claude_code.html)**: AI scientist development in Claude Code environment
122
+ - **[Gemini CLI Integration](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/gemini_cli.html)**: Command-line scientific research with Google Gemini
123
+ - **[Qwen Code Integration](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/qwen_code.html)**: AI scientist workflows in Qwen Code environment
124
+ - **[GPT Codex CLI Integration](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/codex_cli.html)**: Terminal-based research with OpenAI Codex
125
+ - **[ChatGPT API Integration](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/chatgpt_api.html)**: Programmatic research with ChatGPT function calling
108
126
 
109
127
  ## 🔬 What is ToolUniverse?
110
128
 
@@ -114,18 +132,19 @@ ToolUniverse addresses this challenge by providing a standardized ecosystem that
114
132
 
115
133
  **Key Features:**
116
134
 
117
- - [**AI-Tool Interaction Protocol**](https://zitniklab.hms.harvard.edu/bioagent/guide/interaction_protocol.html): Standardized interface governing how AI scientists issue tool requests and receive results
118
- - [**Universal AI Model Support**](https://zitniklab.hms.harvard.edu/bioagent/guide/building_ai_scientists/index.html): Works with any LLM, AI agent, or large reasoning model (GPT5, Claude, Gemini, Qwen, Deepseek, open models)
119
- - [**Easy to Load & Find & Call Tool**](https://zitniklab.hms.harvard.edu/bioagent/guide/index.html) (*[WebService](https://aiscientist.tools/), [PythonAPI](https://zitniklab.hms.harvard.edu/bioagent/api/modules.html), [MCP](https://zitniklab.hms.harvard.edu/bioagent/guide/mcp_support.html)*): Maps natural-language descriptions to tool specifications and executes tools with structured results
120
- - [**Tool Composition & Scientific Workflows**](https://zitniklab.hms.harvard.edu/bioagent/guide/tool_composition.html): Chains tools for sequential or parallel execution in self-directed scientific workflows
121
- - [**Continuous Expansion**](https://zitniklab.hms.harvard.edu/bioagent/expand_tooluniverse/index.html): New tools can be easily registered locally or remotely without additional configuration
122
- - [**Multi-Agent Tool Creation & Optimization**](https://zitniklab.hms.harvard.edu/bioagent/guide/scientific_workflows.html): Multi-agent powered tool construction and iterative tool optimization
123
-
135
+ - [**AI-Tool Interaction Protocol**](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/interaction_protocol.html): Standardized interface governing how AI scientists issue tool requests and receive results
136
+ - [**Universal AI Model Support**](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/building_ai_scientists/index.html): Works with any LLM, AI agent, or large reasoning model (GPT5, Claude, Gemini, Qwen, Deepseek, open models)
137
+ - [**OpenRouter Integration**](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/openrouter_support.html): Access 100+ models from OpenAI, Anthropic, Google, Qwen, and more through a single API
138
+ - [**Easy to Load & Find & Call Tool**](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/index.html) (*[WebService](https://aiscientist.tools/), [PythonAPI](https://zitniklab.hms.harvard.edu/ToolUniverse/api/modules.html), [MCP](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/mcp_support.html)*): Maps natural-language descriptions to tool specifications and executes tools with structured results
139
+ - [**Tool Composition & Scientific Workflows**](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/tool_composition.html): Chains tools for sequential or parallel execution in self-directed scientific workflows
140
+ - [**Continuous Expansion**](https://zitniklab.hms.harvard.edu/ToolUniverse/expand_tooluniverse/index.html): New tools can be easily registered locally or remotely without additional configuration
141
+ - [**Multi-Agent Tool Creation & Optimization**](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/scientific_workflows.html): Multi-agent powered tool construction and iterative tool optimization
124
142
 
143
+ <p align="center">
144
+ <img src="https://github.com/user-attachments/assets/eb15bd7c-4e73-464b-8d65-733877c96a51" width="888" />
145
+ </p>
125
146
 
126
147
 
127
- <!-- ![TxAgent](img/TxAgent_ToolUniverse.jpg) -->
128
-
129
148
  ## 🚀 Quick Start
130
149
 
131
150
  ```python
@@ -143,17 +162,17 @@ tu.load_tools() # Load 600+ scientific tools
143
162
  # 3. Use Find Tool operation to discover relevant tools
144
163
  tools = tu.run({
145
164
  "name": "Tool_Finder_Keyword",
146
- "arguments": {"query": "disease target associations"}
165
+ "arguments": {"description": "disease target associations", "limit": 10}
147
166
  })
148
167
 
149
168
  # 4. Use Call Tool operation to execute selected tool
150
169
  result = tu.run({
151
170
  "name": "OpenTargets_get_associated_targets_by_disease_efoId",
152
- "arguments": {"efoId": "EFO_0000249"}
171
+ "arguments": {"efoId": "EFO_0000537"} # hypertension
153
172
  })
154
173
  ```
155
174
 
156
- → **Complete Quick Start Tutorial**: [Quick Start Tutorial](https://zitniklab.hms.harvard.edu/bioagent/quickstart.html) [Getting Started Tutorial](https://zitniklab.hms.harvard.edu/bioagent/getting_started.html)
175
+ → **Complete Quick Start Tutorial**: [Quick Start Tutorial](https://zitniklab.hms.harvard.edu/ToolUniverse/quickstart.html) [Getting Started Tutorial](https://zitniklab.hms.harvard.edu/ToolUniverse/getting_started.html)
157
176
 
158
177
 
159
178
  ## 📦 Installation
@@ -164,7 +183,7 @@ result = tu.run({
164
183
  uv pip install tooluniverse
165
184
  ```
166
185
 
167
- → **Complete Installation Tutorial**: [Installation Tutorial](https://zitniklab.hms.harvard.edu/bioagent/installation.html)
186
+ → **Complete Installation Tutorial**: [Installation Tutorial](https://zitniklab.hms.harvard.edu/ToolUniverse/installation.html)
168
187
 
169
188
  ## 🔧 Usage & Integration
170
189
 
@@ -182,17 +201,18 @@ tu.load_tools()
182
201
  # Find relevant tools
183
202
  tools = tu.run({
184
203
  "name": "Tool_Finder_Keyword", # Tool_Finder (Embedding model, GPU required), Tool_Finder_LLM (LLM-based model)
185
- "arguments": {"query": "protein structure prediction"}
204
+ "arguments": {"description": "protein structure prediction", "limit": 10}
186
205
  })
187
206
 
188
207
  # Execute tools
189
208
  result = tu.run({
190
- "name": "UniProt_get_protein_info",
191
- "arguments": {"gene_symbol": "BRCA1"}
209
+ "name": "UniProt_get_function_by_accession",
210
+ "arguments": {"accession": "P05067"}
192
211
  })
212
+
193
213
  ```
194
214
 
195
- → **Complete Tutorials**: [Installation Tutorial](https://zitniklab.hms.harvard.edu/bioagent/installation.html)
215
+ → **Complete Tutorials**: [Installation Tutorial](https://zitniklab.hms.harvard.edu/ToolUniverse/installation.html)
196
216
 
197
217
  ### MCP Support
198
218
 
@@ -200,7 +220,7 @@ result = tu.run({
200
220
  # run one command to launch the tooluniverse mcp server
201
221
  tooluniverse-smcp
202
222
  ```
203
- → **Complete Tutorial**: [MCP Support](https://zitniklab.hms.harvard.edu/bioagent/guide/mcp_support.html)
223
+ → **Complete Tutorial**: [MCP Support](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/mcp_support.html)
204
224
 
205
225
 
206
226
  ## 🚀 AI Scientists Projects Powered by ToolUniverse
@@ -213,9 +233,11 @@ tooluniverse-smcp
213
233
 
214
234
 
215
235
  ---
216
- **Hypercholesterolemia Drug Discovery** [[Tutorial]](https://zitniklab.hms.harvard.edu/bioagent/tutorials/tooluniverse_case_study.html) [[Code]](https://colab.research.google.com/drive/1UwJ6RwyUoqI5risKQ365EeFdDQWOeOCv?usp=sharing)
236
+ **Hypercholesterolemia Drug Discovery** [[Tutorial]](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/tooluniverse_case_study.html) [[Code]](https://colab.research.google.com/drive/1UwJ6RwyUoqI5risKQ365EeFdDQWOeOCv?usp=sharing)
237
+ <p align="center">
238
+ <img src="https://github.com/user-attachments/assets/cc53e9b0-94d3-407d-a015-71762ddb9836" width="600" />
239
+ </p>
217
240
 
218
- ---
219
241
 
220
242
 
221
243
  ## 🤝 Contribution and Community
@@ -228,7 +250,7 @@ Please join our [Slack Channel](https://join.slack.com/t/tooluniversehq/shared_i
228
250
  - **Report Issues**: [GitHub Issues](https://github.com/mims-harvard/ToolUniverse/issues)
229
251
  - **Join Discussions**: [Slack Channel](https://github.com/mims-harvard/ToolUniverse/discussions)
230
252
  - **Contact**: Reach out to [Shanghua Gao](shanghuagao@gmail.com)/[Marinka Zitnik](marinka@hms.harvard.edu)
231
- - **Contribute**: See our [Contributing Tutorial](https://zitniklab.hms.harvard.edu/bioagent/expand_tooluniverse/comprehensive_tool_guide.html)
253
+ - **Contribute**: See our [Contributing Tutorial](https://zitniklab.hms.harvard.edu/ToolUniverse/expand_tooluniverse/comprehensive_tool_guide.html)
232
254
 
233
255
 
234
256
 
@@ -236,10 +258,10 @@ Please join our [Slack Channel](https://join.slack.com/t/tooluniversehq/shared_i
236
258
 
237
259
  - **[Shanghua Gao](https://shgao.site)**
238
260
  - **[Richard Zhu](https://www.linkedin.com/in/richard-zhu-4236901a7/)**
239
- - **[Pengwei Sui](mailto:pengwei_sui@hms.harvard.edu)**
261
+ - **[Pengwei Sui](https://psui3905.github.io/)**
240
262
  - **[Zhenglun Kong](https://zlkong.github.io/homepage/)**
241
263
  - **[Sufian Aldogom](mailto:saldogom@mit.edu)**
242
- - **[Yepeng Huang](mailto:yepeng_huang@hms.harvard.edu)**
264
+ - **[Yepeng Huang](https://yepeng.notion.site/Yepeng-Huang-16ad8dd1740080c28d4bd3e3d7c1080c)**
243
265
  - **[Ayush Noori](https://www.ayushnoori.com/)**
244
266
  - **[Reza Shamji](mailto:reza_shamji@hms.harvard.edu)**
245
267
  - **[Krishna Parvataneni](mailto:krishna_parvataneni@hms.harvard.edu)**
@@ -253,53 +275,63 @@ Please join our [Slack Channel](https://join.slack.com/t/tooluniversehq/shared_i
253
275
  Our comprehensive documentation covers everything from quick start to advanced workflows:
254
276
 
255
277
  ### 🚀 Getting Started
256
- - **[Quick Start Tutorial](https://zitniklab.hms.harvard.edu/bioagent/quickstart.html)**: 5-minute setup and first query
257
- - **[Installation](https://zitniklab.hms.harvard.edu/bioagent/installation.html)**: Complete installation options
258
- - **[Getting Started](https://zitniklab.hms.harvard.edu/bioagent/getting_started.html)**: Step-by-step tutorial
259
- - **[AI-Tool Protocol](https://zitniklab.hms.harvard.edu/bioagent/guide/interaction_protocol.html)**: Understanding the interaction protocol
278
+ - **[Quick Start Tutorial](https://zitniklab.hms.harvard.edu/ToolUniverse/quickstart.html)**: 5-minute setup and first query
279
+ - **[Installation](https://zitniklab.hms.harvard.edu/ToolUniverse/installation.html)**: Complete installation options
280
+ - **[Getting Started](https://zitniklab.hms.harvard.edu/ToolUniverse/getting_started.html)**: Step-by-step tutorial
281
+ - **[AI-Tool Protocol](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/interaction_protocol.html)**: Understanding the interaction protocol
260
282
 
261
283
  ### 📖 User Guides
262
- - **[Loading Tools](https://zitniklab.hms.harvard.edu/bioagent/guide/loading_tools.html)**: Complete Tutorial to loading tools
263
- - **[Tool Discovery](https://zitniklab.hms.harvard.edu/bioagent/tutorials/finding_tools.html)**: Find tools by keyword, LLM, and embedding search
264
- - **[Tool Caller](https://zitniklab.hms.harvard.edu/bioagent/guide/tool_caller.html)**: Primary execution engine
265
- - **[Tool Composition](https://zitniklab.hms.harvard.edu/bioagent/guide/tool_composition.html)**: Chain tools into workflows
266
- - **[Scientific Workflows](https://zitniklab.hms.harvard.edu/bioagent/guide/scientific_workflows.html)**: Real-world research scenarios
267
- - **[MCP Support](https://zitniklab.hms.harvard.edu/bioagent/guide/mcp_support.html)**: Model Context Protocol integration
268
- - **[Logging](https://zitniklab.hms.harvard.edu/bioagent/guide/logging.html)**: Comprehensive logging configuration
284
+ - **[Loading Tools](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/loading_tools.html)**: Complete Tutorial to loading tools
285
+ - **[Tool Discovery](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/finding_tools.html)**: Find tools by keyword, LLM, and embedding search
286
+ - **[Tool Caller](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/tool_caller.html)**: Primary execution engine
287
+ - **[Tool Composition](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/tool_composition.html)**: Chain tools into workflows
288
+ - **[Scientific Workflows](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/scientific_workflows.html)**: Real-world research scenarios
289
+ - **[MCP Support](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/mcp_support.html)**: Model Context Protocol integration
290
+ - **[Logging](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/logging.html)**: Comprehensive logging configuration
269
291
 
270
292
  ### 🛠️ Advanced Features
271
- - **[Hooks System](https://zitniklab.hms.harvard.edu/bioagent/guide/hooks/index.html)**: Intelligent output processing
272
- - **[Hook Configuration](https://zitniklab.hms.harvard.edu/bioagent/guide/hooks/hook_configuration.html)**: Configure hooks for different outputs
273
- - **[File Save Hook](https://zitniklab.hms.harvard.edu/bioagent/guide/hooks/file_save_hook.html)**: Save tool outputs to files
274
- - **[Summarization Hook](https://zitniklab.hms.harvard.edu/bioagent/guide/hooks/summarization_hook.html)**: Summarize tool outputs
275
- - **[Server Stdio Hooks](https://zitniklab.hms.harvard.edu/bioagent/guide/hooks/server_stdio_hooks.html)**: Server communication hooks
276
- - **[Expert Feedback](https://zitniklab.hms.harvard.edu/bioagent/tutorials/expert_feedback.html)**: Human-in-the-loop consultation
277
- - **[Agentic Tools](https://zitniklab.hms.harvard.edu/bioagent/tutorials/agentic_tools_tutorial.html)**: AI-powered tool development
278
- - **[Case Study](https://zitniklab.hms.harvard.edu/bioagent/tutorials/tooluniverse_case_study.html)**: End-to-end drug discovery workflow
279
- - **[Tool Optimization](https://zitniklab.hms.harvard.edu/bioagent/tutorials/optimization/Tool_Description_Optimizer_Tutorial.html)**: Optimize tool descriptions for better performance
293
+ - **[Hooks System](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/hooks/index.html)**: Intelligent output processing
294
+ - **[Hook Configuration](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/hooks/hook_configuration.html)**: Configure hooks for different outputs
295
+ - **[File Save Hook](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/hooks/file_save_hook.html)**: Save tool outputs to files
296
+ - **[Summarization Hook](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/hooks/summarization_hook.html)**: Summarize tool outputs
297
+ - **[Server Stdio Hooks](https://zitniklab.hms.harvard.edu/ToolUniverse/guide/hooks/server_stdio_hooks.html)**: Server communication hooks
298
+ - **[Expert Feedback](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/expert_feedback.html)**: Human-in-the-loop consultation
299
+ - **[Agentic Tools](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/agentic_tools_tutorial.html)**: AI-powered tool development
300
+ - **[Case Study](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/tooluniverse_case_study.html)**: End-to-end drug discovery workflow
301
+ - **[Tool Optimization](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/optimization/Tool_Description_Optimizer_Tutorial.html)**: Optimize tool descriptions for better performance
280
302
 
281
303
  ### 🔧 Expanding ToolUniverse
282
- - **[Architecture](https://zitniklab.hms.harvard.edu/bioagent/expand_tooluniverse/architecture.html)**: System architecture overview
283
- - **[Local Tool Registration](https://zitniklab.hms.harvard.edu/bioagent/expand_tooluniverse/local_tool_registration.html)**: Create custom tools
284
- - **[Remote Tool Registration](https://zitniklab.hms.harvard.edu/bioagent/expand_tooluniverse/remote_tool_registration.html)**: Integrate external services
285
- - **[Contributing Tools](https://zitniklab.hms.harvard.edu/bioagent/expand_tooluniverse/comprehensive_tool_guide.html)**: Complete contribution guide
286
- - **[Adding Tools Tutorial](https://zitniklab.hms.harvard.edu/bioagent/tutorials/addtools/Adding_Tools_Tutorial.html)**: Step-by-step tool addition guide
287
- - **[MCP Tool Registration](https://zitniklab.hms.harvard.edu/bioagent/tutorials/addtools/mcp_tool_registration_en.html)**: Register tools via MCP
304
+ - **[Architecture](https://zitniklab.hms.harvard.edu/ToolUniverse/expand_tooluniverse/architecture.html)**: System architecture overview
305
+ - **[Local Tool Registration](https://zitniklab.hms.harvard.edu/ToolUniverse/expand_tooluniverse/local_tool_registration.html)**: Create custom tools
306
+ - **[Remote Tool Registration](https://zitniklab.hms.harvard.edu/ToolUniverse/expand_tooluniverse/remote_tool_registration.html)**: Integrate external services
307
+ - **[Contributing Tools](https://zitniklab.hms.harvard.edu/ToolUniverse/expand_tooluniverse/comprehensive_tool_guide.html)**: Complete contribution guide
308
+ - **[Adding Tools Tutorial](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/addtools/Adding_Tools_Tutorial.html)**: Step-by-step tool addition guide
309
+ - **[MCP Tool Registration](https://zitniklab.hms.harvard.edu/ToolUniverse/tutorials/addtools/mcp_tool_registration_en.html)**: Register tools via MCP
288
310
 
289
311
  ### 📚 API Reference
290
- - **[API Directory](https://zitniklab.hms.harvard.edu/bioagent/api/modules.html)**: Complete module listing
291
- - **[Core Modules](https://zitniklab.hms.harvard.edu/bioagent/api/tooluniverse.html)**: Main ToolUniverse class and utilities
292
- - **[Tool Classes](https://zitniklab.hms.harvard.edu/bioagent/api/tooluniverse.base_tool.html)**: Base tool classes and implementations
293
- - **[Compose Scripts](https://zitniklab.hms.harvard.edu/bioagent/api/tooluniverse.compose_scripts.html)**: Tool composition utilities
294
- - **[MCP Integration](https://zitniklab.hms.harvard.edu/bioagent/api/tooluniverse.mcp_integration.html)**: Model Context Protocol support
312
+ - **[API Directory](https://zitniklab.hms.harvard.edu/ToolUniverse/api/modules.html)**: Complete module listing
313
+ - **[Core Modules](https://zitniklab.hms.harvard.edu/ToolUniverse/api/tooluniverse.html)**: Main ToolUniverse class and utilities
314
+ - **[Tool Classes](https://zitniklab.hms.harvard.edu/ToolUniverse/api/tooluniverse.base_tool.html)**: Base tool classes and implementations
315
+ - **[Compose Scripts](https://zitniklab.hms.harvard.edu/ToolUniverse/api/tooluniverse.compose_scripts.html)**: Tool composition utilities
316
+ - **[MCP Integration](https://zitniklab.hms.harvard.edu/ToolUniverse/api/tooluniverse.mcp_integration.html)**: Model Context Protocol support
295
317
 
296
- → **Browse All Documentation**: [ToolUniverse Documentation](https://zitniklab.hms.harvard.edu/bioagent/)
318
+ → **Browse All Documentation**: [ToolUniverse Documentation](https://zitniklab.hms.harvard.edu/ToolUniverse/)
297
319
 
298
320
 
299
321
  ### Citation
300
322
 
301
323
  ```
302
- @misc{gao2025txagent,
324
+ @article{gao2025democratizingaiscientistsusing,
325
+ title={Democratizing AI scientists using ToolUniverse},
326
+ author={Shanghua Gao and Richard Zhu and Pengwei Sui and Zhenglun Kong and Sufian Aldogom and Yepeng Huang and Ayush Noori and Reza Shamji and Krishna Parvataneni and Theodoros Tsiligkaridis and Marinka Zitnik},
327
+ year={2025},
328
+ eprint={2509.23426},
329
+ archivePrefix={arXiv},
330
+ primaryClass={cs.AI},
331
+ url={https://arxiv.org/abs/2509.23426},
332
+ }
333
+
334
+ @article{gao2025txagent,
303
335
  title={TxAgent: An AI Agent for Therapeutic Reasoning Across a Universe of Tools},
304
336
  author={Shanghua Gao and Richard Zhu and Zhenglun Kong and Ayush Noori and Xiaorui Su and Curtis Ginder and Theodoros Tsiligkaridis and Marinka Zitnik},
305
337
  year={2025},
@@ -310,11 +342,6 @@ Our comprehensive documentation covers everything from quick start to advanced w
310
342
  }
311
343
  ```
312
344
 
313
-
314
- ### Acknowledgments
315
-
316
- ToolUniverse is developed by the [Zitnik Lab](https://zitniklab.hms.harvard.edu/) at Harvard Medical School in collaboration with MIT Lincoln Laboratory. We thank the scientific community for their valuable feedback and contributions.
317
-
318
345
  ---
319
346
 
320
347
  *Democratizing AI agents for science with ToolUniverse.*