Skip to main content
Glama
alex-jb

shadow-perception-mcp

by alex-jb

shadow-perception-mcp

Shadow's eye. Reads what a knowledge worker is looking at (Kaggle notebook / Power BI dashboard / R analysis / trading terminal) and feeds it to a deterministic 5-voice council. Sign-off on the observation with Ed25519 so the artifact is procurement-grade.

Companion product to alex-jb/shadow-mentor — Shadow's banking loan council. Same Ed25519 attestation primitive, same 5-voice architecture, different target audience.

What it does

Point Shadow's eye at a Jupyter notebook, Power BI report, or R session. Five voices review it:

  • Leakage — train/test contamination, target leakage, temporal leakage

  • Fairness — protected-class proxies (ECOA §701 / GDPR Art. 9) in features

  • Reproducibility — seed pinning, environment lock, deterministic ops

  • Compliance — Kaggle competition rules, SR 11-7 model risk, EU AI Act Art. 22

  • Ops — inference latency, memory, deploy footprint

Each voice returns SHIP / REWORK / BLOCK. Ed25519 signature over the verdict — attach to your Kaggle submission or share with a teammate as proof of pre-submit review.

Related MCP server: mcp-witness

Install (as MCP server)

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "shadow-perception": {
      "command": "npx",
      "args": ["-y", "shadow-perception-mcp"]
    }
  }
}

Then in Claude Desktop: /perception scan this notebook.

Install (as CLI, no MCP)

npm install -g shadow-perception-mcp
shadow-perception scan my-kaggle-notebook.ipynb

Three MCP tools shipped

  • shadow_perception_scan — read a Jupyter notebook, R script, or code file; return structured observations (imports / functions / cells / detected leakage patterns).

  • shadow_perception_council — run the 5-voice council on structured observations; return verdict + per-voice rationale + adverse-action codes.

  • shadow_perception_attest — Ed25519 sign the verdict; produces an attestation JSON that anyone with the public key can verify.

Why fork perception from shadow-mentor?

  • Bank counsel review face — Shadow banking edition sells to Raymond James, LPL, Stifel. Bank counsel does not want "watches employee screens" in the same procurement contract. Keeping perception in a separate repo shrinks their sign-off surface.

  • Different audience — Kaggle competitors and data scientists want a mentor that sees their notebook. Bank counsel wants a mentor that never leaves the VPC. Same architecture, different distribution.

  • Same primitive — Ed25519 attestation + 5-voice council + MCP server pattern is verbatim from shadow-mentor. Nothing new to invent; just a new vertical rubric.

Why start with Kaggle first

  • Cheapest to build: Python LSP is mature (pyright), nbformat parses .ipynb directly, Kaggle API exposes competition rules. Zero vision needed.

  • Most differentiated: no OSS tool today runs a 5-voice pre-submit council on a Kaggle notebook with Ed25519 sign-off. Copilot / Cursor autocomplete; they don't audit.

  • Biggest audience: ~15M Kaggle users as of 2026.

Roadmap

  • v0.1 (this release) — Kaggle notebook scan + council + attestation

  • v0.2 — Power BI (XMLA endpoint parse, DAX measure council)

  • v0.3 — R (languageserver LSP, ggplot2 features council)

  • v0.4 — Trading terminal (Interactive Brokers ib_insync, pre-trade council)

  • v0.5 — Vision fallback (Claude Vision on charts / dashboards where LSP is blind)

Verticals ship as separate SKILL.md files on skills.sh so users install only what they need.

Relationship to shadow-mentor

Shadow banking council + Shadow perception mcp = the full "compliance council + reality reader" story used in the IEEE VR 2027 paper "Ambient Council for Regulated AI Decisions." Both repos MIT, both authored by Alex Ji, both share the Ed25519 attestation primitive so decisions from either can be cross-verified with the same public key.

License

MIT — see LICENSE.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
4Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alex-jb/shadow-perception-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server