Skills/PyPI/mcp-server-datahub

mcp-server-datahub@0.8.0

VERIFIED· not started

Publisher claims: "A Model Context Protocol (MCP) server for DataHub" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry PyPI (MCP server)Publisher acryldata · publishing for 593 daysInstalls 37,942Last detonated 5d ago
$claude mcp add mcp-server-datahub -- uvx mcp-server-datahub
WatchReport an issue

Coverage

Not started: dependency install failed; the server itself was not observed.
Tested
the dependency install step · every file read, file written and host contacted by what ran
Not tested
server startup · the tool list · tool behavior

What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.

Before you give it your token

It will ask for
DATAHUB_GMS_TOKENENTITY_SCHEMA_TOKEN_BUDGETTOOL_RESPONSE_TOKEN_LIMITConfiguration, not credentials: DATAHUB_GMS_URL, DESCRIPTION_LENGTH_LIMIT, ELASTICSEARCH_REFRESH_INTERVAL_SECONDS, FIELD_DESCRIPTION_LENGTH_LIMIT, FIELD_STRUCTURED_PROPERTY_CHAR_LIMIT, FIELD_STRUCTURED_PROPERTY_MAX_VALUES, KAFKA_BOOTSTRAP_SERVER, KAFKA_BROKER_CONTAINER, QUERY_LENGTH_LIMIT, SAVE_DOCUMENT_ORGANIZE_BY_USER, SAVE_DOCUMENT_PARENT_TITLE, SAVE_DOCUMENT_RESTRICT_UPDATES, SAVE_DOCUMENT_TOOL_ENABLED, TOOLS_IS_MUTATION_ENABLED, TOOLS_IS_USER_ENABLED
Where it talks to
no vendor host named in the codeAlso astral.sh — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · no network
What we could not test
server startup · the tool list · tool behavior

Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names astral.sh as well as its own vendor. The guard injects DATAHUB_GMS_TOKEN, ENTITY_SCHEMA_TOKEN_BUDGET, TOOL_RESPONSE_TOKEN_LIMIT only into requests to the host you bind (and its subdomains) and refuses the rest.

$vet-skills run --net declared -- uvx mcp-server-datahub

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-09 and scored it 87/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.2sprocessdependency install exit 1 ·
0.2sclaimednot started: dependency install failed (exit 1); the server itself was not observed
0.2sprocessscript backend runs setup only
0.2sprocessno install scripts to re-run

Static findings

MEDIUM
MCP server using network transport (SSE/HTTP).github/workflows/ci.yml:63 · MCP server using network transport (SSE/HTTP) — data sent over networkreported_version=$(docker run --rm --entrypoint mcp-server-datahub-http mcp-server-datahub:test --version)Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
Process kill commandscripts/test_all_modes.sh:55 · Process kill command — agent can terminate processesif [[ -n "$SERVER_PID" ]] && kill -0 "$SERVER_PID" 2>/dev/null; thenFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Python subprocess execution detectedscripts/smoke_check.py:871 · Python subprocess execution detectedsubprocess.run(["uv", "venv", venv_dir], check=True, capture_output=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/smoke_check.py:872 · Python subprocess execution detectedsubprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/smoke_check.py:878 · Python subprocess execution detectedver_result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/smoke_check.py:894 · Python subprocess execution detectedproc = subprocess.run(cmd, cwd=tmpdir)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Process kill commandscripts/test_all_modes.sh:102 · Process kill command — agent can terminate processeskill "$SERVER_PID" 2>/dev/null || trueFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
MCP server using network transport (SSE/HTTP).github/workflows/ci.yml:64 · MCP server using network transport (SSE/HTTP) — data sent over networktest "$reported_version" = "mcp-server-datahub-http, version 1.2.3"Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
Process kill commandscripts/test_all_modes.sh:57 · Process kill command — agent can terminate processeskill "$SERVER_PID" 2>/dev/null || trueFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Process kill command.github/workflows/ci.yml:110 · Process kill command — agent can terminate processestrap 'docker rm --force "$container_id"; kill "$(cat /tmp/docker-auth-stub.pid)"' EXITFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
MCP server using network transport (SSE/HTTP)Dockerfile:60 · MCP server using network transport (SSE/HTTP) — data sent over networkCMD ["mcp-server-datahub-http"]Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)pyproject.toml:43 · MCP server using network transport (SSE/HTTP) — data sent over networkmcp-server-datahub-http = "mcp_server_datahub.__main__:http_main"Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)tests/test_mcp/test_http_auth.py:286 · MCP server using network transport (SSE/HTTP) — data sent over network"mcp_server_datahub.__main__.create_http_app",Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)tests/test_mcp_integration.py:165 · MCP server using network transport (SSE/HTTP) — data sent over network"mcp-server-datahub-http",Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
Python subprocess execution detectedscripts/wait_for_ingestion.py:27 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/wait_for_ingestion.py:64 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
MCP server using network transport (SSE/HTTP)tests/test_mcp/test_http_auth.py:71 · MCP server using network transport (SSE/HTTP) — data sent over networkwith patch("mcp_server_datahub.__main__._build_http_client", return_value=client):Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)tests/conftest.py:141 · MCP server using network transport (SSE/HTTP) — data sent over networkassertions_module = sys.modules["mcp_server_datahub.tools.assertions"]Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)tests/test_mcp/test_http_auth.py:36 · MCP server using network transport (SSE/HTTP) — data sent over network"mcp_server_datahub.__main__._build_and_verify_http_client",Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)tests/test_mcp/test_http_auth.py:86 · MCP server using network transport (SSE/HTTP) — data sent over network"mcp_server_datahub.__main__._build_and_verify_http_client",Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)scripts/test_all_modes.sh:180 · MCP server using network transport (SSE/HTTP) — data sent over networkenv -u DATAHUB_GMS_TOKEN uv run fastmcp run src/mcp_server_datahub/__main__.py:create_http_app --transport http \Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)scripts/test_all_modes.sh:86 · MCP server using network transport (SSE/HTTP) — data sent over networkenv -u DATAHUB_GMS_TOKEN uv run mcp-server-datahub-http \Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)tests/test_mcp/test_http_auth.py:53 · MCP server using network transport (SSE/HTTP) — data sent over network"mcp_server_datahub.__main__._build_and_verify_http_client",Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)src/mcp_server_datahub.egg-info/scm_file_list.json:56 · MCP server using network transport (SSE/HTTP) — data sent over network"src/mcp_server_datahub/tools/assertions.py",Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04

Cost to the agent

Instructions loaded
≈763 tok
2 files · 81 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for mcp-server-datahub@0.8.0 as of 5d ago. This is the package itself, not its dependencies.

mcp-server-datahub@0.8.0 safety verdict: Verified (not started) — KillerSkills