Query an Oracle database via a read-only HTTP proxy. Use when the user asks to explore, query, or analyze data in an Oracle database. Supports schema discovery, table descriptions, and SELECT queries.
Query an Oracle database through a local HTTP proxy. The proxy runs in a separate container with the credentials — this agent never has access to them.
See setup/README.md for Docker Compose configuration.
Once running, the proxy is available at http://oracle-proxy:8080 (from within the pi container) or http://localhost:8080 (from the host).
curl -s http://oracle-proxy:8080/query \
-H "Content-Type: application/json" \
-d '{"sql": "SELECT * FROM employees WHERE rownum <= 10"}' | jq
Response:
{
"columns": ["EMPLOYEE_ID", "FIRST_NAME", "LAST_NAME", "SALARY"],
"rows": [
{"EMPLOYEE_ID": 100, "FIRST_NAME": "Steven", "LAST_NAME": "King", "SALARY": 24000}
],
"row_count": 1,
"truncated": false
}
Only SELECT statements are allowed. Anything else returns 403.
curl -s http://oracle-proxy:8080/schemas | jq
curl -s "http://oracle-proxy:8080/tables?schema=HR" | jq
curl -s "http://oracle-proxy:8080/describe?table=EMPLOYEES&schema=HR" | jq
Response:
{
"table": "EMPLOYEES",
"schema": "HR",
"columns": [
{"name": "EMPLOYEE_ID", "type": "NUMBER", "nullable": false},
{"name": "FIRST_NAME", "type": "VARCHAR2(20)", "nullable": true}
],
"row_count": 107
}
curl -s "http://oracle-proxy:8080/search?q=emp" | jq
WHERE rownum <= N or FETCH FIRST N ROWS ONLY to limit results — the proxy caps at 10000 rows per request/schemas and /tables to discover the data model before querying/describe to check column names and types before writing queriesEMPLOYEES not employeesUPPER() or LOWER()TO_DATE('2026-01-01', 'YYYY-MM-DD') for date comparisonsNVL(col, default) for null handling (Oracle's COALESCE equivalent)/schemas — see what's available/tables?schema=X — browse tables/describe?table=T&schema=X — understand structure/query with SELECT — get dataSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer