Files
claudetools/.claude/agents/DATABASE_CONNECTION_INFO.md
azcomputerguru 565b6458ba fix: Remove all emojis from documentation for cross-platform compliance
Replaced 50+ emoji types with ASCII text markers for consistent rendering
across all terminals, editors, and operating systems:

  - Checkmarks/status: [OK], [DONE], [SUCCESS], [PASS]
  - Errors/warnings: [ERROR], [FAIL], [WARNING], [CRITICAL]
  - Actions: [DO], [DO NOT], [REQUIRED], [OPTIONAL]
  - Navigation: [NEXT], [PREVIOUS], [TIP], [NOTE]
  - Progress: [IN PROGRESS], [PENDING], [BLOCKED]

Additional changes:
  - Made paths cross-platform (~/ClaudeTools for Mac/Linux)
  - Fixed database host references to 172.16.3.30
  - Updated START_HERE.md and CONTEXT_RECOVERY_PROMPT.md for multi-OS use

Files updated: 58 markdown files across:
  - .claude/ configuration and agents
  - docs/ documentation
  - projects/ project files
  - Root-level documentation

This enforces the NO EMOJIS rule from directives.md and ensures
documentation renders correctly on all systems.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 16:21:06 -07:00

6.0 KiB

name, description
name description
Database Connection Info Centralized database connection configuration for all agents

Database Connection Information

FOR ALL AGENTS - UPDATED 2026-01-17


Current Database Configuration

Production Database (RMM Server)

  • Host: 172.16.3.30
  • Port: 3306
  • Database: claudetools
  • User: claudetools
  • Password: CT_e8fcd5a3952030a79ed6debae6c954ed
  • Character Set: utf8mb4
  • Tables: 43 tables (all migrated)

Connection String

mysql+pymysql://claudetools:CT_e8fcd5a3952030a79ed6debae6c954ed@172.16.3.30:3306/claudetools?charset=utf8mb4

Environment Variable

DATABASE_URL=mysql+pymysql://claudetools:CT_e8fcd5a3952030a79ed6debae6c954ed@172.16.3.30:3306/claudetools?charset=utf8mb4

ClaudeTools API

Production API (RMM Server)

JWT Token Location

  • File: D:\ClaudeTools\.claude\context-recall-config.env
  • Variable: JWT_TOKEN
  • Expiration: 2026-02-16 (30 days from creation)

Authentication Header

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJpbXBvcnQtc2NyaXB0Iiwic2NvcGVzIjpbImFkbWluIiwiaW1wb3J0Il0sImV4cCI6MTc3MTI2NzQzMn0.7HddDbQahyRvaOq9o7OEk6vtn6_nmQJCTzf06g-fv5k

Database Access Methods

Method 1: Direct MySQL Connection (from RMM server)

# SSH to RMM server
ssh guru@172.16.3.30

# Connect to database
mysql -u claudetools -p'CT_e8fcd5a3952030a79ed6debae6c954ed' -D claudetools

# Example query
SELECT COUNT(*) FROM conversation_contexts;

Method 2: Via ClaudeTools API (preferred for agents)

# Get contexts
curl -s "http://172.16.3.30:8001/api/conversation-contexts?limit=10" \
  -H "Authorization: Bearer $JWT_TOKEN"

# Create context
curl -X POST "http://172.16.3.30:8001/api/conversation-contexts" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{...}'

Method 3: Python with SQLAlchemy

from sqlalchemy import create_engine, text

DATABASE_URL = "mysql+pymysql://claudetools:CT_e8fcd5a3952030a79ed6debae6c954ed@172.16.3.30:3306/claudetools?charset=utf8mb4"

engine = create_engine(DATABASE_URL)

with engine.connect() as conn:
    result = conn.execute(text("SELECT COUNT(*) FROM conversation_contexts"))
    count = result.scalar()
    print(f"Contexts: {count}")

OLD vs NEW Configuration

[WARNING] DEPRECATED - Old Jupiter Database (DO NOT USE)

  • Host: 172.16.3.20 (Jupiter - Docker MariaDB)
  • Status: Deprecated, data not migrated
  • Contains: 68 old conversation contexts (pre-2026-01-17)

[OK] CURRENT - New RMM Database (USE THIS)

  • Host: 172.16.3.30 (RMM - Native MariaDB)
  • Status: Production, current
  • Contains: 7+ contexts (as of 2026-01-17)

Migration Date: 2026-01-17 Reason: Centralized architecture - all clients connect to RMM server


For Database Agent

When performing operations, use:

Read Operations

# Use API for reads
import requests

headers = {
    "Authorization": f"Bearer {jwt_token}"
}

response = requests.get(
    "http://172.16.3.30:8001/api/conversation-contexts",
    headers=headers,
    params={"limit": 10}
)

contexts = response.json()

Write Operations

# Use API for writes
payload = {
    "context_type": "session_summary",
    "title": "...",
    "dense_summary": "...",
    "relevance_score": 8.5,
    "tags": "[\"tag1\", \"tag2\"]"
}

response = requests.post(
    "http://172.16.3.30:8001/api/conversation-contexts",
    headers=headers,
    json=payload
)

result = response.json()

Direct Database Access (if API unavailable)

# SSH to RMM server first
ssh guru@172.16.3.30

# Then query database
mysql -u claudetools -p'CT_e8fcd5a3952030a79ed6debae6c954ed' -D claudetools \
  -e "SELECT id, title FROM conversation_contexts LIMIT 5;"

Common Database Operations

Count Records

SELECT COUNT(*) FROM conversation_contexts;
SELECT COUNT(*) FROM clients;
SELECT COUNT(*) FROM sessions;

List Recent Contexts

SELECT id, title, relevance_score, created_at
FROM conversation_contexts
ORDER BY created_at DESC
LIMIT 10;

Search Contexts by Tag

# Via API (preferred)
curl "http://172.16.3.30:8001/api/conversation-contexts/recall?tags=migration&limit=5" \
  -H "Authorization: Bearer $JWT_TOKEN"

Health Checks

Check Database Connectivity

# From RMM server
mysql -u claudetools -p'CT_e8fcd5a3952030a79ed6debae6c954ed' \
  -h 172.16.3.30 \
  -e "SELECT 1"

Check API Health

curl http://172.16.3.30:8001/health
# Expected: {"status":"healthy","database":"connected"}

Check API Service Status

ssh guru@172.16.3.30 "sudo systemctl status claudetools-api"

Troubleshooting

Cannot Connect to Database

# Check if MariaDB is running
ssh guru@172.16.3.30 "sudo systemctl status mariadb"

# Check if port is open
curl telnet://172.16.3.30:3306

API Returns 401 Unauthorized

# JWT token may be expired - regenerate
python D:\ClaudeTools\create_jwt_token.py

# Update config file
# Edit: D:\ClaudeTools\.claude\context-recall-config.env

API Returns 404 Not Found

# Check if API service is running
ssh guru@172.16.3.30 "sudo systemctl status claudetools-api"

# Check API logs
ssh guru@172.16.3.30 "sudo journalctl -u claudetools-api -n 50"

Important Notes

  1. Always use the API when possible - Better for access control and validation
  2. JWT tokens expire - Regenerate monthly (currently valid until 2026-02-16)
  3. Database is centralized - All machines connect to RMM server
  4. No local database - Don't try to connect to localhost:3306
  5. Use parameterized queries - Prevent SQL injection

Last Updated: 2026-01-17 Current Database: 172.16.3.30:3306 (RMM) Current API: http://172.16.3.30:8001