Standalone tool execution server for Ticca2 AI agents
Project description
Ticca Tools
Standalone tool execution server for Ticca2 AI agents
Deploy tool execution servers anywhere and connect them to your Ticca2 backend with copy-paste credentials.
Features
- ๐ One-command deployment - Run with
uvx ticca-tools - ๐ Auto-generated credentials - Unique Server ID + API key on first start
- ๐ Copy-paste registration - Paste credentials into web UI, done!
- ๐ Secure by default - API key required on every gRPC call
- ๐ Deploy anywhere - Run on any machine, even behind NAT
- ๐ฆ Self-contained - All tools included, no backend dependencies
Quick Start
Option 1: Using uvx (Recommended)
No installation required! Run directly:
uvx ticca-tools
# OUTPUT:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Ticca2 Tool Server Started! โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ Server ID: tool-server-a3f2c8b9-4d1e-4f8a-9c2b... โ
โ API Key: sk_live_8f7e6d5c4b3a2f1e0d9c8b7a6f5e... โ
โ Address: 192.168.1.10:50051 โ
โ Tools: 12 tools loaded โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ ๐ COPY THESE TO TICCA2 WEB UI: โ
โ Settings โ Tool Servers โ Add Server โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
That's it! The server is running with auto-generated credentials.
Option 2: Install with pip/pipx
# Install globally with pipx
pipx install ticca-tools
# Or with pip
pip install ticca-tools
# Run it
ticca-tools
Option 3: Copy Package to Remote Machine
# Copy to remote machine
scp -r tools_package/ user@192.168.1.10:/opt/ticca-tools/
ssh user@192.168.1.10
# Install and run
cd /opt/ticca-tools
pip install -e .
ticca-tools
Registration
- Start the server (see Quick Start above)
- Copy the Server ID and API Key from the output
- Open Ticca2 Web UI:
http://localhost:4020 - Go to Settings โ Tool Servers โ Add Server
- Paste the credentials
- Click "Add Server"
Done! The system will connect and discover available tools.
Usage
Start server (default settings)
ticca-tools
Custom port
ticca-tools --port 50052
Load specific tool categories
ticca-tools --categories "File Operations,Command Runner"
Show current configuration
ticca-tools config
Reset configuration (regenerate credentials)
ticca-tools reset
Commands
# Start server (default command)
ticca-tools
ticca-tools start --port 50051 --host 0.0.0.0
# Show current credentials
ticca-tools config
# Regenerate credentials
ticca-tools reset
# Help
ticca-tools --help
What's Included
- All tool implementations - file ops, commands, browser automation, etc.
- gRPC server - handles tool execution
- Auto-registration - generates unique ID and API key
- Health monitoring - reports status to main backend
- Security - API key authentication on all requests
Deployment Options
Option 1: Docker
docker build -t ticca-tools .
docker run -p 50051:50051 ticca-tools
# Copy the credentials from container logs
docker logs <container-id>
Option 2: Systemd Service
sudo cp systemd/ticca-tools.service /etc/systemd/system/
sudo systemctl enable ticca-tools
sudo systemctl start ticca-tools
# View credentials
sudo journalctl -u ticca-tools -n 50
Option 3: Manual
python start_server.py --port 50051 --host 0.0.0.0
Environment Variables
# Optional: Set custom port
export TICCA_TOOL_PORT=50051
# Optional: Set custom host
export TICCA_TOOL_HOST=0.0.0.0
# Optional: Regenerate API key on restart (default: persist)
export TICCA_REGENERATE_KEY=false
# Optional: Enable TLS
export TICCA_TLS_ENABLED=true
export TICCA_TLS_CERT=/path/to/cert.pem
export TICCA_TLS_KEY=/path/to/key.pem
File Structure
tools_package/
โโโ README.md # This file
โโโ requirements.txt # Python dependencies
โโโ start_server.py # Main entry point
โโโ config.json # Server config (auto-generated)
โโโ proto/
โ โโโ tool_service.proto # gRPC protocol definition
โโโ server/
โ โโโ __init__.py
โ โโโ grpc_server.py # gRPC server implementation
โ โโโ auth.py # API key authentication
โ โโโ registry.py # Tool registry
โโโ tools/
โ โโโ __init__.py
โ โโโ file_operations.py # File reading/listing tools
โ โโโ file_modifications.py # File editing/deletion tools
โ โโโ command_runner.py # Shell command execution
โ โโโ agent_tools.py # Agent invocation tools
โ โโโ browser/ # Browser automation tools
โ โโโ __init__.py
โ โโโ control.py
โ โโโ navigation.py
โ โโโ ...
โโโ Dockerfile # Docker image definition
Security
- API Key Required: All gRPC calls must include valid API key
- TLS Support: Enable encrypted communication
- Firewall: Configure firewall to only allow main backend IP
- Least Privilege: Run as non-root user
Troubleshooting
Port already in use
# Find process using port
lsof -i :50051
# Use different port
python start_server.py --port 50052
Connection refused from main backend
# Check firewall
sudo ufw allow from 192.168.1.5 to any port 50051
# Check server is listening
netstat -tulpn | grep 50051
API key rejected
The API key is stored in config.json. If you need to regenerate:
python start_server.py --regenerate-key
Updating Tools
To update tool implementations:
- Stop the server
- Replace files in
tools/directory - Restart the server
No need to update the main Ticca2 backend!
Multi-Server Setup
You can run multiple tool servers:
Server 1 (File Operations only):
python start_server.py --categories "File Operations,File Modifications"
Server 2 (Commands only - isolated VM):
python start_server.py --categories "Command Runner"
Server 3 (Browser automation):
python start_server.py --categories "Browser Control,Browser Navigation"
Each gets a unique Server ID - register all in the web UI!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ticca_tools-0.1.0.tar.gz.
File metadata
- Download URL: ticca_tools-0.1.0.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
205557870defb57bfab9eba92ccabc43b3041229d5d5c39a5c03947fa91b41e9
|
|
| MD5 |
a8bdba62651237a735eeb9283c3bb8f5
|
|
| BLAKE2b-256 |
d3e3854377e7fcc763ae78d1db71061a39c6408fc5516096558f4f66c75883fb
|
File details
Details for the file ticca_tools-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ticca_tools-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f01b9488d6e2ce5a3f36aa8674837cfd2bc302d8470277a188c23dc61f134b13
|
|
| MD5 |
a328ca0a8fe0b8968eab666e21844531
|
|
| BLAKE2b-256 |
e81bef9be8dacb86407959ad0cbc87747d61ed3d1a373cd28994a7c45d1e240b
|