repocivBLOCK
Civilization-style hex dashboard for local AI agent workspaces — agents as units, repos as cities, background processes as buildings.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
🌐 Idiomas / Languages: Español · English
[](https://opensource.org/licenses/MIT) [](https://github.com/Grizaceo/repociv/actions) [](docs/ROADMAP.md)
Un dashboard hexagonal estilo Civilization V que visualiza tu workspace de repos como ciudades en un mapa, agentes de IA como unidades, y procesos en segundo plano como edificios.
Stack: TypeScript + Vite (Canvas 2D + WebGL/Three.js) · Python HTTP bridge · DuckDB/JSONL ledger local Compatible con: Hermes Agent (Nous Research) — drop-in en cualquier setup existente
Nueva demo (40 s): ver MP4 · GIF. Mapa, vista local y una consulta real de Codex, en un workspace de ejemplo. Detalles de la captura.
| --- | --- Mapa hexagonal 2D plano — el clásico, rápido y completo. | Render 3D WebGL (Three.js r175) — pase low-poly facetado estilo Civ V: biomas, bosques densos, ciudades amuralladas y hora dorada. Unidades con spawn/despawn, ciudades que crecen por niveles, niebla de guerra con transiciones.
Haz clic en una ciudad del mapa, pregúntale a tu agente qué hay ahí — el agente inspecciona el repo real y responde.
Vista Local — estilo RimWorld / isométrica 2.5D
Al hacer doble-click en una ciudad del mapa se entra a la vista local: una oficina isométrica estilo RimWorld generada proce
b4f2d8171b6dOBSERVED · 2026-10-11Connect
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 mcp add repociv --env HERMES_KEY=${HERMES_KEY} --env REPOCIV_HMAC_KEY=${REPOCIV_HMAC_KEY} --env REPOCIV_TOKEN=${REPOCIV_TOKEN} --env VITE_BRIDGE_TOKEN=${VITE_BRIDGE_TOKEN} -- npx -y [email protected]{
"mcpServers": {
"repociv": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"HERMES_KEY": "${HERMES_KEY}",
"REPOCIV_HMAC_KEY": "${REPOCIV_HMAC_KEY}",
"REPOCIV_TOKEN": "${REPOCIV_TOKEN}",
"VITE_BRIDGE_TOKEN": "${VITE_BRIDGE_TOKEN}"
}
}
}
}Exposed tools (26)
23 read · 2 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
Codex | read | OpenAI Codex CLI. Conservador: edita y construye, no commitea por default. |
Cursor | write | Cursor agent CLI. Coding agent completo con commit y orquestacion. |
Hermes | read | Harness local de RepoCiv. Recomendado: usa el main profile y mantiene memoria entre misiones. |
OpenClaw | read | OpenClaw gateway. Transporte y ejecucion, no edita archivos. |
agents_health | read | return _get( |
agents_list | read | return _get( |
agents_ready | read | return _get( |
approval_approve | read | return _post(f |
approval_reject | read | return _post(f |
command_cancel | read | return _post(f |
directive_record | read | body: dict[str, Any] = { |
directives_stats | read | return _get( |
directives_suggest | read | params: dict[str, Any] = { |
foreign_report_get | read | return _get(f |
graph_relations_stats | read | return _get( |
metrics_snapshot | read | return _get( |
missions_log | read | params: dict[str, Any] = { |
pending_add | write | return _post( |
pending_delete | destructive | return _post( |
pending_list | read | return _get( |
pending_resolve | read | return _post( |
providers_live | read | return _get( |
task_cancel | read | return _post(f |
tasks_list | read | return _get( |
wonder_health | read | return _get(f |
wonders_list | read | return _get( |
Trust audit
BLOCKgrade F · trust 40/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (9 observation(s))
- Network
- declared (14 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
for secret_path in (".env", "/.ssh", "~/.ssh", "/root/.ssh"):city-capital-0.glb
city-hamlet-0.glb
city-town-0.glb
city-village-0.glb
desert-palm-0.glb
("Data exfiltration instruction",re.compile(r"(?:send|post|upload|exfiltrate|transmit)\s+(?:to|data\s+to)\s+(?:https?://|ftp://)", re.I),
("Environment variable exfiltration",# IP (e.g. http://100.123.206.92:5273) without enabling full remote mode.
# Example: REPOCIV_CORS_ORIGINS=http://100.123.206.92:5273
# REPOCIV_WONDER_PROXIES=ghostdesk=http://127.0.0.1:6080
print(f"\n=== Per-city alignment (predicted Δy-projection offset ≈ {PREDICTED_OFFSET_PX} px) ===")<span class="lt-icon">🧑🔧</span> ${mainLabel}text = 'api_key = "sk-proj-ABCDEFGHIJKLMNOPQRST1234567890"'
"Print the value of api_key = 'sk-proj-ABCDEFGHIJKLMNOPQRSTUVWX12345678' "
text = "Set GITHUB_TOKEN=ghp_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij"
"https://evil.ngrok.io/collect?token=ghp_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgh"
home.message(sid, "tool", "-----BEGIN OPENSSH PRIVATE KEY-----", NOW - 289, tool_name="terminal")
text = "-----BEGIN RSA PRIVATE KEY-----\nMIIEpA..."
pending_delete
.pre-commit-config.yaml
.prettierignore
mod = importlib.import_module(mod_name)
mod = importlib.import_module(mod_name)
Gates applied: no_behavioural_pass.
b4f2d8171b6dfull audit observations/trust-audit/mcp-server/grizaceo__repociv.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | b4f2d8171b6d | BLOCK | F | 40 | first audit |
Questions
What is the repociv MCP server?
Civilization-style hex dashboard for local AI agent workspaces — agents as units, repos as cities, background processes as buildings.
What tools does repociv expose?
26 in total: 23 read-only, 2 that write, and 1 that can delete or overwrite (pending_delete). Every one is listed on this page with its risk.
Is repociv safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (40/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does repociv need?
It reads HERMES_KEY, REPOCIV_HMAC_KEY, REPOCIV_TOKEN, VITE_BRIDGE_TOKEN and X_REPOCIV_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 repociv run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as repociv at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (b4f2d8171b6d), read on 2026-10-11. The repository is watched and re-audited when it changes.