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.10.tar.gz (21.6 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.10-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ticca_tools-0.1.10.tar.gz
  • Upload date:
  • Size: 21.6 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.10.tar.gz
Algorithm Hash digest
SHA256 b32f273ca81a4512e39f9c65a4368c7693af762c4d800a76b1e7895cc8b7d5bc
MD5 20d40dd4479dc164dcc9c686b045bfbb
BLAKE2b-256 5d480aebca9429fd38bc3ab6c9b9aa4206bff3576b2a2d1b653a7fe356c71cb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ticca_tools-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 27.3 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 9773245dd1009545ce2df63c1104a3ac5da380e24b7d0b4a1a194c14706f6f36
MD5 18c5e042fc345ff59684be15f8ee784e
BLAKE2b-256 e01183af6bdf2cb59988e1ddc455d7407067985f87e3a10528ed1a53d6c81aab

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