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.
    2 npm
    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