Skip to main content
Glama
Goplop0959

PNASystems CRP MCP Server

by Goplop0959

pnasys-crp-mcp — MCP server for PNASystems CRP (OpenCode)

Lets an AI client drive a Raspberry Pi through the PNA Vercel API over an end-to-end encrypted channel: the AI supplies the Pi's api_key and the session_key printed by pnasyscrp enable. Requests are encrypted locally with pnasys-encryption-service, Vercel stores the opaque blob, the Pi decrypts it; the Pi encrypts its response the same way and this server decrypts it. Vercel never sees plaintext.

Install

pip install pnasys-crp-mcp
# then run from PATH:
pnasys-crp-mcp

Or without installing, via uvx:

uvx pnasys-crp-mcp

Related MCP server: MCP Secure Relay

Install straight from GitHub (no PyPI)

pip install git+https://github.com/Goplop0959/pnasys-crp-mcp.git
pnasys-crp-mcp

Or run it without installing, straight from the repo:

uvx --from git+https://github.com/Goplop0959/pnasys-crp-mcp.git pnasys-crp-mcp --version

Same for OpenCode — swap the command to pull from GitHub instead of PyPI:

{
  "mcp": {
    "pnasys-crp": {
      "type": "local",
      "command": ["uvx", "--from", "git+https://github.com/Goplop0959/pnasys-crp-mcp.git", "pnasys-crp-mcp", "--AccessKey", "PASTE_ACCESS_KEY_FROM_SETUP"],
      "enabled": true
    }
  }
}

OpenCode config (opencode.json)

{
  "mcp": {
    "pnasys-crp": {
      "type": "local",
      "command": ["uvx", "pnasys-crp-mcp", "--AccessKey", "PASTE_ACCESS_KEY_FROM_SETUP"],
      "enabled": true
    }
  }
}

With a PATH install instead: "command": ["pnasys-crp-mcp", "--AccessKey", "..."]. The access key is printed once by pnasyscrp setup; each pnasyscrp enable prints a fresh session key, which you hand to the AI per tool call (session_key param — pass api_key empty to use the baked-in default). Override the API base with PNASYS_VERCEL_BASE env (default production).

Tools

  • pi_secure_exec(api_key, session_key, cmd, wait_s) — run shell

  • pi_secure_read(api_key, session_key, path, wait_s) — read file

  • pi_secure_write(api_key, session_key, path, data_b64, wait_s) — write file

  • pi_secure_install(api_key, session_key, pkg, wait_s) — apt install

  • pi_fetch_result(api_key, session_key, request_id) — collect a pending response

  • pi_health() — API reachability

Each call encrypts, enqueues a secure job, waits for the Pi (long-poll), and returns the result. Nothing secret is logged; keys stay parameters.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI tools like Claude to interact with a remote machine's file system and shell via a secure HTTPS endpoint. It provides standardized tools for executing shell commands, reading and writing files, and navigating directories.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables a standard authenticated MCP client to dispatch three controlled operations — command execution and scoped file reads/writes — to a remote lightweight agent through Vercel, with encrypted relaying, atomic writes, and Redis-backed audit logging.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables self-hosted remote control of your own computers from Claude and ChatGPT, allowing file management, terminal access, and process control on paired machines via an outbound WebSocket relay you host.
    14 npm
    2
    ISC
  • A
    license
    A
    quality
    B
    maintenance
    Enables an AI agent to take full control of a machine — running shell commands, editing files, managing git, packages and processes, and reaching the network — with batched execution, server-side variables and selectable tool profiles that keep token usage low. It also speaks HTTP so the same agent can operate a remote build box, NAS or VPS.
    26
    2
    MIT