NavigationΒΆ
Learn how to extend ToolUniverse with your own custom tools. This section provides comprehensive guides for creating, registering, and contributing tools to the ToolUniverse ecosystem.
What Youβll LearnΒΆ
π Local Tool Development: Create tools that run within ToolUniverse
π Remote Tool Integration: Connect with external services and APIs
π€ Community Contributions: Submit your tools to the ToolUniverse repository
π§ Advanced Patterns: Best practices and advanced development techniques
Quick StartΒΆ
I want to quickly try creating a tool: β Create Your First Tool - 5-minute tutorial to create your first tool
I want to learn tool development systematically: β Choose your path:
Local tools: Local Tools Tutorial - Python classes for API wrappers, data processing
Remote tools: Remote Tools Tutorial - MCP servers for microservices, heavy computation
I want to contribute tools to the community: β Choose your tool type:
Local tools: Contributing Local Tools to ToolUniverse - Submit Python tools (requires modifying
__init__.py
)Remote tools: Contributing Remote Tools to ToolUniverse - Submit MCP servers (requires deployment)
Complete guide: Contributing to ToolUniverse - Full contribution guidelines with code examples
I want to understand the differences: β Reference Documentation - Compare tool types and usage scenarios
Tool Types OverviewΒΆ
Local ToolsΒΆ
Local tools are Python classes that run within the same process as ToolUniverse. They provide:
High Performance: No network overhead
Easy Development: Simple Python classes
Automatic Discovery: Tools auto-register with decorators
Full Integration: Access to all ToolUniverse features
Best for: - API wrappers and data processing - File manipulation utilities - Lightweight computational tools
Key Point: Contributing local tools requires modifying __init__.py
in 4 specific locations.
Remote ToolsΒΆ
Remote tools allow you to integrate external services, APIs, or tools running on different servers. They provide:
Scalability: Offload heavy computation to dedicated servers
Integration: Connect with existing systems and services
Flexibility: Use tools in different programming languages
Isolation: Keep sensitive operations separate
Best for: - External API integrations - Microservice connections - Cloud-based AI services - Proprietary system connections
Key Point: Contributing remote tools requires providing a publicly accessible server or detailed deployment documentation.
Development WorkflowΒΆ
Plan Your Tool - Define functionality and requirements - Choose between local or remote implementation - Design API and parameter structure
Develop Your Tool - Implement core functionality - Add proper error handling - Write comprehensive tests
Document Your Tool - Create clear documentation - Provide usage examples - Document all parameters and outputs
Test Thoroughly - Unit tests for all functionality - Integration tests with ToolUniverse - Test edge cases and error conditions
Submit for Review (if contributing) - Follow contribution guidelines - Create pull request - Address review feedback
ExamplesΒΆ
For detailed examples and code samples, see:
Local Tools: Local Tools Tutorial - Complete examples with step-by-step instructions
Remote Tools: Remote Tools Tutorial - MCP integration and API examples
Quick Start: Create Your First Tool - Simple 5-minute example to get started
Getting HelpΒΆ
If you need help with tool development:
Documentation: Check the specific guides for detailed information
Examples: Look at existing tools in the codebase
Community: Ask questions in GitHub discussions
Issues: Report bugs or request features
Next StepsΒΆ
Ready to start? Choose your path:
π Quick Start: Create Your First Tool - Create your first tool in 5 minutes
π Local Tools: Local Tools Tutorial - Learn local tool development
π Remote Tools: Remote Tools Tutorial - Learn remote tool integration
π Contributing: Contributing to ToolUniverse - Submit tools to the community
π Understanding: Review the tool type comparison table in Contributing to ToolUniverse
Tip
Getting Started: We recommend starting with the quick start tutorial to understand the basics, then choosing the appropriate detailed guide based on your needs. The community is here to help you succeed!