Atlas / MCP servers / hecatehq / Hecate

HecateBLOCK

mcp/hecatehq/hecate-1

AI workspace and runtime for projects, chats, providers, memory, approvals, and supervised agents.

Verdict
BLOCK
Grade
F
Trust score
45 /100
Exposed tools
12 11r · 1w · 0d
Transport
streamable-http
License
MIT
Stars
23
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

AI workspace and runtime for projects, chats, providers, and supervised agents. Run Hecate on your machine as the personal control plane for agent work: create projects, chat with models, supervise external agents, use Hecate from ACP-capable clients, approve risky actions, inspect diffs, and trace what happened.

Status: pre-1.0. Hecate is useful today as an AI workspace for model-provider routing, Hecate Chat, External Agent sessions, project-scoped work, approvals, artifacts, usage, and observability. It is not production-stable infrastructure yet: the bounded report-only QA runbook is available, while additional workflow modes, browser typing and visual capture, broader Work policy integrations, and sandbox hardening are still evolving work. Read [known limitations](docs/op
Read from source at commit c69c6ffe7d51OBSERVED · 2026-10-10
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add hecate-website --env GITHUB_TOKEN=${GITHUB_TOKEN} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "hecate-website": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}
03

Exposed tools (12)

11 read · 1 write · 0 destructive.

ToolRiskDescription
DeveloperreadBuild product changes.
EditorreadPrepare the release narrative.
GitHubreadRead and link GitHub work.
Hecateread
ImplementationreadMake the code and documentation changes, then leave a concise evidence trail.
ResearchreadDurable research workspace.
ResearcherreadSynthesize interview findings for review.
ReviewerreadReview the artifact evidence and call out release-risk follow-ups.
planwriteCreate a plan
proposalreadDraft a Project Assistant proposal
show_weatherreadRender a tiny weather dashboard MCP App.
webreadSearch the web
04

Trust audit

BLOCKgrade F · trust 45/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (8 observation(s))
Network
declared (6 observation(s))
Shell
declared (4 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
internal/sandbox/terminal_supervision_unix.go:909
"--frozen-intrinsics", "--heap-prof", "--insecure-http-parser", "--inspect", "--inspect-brk",
Why it matters. certificate verification is disabled
Fix. leave verification on
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
.env.example:448
# HECATE_POSTGRES_URL=postgres://hecate:hecate@localhost:5432/hecate?sslmode=disable
MEDIUMInventory / provenance · inv.binary · CWE-1104
tauri/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar
gradle-wrapper.jar
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
tauri/src-tauri/icons/icon.icns
icon.icns
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.env.example:18
# HECATE_ALLOWED_ORIGINS=http://127.0.0.1:5173,http://localhost:5173
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.env.example:37
# derives http://127.0.0.1:<port> from HECATE_ADDRESS. Set this when the listen
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.env.example:39
# HECATE_PUBLIC_URL=http://127.0.0.1:8765
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.env.example:128
PROVIDER_LLAMACPP_BASE_URL=http://127.0.0.1:8080/v1
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.env.example:129
PROVIDER_LMSTUDIO_BASE_URL=http://127.0.0.1:1234/v1
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
internal/api/handler_chat_attachments_test.go:42
chatAttachmentSensitiveDSN = "postgres://private-user:[email protected]/hecate"
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
internal/config/config_test.go:57
if cfg.Postgres.DatabaseURL != "postgres://hecate:hecate@localhost:5432/hecate?sslmode=disable" {
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
e2e/browser_setup_test.go:98
const secret = "browser-setup-remote-secret-for-tests"
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
e2e/code_intelligence_model_dogfood_test.go:1901
const secret = "DOGFOOD_PRIVATE_SENTINEL"
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/agentadapters/real_direct_cli_smoke_test.go:25
"codex":        {token: "HECATE_CODEX_EMBEDDED_OK", fileToken: "HECATE_CODEX_FILE_OK"},
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/agentadapters/real_direct_cli_smoke_test.go:26
"claude_code":  {token: "HECATE_CLAUDE_EMBEDDED_OK", fileToken: "HECATE_CLAUDE_FILE_OK"},
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/agentadapters/real_direct_cli_smoke_test.go:27
"cursor_agent": {token: "HECATE_CURSOR_ACP_OK", fileToken: "HECATE_CURSOR_FILE_OK"},
LOWInventory / provenance · inv.hidden_file · CWE-1104
.goreleaser.yaml
.goreleaser.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.lycheeignore
.lycheeignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.oxfmtrc.json
.oxfmtrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.oxlintrc.json
.oxlintrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
tauri/vendor/glib-0.18.5/.cargo_vcs_info.json
.cargo_vcs_info.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
internal/api/static_test.go:146
req := httptest.NewRequest(http.MethodGet, "/../../etc/passwd", nil)
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
internal/orchestrator/executor_agent_loop_test.go:674
Function: types.ToolCallFunction{Name: "read_file", Arguments: `{"path":"../../etc/passwd"}`},
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tauri/src-tauri/gen/apple/project.yml:6
fileGroups: [../../src]
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tauri/src-tauri/src/desktop/mod.rs:56
include_bytes!("../../../../website/public/brand/png/mark-trivium-black-32.png");

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha c69c6ffe7d51full audit observations/trust-audit/mcp-server/hecatehq__hecate-1.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-10c69c6ffe7d51BLOCKF45first audit
06

Questions

What is the Hecate MCP server?

AI workspace and runtime for projects, chats, providers, memory, approvals, and supervised agents.

What tools does Hecate expose?

12 in total: 11 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Hecate safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (45/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does Hecate need?

It reads GITHUB_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Hecate run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as hecate-website at 0.1.0.

How current is this page?

The grade is for one exact copy of the source (c69c6ffe7d51), read on 2026-10-10. The repository is watched and re-audited when it changes.

Advertisement