Open-source CLI and MCP for Deloc — deploy static apps from your terminal or AI coding agent
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 45 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
bigquery_get_table_schema
-
bigquery_list_datasets
-
bigquery_list_projects
-
bigquery_list_tables
-
check_bigquery_connection
-
connect_bigquery
-
create_action
-
create_dashboard_query
-
create_oauth_credential
-
delete_action
-
delete_action_secret
-
delete_app
-
delete_dashboard_query
-
delete_data_connection
-
delete_oauth_credential
-
deploy
-
disable_action
-
disable_app
-
enable_action
-
enable_app
-
get_account
-
get_action_logs
-
get_app
-
list_action_secrets
-
list_actions
-
list_apps
-
list_dashboard_queries
-
list_data_connections
-
list_data_files
-
list_oauth_credentials
-
logout
-
renew_app
-
run_dashboard_query
-
set_action_secret
-
set_og_image
-
set_password
-
setup_data_refresh
-
setup_deloc
-
suggest_deploy_options
-
test_action
-
test_oauth_credential
-
update_action
-
update_dashboard_query
-
update_oauth_credential
-
upload_data
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 7df271a · analyzer v33 · 3d ago
danger signals2
- credential in logs credential in log delocdev-deloc-7df271a/packages/cli/src/commands/deploy.ts :209
console.log(` ${chalk.dim("Password:")} ${chalk.cyan(password)}`); - credential in logs credential in log delocdev-deloc-7df271a/packages/cli/src/commands/manage.ts :352
console.log(` ${chalk.dim("Password:")} ${chalk.cyan(password)}`);
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 50
filesystem 17
- fs delocdev-deloc-7df271a/packages/cli/src/commands/credentials.ts :1
import { readFile } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/cli/src/commands/deploy.ts :1
import { existsSync } from "node:fs"; - fs delocdev-deloc-7df271a/packages/cli/src/commands/install-mcp.ts :3
import { readFile, writeFile, access } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/cli/src/commands/og.ts :1
import { readFile } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/cli/src/commands/queries.ts :5
import { readFile } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/cli/src/commands/upload-data.ts :1
import { readFile } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/cli/src/config.ts :1
import { readFile, writeFile, mkdir, chmod } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/cli/tsup.config.ts :2
import { readFileSync } from "node:fs"; - fs delocdev-deloc-7df271a/packages/mcp/src/auth.ts :3
import { readFile, writeFile, mkdir, chmod } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/mcp/src/tools/account.ts :2
import { readFile } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/mcp/src/tools/data-refresh.ts :2
import { writeFile, mkdir } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/mcp/src/tools/data.ts :2
import { readFile } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/mcp/src/tools/deploy.ts :15
import { access, readFile, readdir, stat, mkdtemp, writeFile, rm } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/mcp/src/tools/oauth-credentials.ts :2
import { readFile } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/mcp/src/tools/suggest.ts :4
import { access, readFile, readdir, stat } from "node:fs/promises"; - fs delocdev-deloc-7df271a/packages/mcp/tsup.config.ts :2
import { readFileSync } from "node:fs"; - fs delocdev-deloc-7df271a/packages/shared/src/deploy.ts :1
import { access } from "node:fs/promises";
shell / exec 2
- shell delocdev-deloc-7df271a/packages/cli/src/commands/deploy.ts :6
import { execSync } from "node:child_process"; - shell delocdev-deloc-7df271a/packages/cli/src/commands/install-mcp.ts :4
import { execSync } from "node:child_process";
network 13
- net delocdev-deloc-7df271a/packages/cli/src/commands/login.ts :3
import { createServer } from "node:http"; - net delocdev-deloc-7df271a/packages/cli/src/commands/manage.ts :22
const resp = await fetch(`${getApiUrl()}/api/apps/${slug}`, { - net delocdev-deloc-7df271a/packages/cli/src/commands/og.ts :49
const resp = await fetch(`${getApiUrl()}/api/apps/${slug}/og-image`, { - net delocdev-deloc-7df271a/packages/cli/src/commands/queries.ts :3
// the dashboard reads fresh data with fetch('./{name}.json'). - net delocdev-deloc-7df271a/packages/cli/src/commands/upload-data.ts :129
resp = await fetch(`${getApiUrl()}/api/apps/${encodeURIComponent(slug)}/data`, { - net delocdev-deloc-7df271a/packages/cli/src/config.ts :46
return await fetch(`${getApiUrl()}${path}`, { - net delocdev-deloc-7df271a/packages/mcp/src/api.ts :20
return await fetch(`${API_URL}${path}`, { - net delocdev-deloc-7df271a/packages/mcp/src/auth.ts :6
import { createServer } from "node:http"; - net delocdev-deloc-7df271a/packages/mcp/src/tools/dashboard-queries.ts :89
"Schedule a BigQuery SQL query that keeps a deployed Deloc app's data fresh automatically. Deloc runs the query daily (02:00 UTC) and writes the result to {name}.json next to the app's files, so the a - net delocdev-deloc-7df271a/packages/mcp/src/tools/data-refresh.ts :272
Use this AFTER deploying a dashboard that fetches a data file (e.g. fetch('./data.json')) — this tool generates the pipeline that keeps that file fresh on a schedule.`, - net delocdev-deloc-7df271a/packages/mcp/src/tools/data.ts :74
"Upload or replace a data file (CSV, JSON, TSV, XML, TXT, max 10MB) inside an already-deployed Deloc app WITHOUT redeploying. Use this to refresh dashboard data from databases or APIs on a schedule. T - net delocdev-deloc-7df271a/packages/shared/src/deploy.ts :104
const resp = await fetch(`${apiUrl}/api/apps/upload`, { - net delocdev-deloc-7df271a/packages/shared/src/screenshot.ts :72
const resp = await fetch(`${apiUrl}/api/apps/${appSlug}/og-image`, {
secrets 1
- secrets delocdev-deloc-7df271a/packages/mcp/src/auth.ts :36
if (process.env.DELOC_TOKEN) return process.env.DELOC_TOKEN;
tool registrations 45
- setup_deloc delocdev-deloc-7df271a/packages/mcp/src/auth.ts :67
- logout delocdev-deloc-7df271a/packages/mcp/src/auth.ts :215
- set_password delocdev-deloc-7df271a/packages/mcp/src/tools/account.ts :15
- get_account delocdev-deloc-7df271a/packages/mcp/src/tools/account.ts :47
- set_og_image delocdev-deloc-7df271a/packages/mcp/src/tools/account.ts :82
- list_action_secrets delocdev-deloc-7df271a/packages/mcp/src/tools/action-secrets.ts :25
- set_action_secret delocdev-deloc-7df271a/packages/mcp/src/tools/action-secrets.ts :50
- delete_action_secret delocdev-deloc-7df271a/packages/mcp/src/tools/action-secrets.ts :89
- create_action delocdev-deloc-7df271a/packages/mcp/src/tools/actions-write.ts :127
- update_action delocdev-deloc-7df271a/packages/mcp/src/tools/actions-write.ts :176
- delete_action delocdev-deloc-7df271a/packages/mcp/src/tools/actions-write.ts :195
- enable_action delocdev-deloc-7df271a/packages/mcp/src/tools/actions-write.ts :211
- disable_action delocdev-deloc-7df271a/packages/mcp/src/tools/actions-write.ts :227
- list_actions delocdev-deloc-7df271a/packages/mcp/src/tools/actions.ts :62
- test_action delocdev-deloc-7df271a/packages/mcp/src/tools/actions.ts :92
- get_action_logs delocdev-deloc-7df271a/packages/mcp/src/tools/actions.ts :135
- list_apps delocdev-deloc-7df271a/packages/mcp/src/tools/apps.ts :50
- get_app delocdev-deloc-7df271a/packages/mcp/src/tools/apps.ts :67
- disable_app delocdev-deloc-7df271a/packages/mcp/src/tools/apps.ts :98
- enable_app delocdev-deloc-7df271a/packages/mcp/src/tools/apps.ts :111
- delete_app delocdev-deloc-7df271a/packages/mcp/src/tools/apps.ts :124
- renew_app delocdev-deloc-7df271a/packages/mcp/src/tools/apps.ts :137
- connect_bigquery delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :108
- check_bigquery_connection delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :160
- list_data_connections delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :179
- delete_data_connection delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :198
- bigquery_list_projects delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :229
- bigquery_list_datasets delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :247
- bigquery_list_tables delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :266
- bigquery_get_table_schema delocdev-deloc-7df271a/packages/mcp/src/tools/connections.ts :286
- create_dashboard_query delocdev-deloc-7df271a/packages/mcp/src/tools/dashboard-queries.ts :86
- list_dashboard_queries delocdev-deloc-7df271a/packages/mcp/src/tools/dashboard-queries.ts :131
- update_dashboard_query delocdev-deloc-7df271a/packages/mcp/src/tools/dashboard-queries.ts :152
- delete_dashboard_query delocdev-deloc-7df271a/packages/mcp/src/tools/dashboard-queries.ts :188
- run_dashboard_query delocdev-deloc-7df271a/packages/mcp/src/tools/dashboard-queries.ts :207
- setup_data_refresh delocdev-deloc-7df271a/packages/mcp/src/tools/data-refresh.ts :266
- upload_data delocdev-deloc-7df271a/packages/mcp/src/tools/data.ts :72
- list_data_files delocdev-deloc-7df271a/packages/mcp/src/tools/data.ts :143
- deploy delocdev-deloc-7df271a/packages/mcp/src/tools/deploy.ts :475
- list_oauth_credentials delocdev-deloc-7df271a/packages/mcp/src/tools/oauth-credentials.ts :53
- create_oauth_credential delocdev-deloc-7df271a/packages/mcp/src/tools/oauth-credentials.ts :187
- update_oauth_credential delocdev-deloc-7df271a/packages/mcp/src/tools/oauth-credentials.ts :246
- delete_oauth_credential delocdev-deloc-7df271a/packages/mcp/src/tools/oauth-credentials.ts :332
- test_oauth_credential delocdev-deloc-7df271a/packages/mcp/src/tools/oauth-credentials.ts :363
- suggest_deploy_options delocdev-deloc-7df271a/packages/mcp/src/tools/suggest.ts :71
install hooks 2
- prepublishOnly delocdev-deloc-7df271a/packages/cli/package.json :16
npm run build - prepublishOnly delocdev-deloc-7df271a/packages/mcp/package.json :16
npm run build
declared dependencies 3
- @types/archiver@^7.0.0
- tsup@^8.5.1
- typescript@^5.7.0