Skills/PyPI/parentsquare-mcp

parentsquare-mcp@0.4.0

VERIFIED· not started

Publisher claims: "MCP server that gives Claude AI access to ParentSquare — feeds, calendar events, messages, directories, plus admin roster management for students and guardians" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry PyPI (MCP server)Publisher thehesiod · publishing for 275 daysInstalls 423Last detonated 2 h ago
$claude mcp add parentsquare-mcp -- uvx parentsquare-mcp
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
PS_CREDENTIAL_PROVIDERPS_PASSWORDConfiguration, not credentials: PS_AUDIT_LOG, PS_COOKIE_FILE, PS_DOWNLOAD_DIR, PS_ENABLE_WRITES, PS_LASTPASS_ITEM, PS_NO_ELICIT, PS_USERNAME
Where it talks to
parentsquare.com (its own)
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. It asks for PS_CREDENTIAL_PROVIDER, PS_PASSWORD and talks to parentsquare.com. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind. What the tools do with a real credential was not observed.

$vet-skills run --secrets PS_CREDENTIAL_PROVIDER=parentsquare.com,PS_PASSWORD=parentsquare.com -- uvx parentsquare-mcp

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-14 and scored it 86/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.1sprocessdependency install exit 1 ·
0.1sclaimednot started: dependency install failed (exit 1); the server itself was not observed
0.1sprocessscript backend runs setup only
0.2sprocessno install scripts to re-run

Static findings

LOW
Authorization escalation languageREADME.md:81 · Authorization escalation language · informational: not an instruction file- **`edit_staff`** *(write)* — Update a staff member's name, email, phone, title, or staff ID (class assignments and STAFF/ADMIN access preserved; guardians are rejected — use `edit_parent`)Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
Python subprocess execution detectedsrc/parentsquare_mcp/auth.py:166 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
document.cookie accesssrc/parentsquare_mcp/export_cookies.py:9 · document.cookie access — can steal session cookiesvia document.cookie, so we need the full Cookie header.Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
MEDIUM
Python subprocess execution detectedsrc/parentsquare_mcp/auth.py:128 · 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 detectedsrc/parentsquare_mcp/auth.py:107 · Python subprocess execution detectedstatus = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Privileged sudo command.github/workflows/publish.yml:95 · Privileged sudo command — agent may execute with elevated privilegessudo install -m 0755 /tmp/mcp-publisher /usr/local/bin/mcp-publisherFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
document.cookie accessCLAUDE.md:31 · document.cookie access — can steal session cookies- The `ps_s` session cookie is **httpOnly** — it can't be read via `document.cookie`, which is why `export_cookies` requires the Network tab in DevToolsFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07

Cost to the agent

Instructions loaded
≈7,913 tok
3 files · 48 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 parentsquare-mcp@0.4.0 as of 2 h ago. This is the package itself, not its dependencies.