Sol — agent-native version control (a new git). CLI, MCP server, and no-filesystem SDK.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 14 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
deploy_trigger
-
env_diff
-
env_list
-
env_schema
-
env_show
-
env_validate
-
secret_audience_add
-
secret_audience_ls
-
secret_audience_rm
-
secret_audit
-
secret_declare
-
secret_export_trigger
-
secret_list
-
secret_ref
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 8
filesystem 6
- fs package/index.js :2017
import { existsSync as existsSync10 } from "node:fs"; - fs package/sol-capture-worker.js :792
import { closeSync as closeSync2, constants as constants2, existsSync as existsSync3, fstatSync as fstatSync2, fsyncSync as fsyncSync2, lstatSync as lstatSync2, mkdirSync, openSync as openSync2, readF - fs package/sol-client.js :6
import { existsSync } from "fs"; - fs package/sol-mcp.js :1434
import { existsSync, lstatSync, readFileSync, unlinkSync, writeFileSync } from "fs"; - fs package/sol-secret-mcp.js :222
import { chmodSync, existsSync as existsSync12, mkdirSync as mkdirSync9, readFileSync as readFileSync15, writeFileSync as writeFileSync8 } from "fs"; - fs package/sol.js :32
} from "fs";
shell / exec 7
- shell package/index.js :2053
import { spawnSync } from "node:child_process"; - shell package/runtime-check.js :1
import { spawnSync } from 'node:child_process'; - shell package/sol-capture-worker.js :798
import { spawnSync } from "child_process"; - shell package/sol-client.js :163
const { spawn } = await import("child_process"); - shell package/sol-mcp.js :1435
import { spawnSync } from "child_process"; - shell package/sol-secret-mcp.js :1048
import { spawnSync as spawnSync2 } from "child_process"; - shell package/sol.js :1052
import { spawnSync } from "child_process";
network 4
- net package/sol-client.js :7
import { connect } from "net"; - net package/sol-mcp.js :11493
const response = await this.#fetch(`${this.#baseUrl}${path}`, { - net package/sol-secret-mcp.js :267
import { createServer } from "http"; - net package/sol.js :10845
const res = await fetch(`${dirUrl}/keys/${encodeURIComponent(accountId)}`);
secrets 5
- secrets package/index.js :2272
let token = process.env.SOL_TOKEN; - secrets package/sol-capture-worker.js :11475
let token = process.env.SOL_TOKEN; - secrets package/sol-mcp.js :13349
const t = (flagToken ?? process.env.SOL_MCP_TOKEN ?? "").trim(); - secrets package/sol-secret-mcp.js :373
const t = (flagToken ?? process.env.SOL_MCP_TOKEN ?? "").trim(); - secrets package/sol.js :10387
let token = process.env.SOL_TOKEN;
tool registrations 14
- env_list package/sol-secret-mcp.js :9664
- env_show package/sol-secret-mcp.js :9665
- env_schema package/sol-secret-mcp.js :9666
- env_diff package/sol-secret-mcp.js :9667
- env_validate package/sol-secret-mcp.js :9668
- secret_declare package/sol-secret-mcp.js :9669
- secret_ref package/sol-secret-mcp.js :9670
- secret_list package/sol-secret-mcp.js :9671
- secret_audit package/sol-secret-mcp.js :9672
- secret_audience_ls package/sol-secret-mcp.js :9673
- secret_audience_add package/sol-secret-mcp.js :9674
- secret_audience_rm package/sol-secret-mcp.js :9675
show 2 more
- deploy_trigger package/sol-secret-mcp.js :9676
- secret_export_trigger package/sol-secret-mcp.js :9677
install hooks 2
- preinstall package/package.json :19
node runtime-check.js - prepublishOnly package/package.json :19
bun release-publish-guard.js
declared dependencies 2
- @modelcontextprotocol/sdk@^1.29.0
- fsevents@^2.3.3