pbix-atlas
mcpkey · packageio.github.fabienfrfr/pbix-atlas · v1.0.0
Bidirectional data lineage graph for Power BI (.pbix) files, from source to display
run it
on your own machines, one way per deploy methodgenerated from the record, not tested yet
A package that serves HTTP itself; the port comes from its URL template.
# once, as root:
# as_mcp DIR COMMAND...: runs COMMAND as the mcp user in DIR, its home, sandboxed as the
# units are: a package's install scripts can write to DIR only, as the server later can
as_mcp() {
local dir="$1"; shift
systemd-run --quiet --wait --pipe --collect --uid=mcp --gid=mcp \
-p WorkingDirectory="$dir" -p Environment=HOME="$dir" -p ReadWritePaths="$dir" \
-p NoNewPrivileges=true -p ProtectSystem=strict -p ProtectHome=true -p PrivateTmp=true \
-- "$@" </dev/null
}
install -d -m 0750 -o mcp -g mcp /var/lib/mcp/pbix-atlas
# pbix-atlas: its packages, installed whole before its unit starts (no session installs)
systemctl stop mcp-my-agent-pbix-atlas.service 2>/dev/null || true
as_mcp /var/lib/mcp/pbix-atlas uv tool install pbix-atlas==1.0.0
#!/usr/bin/env bash
# pbix-atlas (io.github.fabienfrfr/pbix-atlas), recipe baremetal (generated).
# Generated by Hub for toolset "my-agent"; started by mcp-my-agent-pbix-atlas.service.
set -euo pipefail
export HOST=127.0.0.1 PORT=8101
exec uvx pbix-atlas==1.0.0
[Unit]
Description=MCP server pbix-atlas (toolset my-agent), generated by Hub
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=mcp
Group=mcp
EnvironmentFile=/etc/mcp/my-agent.env
Environment=HOME=/var/lib/mcp/pbix-atlas
WorkingDirectory=/var/lib/mcp/pbix-atlas
ExecStart=/opt/mcp/my-agent/bin/pbix-atlas.sh
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/mcp/pbix-atlas
[Install]
WantedBy=multi-user.target
connect to it
copy what your client needs{
"mcpServers": {
"pbix-atlas": {
"command": "CHANGE_ME",
"args": []
}
}
}
#!/usr/bin/env bash # Registers every server with Claude Code (run once; `claude mcp list` to check). set -euo pipefail set -a; [ -f .env ] && source .env; set +a claude mcp add pbix-atlas -- CHANGE_ME
{
"mcpServers": {
"pbix-atlas": {
"command": "CHANGE_ME",
"args": []
}
}
}
{
"servers": {
"pbix-atlas": {
"type": "stdio",
"command": "CHANGE_ME",
"args": []
}
}
}
name: my-agent target: local servers: - hub: io.github.fabienfrfr/pbix-atlas
- not probed yet: tools unpinned, ingest lists them
- a package that serves HTTP itself: pick a self-hosted target, not 'local'
tools
Probe result: faileddocker: the container exited: Downloading kiwisolver (1.4MiB) Downloading numpy (16.0MiB) Downloading fonttools (5.2MiB) Downloading matplotlib (9.4MiB) Downloading scipy (33.7MiB) Downloading pandas (10.3MiB) Downloading pillow (6.8MiB) Downloading networkx (2.0MiB) Downloading apsw (3.6MiB) Downloading pygraphviz (5.2MiB) Downloaded kiwisolver Downloaded apsw Downloaded fonttools Downloaded networkx Downloaded pillow Downloaded pygraphviz Downloaded matplotlib Downloaded numpy Downloaded scipy Downloaded pandas Installed 23 packages in 201ms Traceback (most recent call last): File "<path>", line 6, in <module> from pbix_atlas.api.app import main File "<path>", line 1, in <module> from .app import app, main, mcp File "<path>", line 8, in <module> from dotenv import load_dotenv ModuleNotFoundError: No module named 'dotenv'; baremetal: same crash as docker
runs · 1
the latest tests of this entry by the hub and its workers, newest first| date | worker | method | status | sandbox | reason |
|---|---|---|---|---|---|
| 2026-10-19 02:26 | local-mac-vm | docker | failed | gvisor | docker: the container exited: Downloading kiwisolver (1.4MiB) Downloading numpy (16.0MiB) Downloading fonttools (5.2MiB) Downloading matplotlib (9.4MiB) Downloa… |