Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.cletcher/chaprola

NPM · @CHAPROLA/MCP-SERVER · SCANNED SEP 20

Serverless API backend: query, JOIN, pivot, batch ops, email, FHIR, programs via HTTP.

−1 this week 83 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability87
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 3600 tokens (~73/item across 49 items; 45 tools + 4 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "chaprola_delete_account" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 46 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.cletcher/chaprola MCP server?

io.github.cletcher/chaprola runs locally as an npm package, launched with npx -y @chaprola/mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @chaprola/mcp-server

# add to Claude Code
claude mcp add cletcher-chaprola -- npx -y @chaprola/mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "cletcher-chaprola": {
      "command": "npx",
      "args": [
        "-y",
        "@chaprola/mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "cletcher-chaprola": {
      "command": "npx",
      "args": [
        "-y",
        "@chaprola/mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add cletcher-chaprola -- npx -y @chaprola/mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cletcher-chaprola": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@chaprola/mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cletcher-chaprola --command npx --arg -y --arg @chaprola/mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  cletcher-chaprola:
    command: "npx"
    args: ["-y", "@chaprola/mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "cletcher-chaprola": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@chaprola/mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add cletcher-chaprola -t stdio -c npx -a -y @chaprola/mcp-server
// mcp.json
{
  "mcpServers": {
    "cletcher-chaprola": {
      "command": "npx",
      "args": [
        "-y",
        "@chaprola/mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 −4
    • Stability: pass → 0.77 functional
  • 15 Sept 26 +1
    • Stability: 0.97 → pass security
  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 9 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 8 Sept 26 +1
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/@chaprola/mcp-server@1.4.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 96 packages
Packages resolved 96
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 45 exposed · ~3,485 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
chaprola_alter ~109

Modify a data file's schema: widen/narrow/rename fields, add new fields, drop fields. Transforms existing data to match the new schema.

NameTypeReqDescription
addarrayFields to add
alterarrayFields to alter
droparrayField names to drop
namestringyesData file name (without extension)
outputstringOutput file name (default: in-place)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_baa_status ~22

Check whether the authenticated user has signed the BAA

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

chaprola_baa_text ~29

Get the current Business Associate Agreement text and version. Present to human for review before signing

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

chaprola_check_username ~29

Check if a username is available before registering

NameTypeReqDescription
usernamestringyesUsername to check

No output schema declared.

No examples provided.

chaprola_compile ~167

Compile Chaprola source (.CS) to bytecode (.PR). READ chaprola://cookbook BEFORE writing source. Key syntax: no PROGRAM keyword (start with commands), no commas, MOVE+PRINT 0 buffer model (not PRINT field), SEEK for primary records, OPEN/READ/WRITE/CLOSE for secondary files, LET supports one operation (no parentheses), field addressing via P.field/S.field requires primary_format/secondary_format params.

NameTypeReqDescription
namestringyesProgram name (without extension)
primary_formatstringPrimary data file name (enables P.fieldname addressing)
projectstringyesProject name
secondary_formatstringSecondary format file name (enables S.fieldname addressing)
sourcestringyesChaprola source code

No output schema declared.

No examples provided.

chaprola_consolidate ~74

Merge a .MRG file into its parent .DA, producing a clean sorted data file. Deletes .MRG and .IGN after success. Aborts if .MRG was modified during the operation.

NameTypeReqDescription
filestringyesData file name (without extension)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_delete_account ~47

Delete an account and all associated data. Requires passcode confirmation

NameTypeReqDescription
passcodestringyesAccount passcode for confirmation
usernamestringyesAccount username to delete

No output schema declared.

No examples provided.

chaprola_delete_record ~73

Delete a single record matched by a where clause. Marks the record as ignored (.IGN). Physically removed on consolidation.

NameTypeReqDescription
filestringyesData file name (without extension)
projectstringyesProject name
whereobjectyesField name → value pairs to identify exactly one record

No output schema declared.

No examples provided.

chaprola_download ~63

Get a presigned S3 URL to download any file you own (1-hour expiry)

NameTypeReqDescription
filestringyesFile name with extension (e.g., REPORT.R)
projectstringyesProject name
typestringyesFile type directory

No output schema declared.

No examples provided.

chaprola_email_delete ~30

Delete a specific email from your mailbox

NameTypeReqDescription
message_idstringyesMessage ID to delete

No output schema declared.

No examples provided.

chaprola_email_inbox ~56

List emails in the authenticated user's mailbox

NameTypeReqDescription
beforestringISO 8601 timestamp — return emails before this time
limitnumberMax emails to return (default 20, max 100)

No output schema declared.

No examples provided.

chaprola_email_read ~31

Read a specific email by message_id

NameTypeReqDescription
message_idstringyesMessage ID from inbox listing

No output schema declared.

No examples provided.

chaprola_email_send ~79

Send an email from your @chaprola.org address. Subject to content moderation

NameTypeReqDescription
fromstringSender local part (default: your username)
htmlstringHTML body
subjectstringyesEmail subject
textstringyesPlain text body
tostringyesRecipient email address

No output schema declared.

No examples provided.

chaprola_export ~43

Export Chaprola .DA + .F files back to JSON

NameTypeReqDescription
namestringyesFile name (without extension)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_export_report ~118

Run a .PR program and save output as a persistent .R file in S3

NameTypeReqDescription
formatstringOutput format (default: text)
namestringyesProgram name
nophibooleanIf true, obfuscate PHI-flagged fields
primary_filestringPrimary data file to load
projectstringyesProject name
report_namestringCustom output file name
titlestringReport title (used in PDF header)

No output schema declared.

No examples provided.

chaprola_fetch ~89

Fetch any URL and return clean content. HTML pages converted to markdown. SSRF-protected. Rate limit: 20/day per user

NameTypeReqDescription
formatstringOutput format (default: markdown)
max_lengthnumberMax output characters (default: 50000, max: 200000)
urlstringyesURL to fetch (http:// or https://)

No output schema declared.

No examples provided.

chaprola_format ~55

Inspect a data file's schema — returns field names, positions, lengths, types, and PHI flags

NameTypeReqDescription
namestringyesData file name (without .F extension)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_hello ~35

Health check — verify the Chaprola API is running

NameTypeReqDescription
namestringName to greet (default: world)

No output schema declared.

No examples provided.

chaprola_import ~102

Import JSON data into Chaprola format files (.F + .DA). Sign BAA first if handling PHI

NameTypeReqDescription
dataarrayyesArray of flat JSON objects to import
expires_in_daysnumberDays until data expires (default: 90)
formatstringData format: json (default) or fhir
namestringyesFile name (without extension)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_import_download ~114

Import data directly from a public URL (CSV, TSV, JSON, NDJSON, Parquet, Excel). Optional AI-powered schema inference

NameTypeReqDescription
instructionsstringNatural language instructions for AI-powered field selection and transforms
max_rowsnumberMaximum rows to import (default: 5,000,000)
namestringyesOutput file name (without extension)
projectstringyesProject name
urlstringyesPublic URL to download (http/https only)

No output schema declared.

No examples provided.

chaprola_import_process ~69

Process a file previously uploaded to S3 via presigned URL. Generates .F + .DA files

NameTypeReqDescription
formatstringData format: json (default) or fhir
namestringyesFile name (without extension)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_import_url ~53

Get a presigned S3 upload URL for large files (bypasses 6MB API Gateway limit)

NameTypeReqDescription
namestringyesFile name (without extension)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_index ~55

Build an index file (.IDX) for fast lookups on a field

NameTypeReqDescription
fieldstringyesField name to index
filestringyesData file to index
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_insert_record ~78

Insert a new record into a data file's merge file (.MRG). The record appears at the end of the file until consolidation.

NameTypeReqDescription
filestringyesData file name (without extension)
projectstringyesProject name
recordobjectyesField name → value pairs. Unspecified fields default to blanks.

No output schema declared.

No examples provided.

chaprola_list ~52

List files in a project with optional wildcard pattern

NameTypeReqDescription
patternstringWildcard pattern to filter files (e.g., EMP*)
projectstringyesProject name (use * for all projects)

No output schema declared.

No examples provided.

chaprola_login ~47

Login and get a new API key. WARNING: invalidates the previous API key

NameTypeReqDescription
passcodestringyesYour passcode
usernamestringyesYour registered username

No output schema declared.

No examples provided.

chaprola_merge ~77

Merge two sorted data files into one. Both must share the same format (.F)

NameTypeReqDescription
file_astringyesFirst data file
file_bstringyesSecond data file
keystringyesMerge key field
outputstringyesOutput file name
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_optimize ~140

Run HULDRA nonlinear optimization using a compiled .PR as the objective evaluator

NameTypeReqDescription
async_execbooleanIf true, return job_id for long optimizations
elementsarrayyesParameters to optimize
h_initialnumberInitial step fraction (default: 0.125)
max_iterationsnumberMax iterations (default: 100)
objectivesarrayyesObjective values to minimize
primary_filestringyesData file to pass to the VALUE program
programstringyesCompiled .PR program name (the VALUE program)
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_optimize_status ~44

Check status of an async optimization job

NameTypeReqDescription
job_idstringyesJob ID from async /optimize response
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_publish ~105

Publish a compiled program for public access via /report

NameTypeReqDescription
aclstringAccess control: public (anyone), authenticated (valid API key required), owner (owner's API key only), token (action_token required). Default: public
namestringyesProgram name to publish
primary_filestringData file to load when running the report
projectstringyesProject name
recordnumberStarting record number

No output schema declared.

No examples provided.

chaprola_query ~223

SQL-free data query with WHERE, SELECT, aggregation, ORDER BY, JOIN, pivot, and Mercury scoring

NameTypeReqDescription
aggregatearrayAggregation: [{field, func}]. Funcs: count, sum, avg, min, max, stddev
filestringyesData file to query
joinobjectJoin: {file, on, type, method}
limitnumberMax results to return
mercuryobjectMercury scoring: {fields: [{field, target, weight}]}
offsetnumberSkip this many results
order_byarraySort: [{field, dir}]
pivotobjectPivot: {row, column, values, totals, grand_total}
projectstringyesProject name
selectarrayFields to include in output
whereobjectFilter: {field, op, value}. Ops: eq, ne, gt, ge, lt, le, between, contains, starts_with

No output schema declared.

No examples provided.

chaprola_register ~72

Register a new Chaprola account. Returns an API key — save it immediately

NameTypeReqDescription
passcodestringyes16-128 characters. Use a long, unique passcode
usernamestringyes3-40 chars, alphanumeric + hyphens/underscores, starts with letter

No output schema declared.

No examples provided.

chaprola_report ~131

Run a published program and return output. No auth required — program must be published first via /publish

NameTypeReqDescription
namestringyesName of the published .PR file
paramsobjectParameters to inject before execution. Named params (e.g., {deck: "kanji", level: 3}) are read in programs via PARAM.name. Legacy R-variables (r1-r20) also supported. Use chaprola_report_params to di…
projectstringyesProject containing the program
useridstringyesOwner of the published program

No output schema declared.

No examples provided.

chaprola_report_params ~87

Get the parameter schema for a published report. Returns the .PF file as JSON — field names, types, and widths. Use this to discover what params a report accepts before calling chaprola_report.

NameTypeReqDescription
namestringyesName of the published .PR file
projectstringyesProject containing the program
useridstringyesOwner of the published program

No output schema declared.

No examples provided.

chaprola_run ~125

Execute a compiled .PR program. Use async:true for large datasets (>100K records)

NameTypeReqDescription
async_execbooleanIf true, run asynchronously and return job_id for polling
namestringyesProgram name (without extension)
nophibooleanIf true, obfuscate PHI-flagged fields during execution
primary_filestringPrimary data file to load
projectstringyesProject name
recordnumberStarting record number
secondary_filesarraySecondary files to make available

No output schema declared.

No examples provided.

chaprola_run_each ~120

Run a compiled .PR program against every record in a data file. Like CHAPRPG from the original SCIOS. Use this for scoring, bulk updates, conditional logic across records.

NameTypeReqDescription
filestringyesData file to iterate (.DA)
programstringyesCompiled program name (.PR) in the same project
projectstringyesProject name
wherearrayOptional filter — only run against matching records
where_logicstringHow to combine multiple where conditions (default: and)

No output schema declared.

No examples provided.

chaprola_run_status ~47

Check status of an async job. Returns full output when done

NameTypeReqDescription
job_idstringyesJob ID from async /run response
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_schedule ~139

Create a scheduled job that runs a Chaprola endpoint on a recurring cron. Max 10 schedules/user, 15-min minimum interval

NameTypeReqDescription
bodyobjectyesRequest body for the target endpoint. userid is injected automatically
cronstringyesStandard 5-field cron expression (min hour day month weekday). Minimum interval: 15 minutes
endpointstringyesTarget endpoint to call
namestringyesUnique name for this schedule (alphanumeric + hyphens/underscores)
skip_if_unchangedbooleanSkip when response matches previous run (SHA-256 hash). Default: false

No output schema declared.

No examples provided.

chaprola_schedule_delete ~30

Delete a scheduled job by name

NameTypeReqDescription
namestringyesName of the schedule to delete

No output schema declared.

No examples provided.

chaprola_schedule_list ~26

List all scheduled jobs for the authenticated user with run history and next execution time

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

chaprola_search ~86

Search the web via Brave Search API. Returns titles, URLs, and snippets. Optional AI-grounded summary. Rate limit: 10/day per user

NameTypeReqDescription
countnumberNumber of results to return (default 5, max 20)
querystringyesSearch query string
summarizebooleanInclude AI-grounded summary from Brave Answers API

No output schema declared.

No examples provided.

chaprola_sign_baa ~113

Sign the BAA. STOP: You MUST call chaprola_baa_text first, show the FULL text to the human, and get their EXPLICIT typed approval before calling this. Never sign automatically. Only needed for PHI — non-PHI data works without a BAA.

NameTypeReqDescription
organizationstringOrganization name (the Covered Entity)
signatory_namestringyesFull name of the person agreeing to the BAA
signatory_titlestringTitle of the signatory

No output schema declared.

No examples provided.

chaprola_sort ~64

Sort a data file by one or more fields. Modifies the file in place

NameTypeReqDescription
filestringyesData file to sort
projectstringyesProject name
sort_byarrayyesSort specification: [{field, dir?, type?}]

No output schema declared.

No examples provided.

chaprola_unpublish ~39

Remove public access from a published program

NameTypeReqDescription
namestringyesProgram name to unpublish
projectstringyesProject name

No output schema declared.

No examples provided.

chaprola_update_record ~98

Update fields in a single record matched by a where clause. If no sort-key changes, updates in place; otherwise marks old record ignored and appends to merge file.

NameTypeReqDescription
filestringyesData file name (without extension)
projectstringyesProject name
setobjectyesField name → new value pairs to update
whereobjectyesField name → value pairs to identify exactly one record

No output schema declared.

No examples provided.

Common questions

What is the io.github.cletcher/chaprola MCP server?

io.github.cletcher/chaprola is an MCP server listed in the public MCP registry as io.github.cletcher/chaprola. Serverless API backend: query, JOIN, pivot, batch ops, email, FHIR, programs via HTTP. This page covers its npm package (@chaprola/mcp-server).

Is the io.github.cletcher/chaprola MCP server safe to use?

io.github.cletcher/chaprola scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.cletcher/chaprola MCP server expose?

io.github.cletcher/chaprola exposes 45 tools: chaprola_hello, chaprola_register, chaprola_login, chaprola_check_username, chaprola_delete_account, and 40 more. Their descriptions and schemas cost roughly 3,485 tokens of context every time the server is loaded.

Is the io.github.cletcher/chaprola MCP server still maintained?

io.github.cletcher/chaprola is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.cletcher/chaprola MCP server under?

io.github.cletcher/chaprola declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.