Skip to main content

Standalone tool execution server for Ticca2 AI agents

Project description

Ticca Tools

Standalone tool execution server for Ticca2 AI agents

PyPI Python License

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

  1. Start the server (see Quick Start above)
  2. Copy the Server ID and API Key from the output
  3. Open Ticca2 Web UI: http://localhost:4020
  4. Go to Settings โ†’ Tool Servers โ†’ Add Server
  5. Paste the credentials
  6. 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:

  1. Stop the server
  2. Replace files in tools/ directory
  3. 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

ticca_tools-0.1.8.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ticca_tools-0.1.8-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file ticca_tools-0.1.8.tar.gz.

File metadata

  • Download URL: ticca_tools-0.1.8.tar.gz
  • Upload date:
  • Size: 22.0 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

Hashes for ticca_tools-0.1.8.tar.gz
Algorithm Hash digest
SHA256 cf893427c4fce046e713b251749afa83b0a285921a6af43f713ee23937c46ab7
MD5 699cbf5703e1a3b43008edc06af75818
BLAKE2b-256 cf60492f27dbcc0ae099093d3b08a186813b1828db14eb8f4d7059a80dcedf6f

See more details on using hashes here.

File details

Details for the file ticca_tools-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: ticca_tools-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 28.2 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

Hashes for ticca_tools-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 af712f795302d5883a51b883849edbc6524fe747e0be7ddbbd40f28c043baced
MD5 0d10bbdf5b75c647fa9bd816c8baf54e
BLAKE2b-256 c9a4accfe6c628d9991ee525ac2b39f35bc60bc68cf24afb3e2c7304959bbe5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page