🗄️ Model Context Protocol (MCP) server for SQL Server integration with Warp terminal. Execute queries, explore schemas, export data, and analyze performance with natural language commands.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 5f83c99 · analyzer v33 · 8h ago
skills & prompt files 3
danger signals1
- committed secret committed .env egarcia74-warp-sql-server-mcp-5f83c99/test/docker/.env.docker :1
env file shipped with populated values
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 113
filesystem 34
- fs egarcia74-warp-sql-server-mcp-5f83c99/cli.js :3
import fs from 'fs'; - fs egarcia74-warp-sql-server-mcp-5f83c99/index.js :32
import { readFileSync } from 'node:fs'; - fs egarcia74-warp-sql-server-mcp-5f83c99/lib/config/server-config.js :8
import fs from 'node:fs'; - fs egarcia74-warp-sql-server-mcp-5f83c99/lib/utils/logger.js :2
import fs from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/check-fenced-blocks.mjs :23
import { readFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/ci/classify-release-commits.mjs :33
import { readFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/ci/run-one-test.mjs :18
import { existsSync, realpathSync, statSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/check-env-var-docs.mjs :45
import { readFileSync, readdirSync, statSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/check-orphan-docs.mjs :24
import { readFileSync, readdirSync, statSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/check-tool-docs.mjs :36
import { readFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/extract-docs.js :3
import fs from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/generate-landing-page.js :3
import fs from 'fs';
show 22 more
- fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/generate-tools-html.js :3
import fs from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/write-html.js :3
import fs from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/test-summary.js :14
import fs from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/detect-platform.js :15
import fs from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/developer-stress-test.js :17
import fs from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/init-db-node.js :2
import fs from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/troubleshoot-apple-silicon.js :9
import fs from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/check-env-var-docs.test.js :2
import { mkdtempSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/check-orphan-docs.test.js :2
import { mkdtempSync, mkdirSync, rmSync, writeFileSync, symlinkSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/check-tool-docs.test.js :2
import { readFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/cleanup-test-processes.test.js :2
import { mkdtempSync, writeFileSync, rmSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/cli.test.js :2
import fs from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/dependabot-config.test.js :1
import fs from 'node:fs/promises'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/fixtures/cleanup-inspector-harness.js :10
import { mkdtempSync, writeFileSync, chmodSync, rmSync, existsSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/get-server-info.test.js :3
import { readFileSync } from 'fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/git-spawn-scrub-guard.test.js :26
import { mkdtempSync, readdirSync, rmSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/link-checker.test.js :2
import fs from 'fs/promises'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/run-doc-checks.test.js :2
import { readFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/run-one-test.test.js :3
import { mkdirSync, mkdtempSync, rmSync, symlinkSync, writeFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/sql-construction-guard.test.js :2
import { readFileSync, readdirSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/tool-registry.test.js :2
import { readFileSync } from 'node:fs'; - fs (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/verify-publish-tree.test.js :3
import { mkdtempSync, realpathSync, rmSync, writeFileSync, unlinkSync } from 'node:fs';
shell / exec 23
- shell egarcia74-warp-sql-server-mcp-5f83c99/cli.js :6
import { spawn } from 'child_process'; - shell egarcia74-warp-sql-server-mcp-5f83c99/eslint.config.js :21
* (`execFileSync(...)`) or through a namespace (`cp.execFileSync(...)`), UNLESS the call - shell egarcia74-warp-sql-server-mcp-5f83c99/lib/analysis/query-optimizer.js :68
// leftmost match always starts where the run starts and exec().index and [0] - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/check-fenced-blocks.mjs :24
import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/ci/classify-release-commits.mjs :32
import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/ci/run-one-test.mjs :17
import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/ci/verify-publish-tree.mjs :43
import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/extract-docs.js :5
import { execSync } from 'child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/docs/run-doc-checks.mjs :17
import { spawnSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/scripts/release.mjs :36
import { spawnSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/detect-platform.js :17
import { execSync } from 'child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/developer-stress-test.js :16
import { spawnSync } from 'node:child_process';
show 11 more
- shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/quick-stress-test.js :23
import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/troubleshoot-apple-silicon.js :8
import { execSync } from 'child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/verify-platform-detection.js :17
import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/helpers/git.js :20
import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/manual/improved-performance-test.js :9
import { spawn } from 'child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/manual/warp-mcp-performance-test.js :12
import { spawn } from 'child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/protocol/mcp-server-startup-test.js :11
import { spawn } from 'child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/cli.test.js :4
import { spawn } from 'child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/fixtures/cleanup-inspector-harness.js :9
import { spawnSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/git-spawn-scrub-guard.test.js :74
'execFileSync with cwd but no env': `import { execFileSync } from 'node:child_process'; - shell (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/verify-publish-tree.test.js :2
import { execFileSync } from 'node:child_process';
secrets 9
- secrets egarcia74-warp-sql-server-mcp-5f83c99/lib/config/server-config.js :392
const password = process.env.SQL_SERVER_PASSWORD; - secrets egarcia74-warp-sql-server-mcp-5f83c99/lib/database/connection-manager.js :132
password: process.env.SQL_SERVER_PASSWORD, - secrets (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/init-db-node.js :15
password: process.env.SQL_SERVER_PASSWORD || process.env.DB_PASSWORD, - secrets (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/docker/wait-for-db.js :43
password: process.env.SQL_SERVER_PASSWORD || 'WarpMCP123!', - secrets (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/integration/error-scenarios-integration.test.js :24
process.env.SQL_SERVER_PASSWORD = 'testpass'; - secrets (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/integration/sqlserver-mcp-integration.test.js :23
process.env.SQL_SERVER_PASSWORD = 'testpass'; - secrets (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/connection-manager.test.js :162
delete process.env.SQL_SERVER_PASSWORD; - secrets (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/get-server-info.test.js :32
process.env.SQL_SERVER_PASSWORD = 'testpass'; - secrets (weak) egarcia74-warp-sql-server-mcp-5f83c99/test/unit/server-config.test.js :134
process.env.SQL_SERVER_PASSWORD = 'secretpassword123';
declared dependencies 19
- @modelcontextprotocol/sdk@^1.17.5
- dotenv@^17.2.1
- mssql@^11.0.1
- winston@^3.11.0
- @eslint/js@^10.0.1
- @types/node@^26.1.1
- @vitest/coverage-v8@^5.0.0
- @vitest/expect@^5.0.0
- @vitest/mocker@^5.0.0
- @vitest/snapshot@^5.0.0
- @vitest/spy@^5.0.0
- @vitest/ui@^5.0.0
show 7 more
- eslint@^10.0.0
- eslint-config-prettier@^10.1.8
- markdown-link-check@^3.13.7
- markdownlint-cli2@^0.23.0
- prettier@^3.3.3
- sinon@^22.0.0
- vitest@^5.0.0