{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_aqkvjs4g8kak","handle":"pnasys-crp-mcp","url":"https://wellknown.network/agents/pnasys-crp-mcp","links":{"self":"https://wellknown.network/agents/pnasys-crp-mcp/record.json","html":"https://wellknown.network/agents/pnasys-crp-mcp","markdown":"https://wellknown.network/agents/pnasys-crp-mcp/record.md","api":"https://wellknown.network/api/v1/agents/pnasys-crp-mcp","status":"https://wellknown.network/api/v1/agents/pnasys-crp-mcp/status","claim":"https://wellknown.network/agents/pnasys-crp-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/pnasys-crp-mcp/claim.json","badge":"https://wellknown.network/agents/pnasys-crp-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/pnasys-crp-mcp/history","tools":"https://wellknown.network/api/v1/agents/pnasys-crp-mcp/tools"},"ard":{"identifier":"urn:air::server:pnasys-crp-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"pnasys-crp-mcp","summary":"MCP server (OpenCode) for PNASystems CRP — secure Pi remote via Vercel API","description":"# pnasys-crp-mcp — MCP server for PNASystems CRP (OpenCode) \n \nLets an AI client drive a Raspberry Pi through the PNA Vercel API over an \nend-to-end encrypted channel: the AI supplies the Pi's `api_key` and the \n`session_key` printed by `pnasyscrp enable`. Requests are encrypted locally \nwith `pnasys-encryption-service`, Vercel stores the opaque blob, the Pi \ndecrypts it; the Pi encrypts its response the same way and this server \ndecrypts it. Vercel never sees plaintext. \n \n## Install \n \n```bash \npip install pnasys-crp-mcp \n# then run from PATH: \npnasys-crp-mcp \n``` \n \nOr without installing, via uvx: \n \n```bash \nuvx pnasys-crp-mcp \n``` \n \n## OpenCode config (`opencode.json`) \n \n```json \n{ \n  \"mcp\": { \n    \"pnasys-crp\": { \n      \"type\": \"local\", \n      \"command\": [\"uvx\", \"pnasys-crp-mcp\", \"--AccessKey\", \"PASTE_ACCESS_KEY_FROM_SETUP\"], \n      \"enabled\": true \n    } \n  } \n} \n``` \n \nWith a PATH install instead: `\"command\": [\"pnasys-crp-mcp\", \"--AccessKey\", \"...\"]`. \nThe access key is printed once by `pnasyscrp setup`; each `pnasyscrp enable` \nprints a fresh session key, which you hand to the AI per tool call \n(`session_key` param — pass `api_key` empty to use the baked-in default). \nOverride the API base with `PNASYS_VERCEL_BASE` env (default production). \n \n## Tools \n \n- `pi_secure_exec(api_key, session_key, cmd, wait_s)` — run shell \n- `pi_secure_read(api_key, session_key, path, wait_s)` — read file \n- `pi_secure_write(api_key, session_key, path, data_b64, wait_s)` — write file \n- `pi_secure_install(api_key, session_key, pkg, wait_s)` — apt install \n- `pi_fetch_result(api_key, session_key, request_id)` — collect a pending response \n- `pi_health()` — API reachability \n \nEach call encrypts, enqueues a `secure` job, waits for the Pi (long-poll), \nand returns the result. Nothing secret is logged; keys stay parameters.","publisher":{"name":"PNASystems","url":null},"homepage":null,"repository":null,"version":"0.1.2","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:pnasys-crp-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"dev.filesystem","name":"Filesystem","confidence":0.859,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"provenance":"derived"}],"categories":["dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"pnasys-crp-mcp","registry":"pypi","observedAt":"2026-09-12T08:20:45.518Z","publishedAt":"2026-09-12T00:29:14.720341Z","latestVersion":"0.1.2"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"pnasys-crp-mcp","url":"https://pypi.org/project/pnasys-crp-mcp/","firstSeenAt":"2026-09-12T08:20:34.655Z","fetchedAt":"2026-09-12T08:20:34.655Z","normalizedAt":"2026-09-12T08:20:34.655Z"}]},"firstSeenAt":"2026-09-12T08:20:34.655Z","updatedAt":"2026-09-12T08:20:45.518Z"}