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.0.tar.gz (14.3 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.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

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

Hashes for ticca_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 205557870defb57bfab9eba92ccabc43b3041229d5d5c39a5c03947fa91b41e9
MD5 a8bdba62651237a735eeb9283c3bb8f5
BLAKE2b-256 d3e3854377e7fcc763ae78d1db71061a39c6408fc5516096558f4f66c75883fb

See more details on using hashes here.

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

Hashes for ticca_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f01b9488d6e2ce5a3f36aa8674837cfd2bc302d8470277a188c23dc61f134b13
MD5 a328ca0a8fe0b8968eab666e21844531
BLAKE2b-256 e81bef9be8dacb86407959ad0cbc87747d61ed3d1a373cd28994a7c45d1e240b

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