{"name":"io.github.cletcher/chaprola","slug":"cletcher-chaprola","title":null,"description":"Serverless API backend: query, JOIN, pivot, batch ops, email, FHIR, programs via HTTP.","url":"https://mcp.market/server/cletcher-chaprola","rating":null,"grade":"C","score":66,"certified":false,"status":"active","category":"email","tags":["email"],"presence":{"score":3,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-03-27T13:16:21.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/cletcher/chaprola-mcp","website":null,"version":"1.4.3","remotes":[],"packages":[{"registryType":"npm","identifier":"@chaprola/mcp-server","version":"1.4.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Chaprola username (register at https://api.chaprola.org/register)","isRequired":true,"format":"string","name":"CHAPROLA_USERNAME"},{"description":"Your Chaprola API key (format: chp_ + 64 hex chars)","isRequired":true,"format":"string","isSecret":true,"name":"CHAPROLA_API_KEY"}]}],"tools":[{"name":"chaprola_alter","description":"Modify a data file's schema: widen/narrow/rename fields, add new fields, drop fields. Transforms existing data to match the new schema.","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_baa_status","description":"Check whether the authenticated user has signed the BAA","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_baa_text","description":"Get the current Business Associate Agreement text and version. Present to human for review before signing","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_check_username","description":"Check if a username is available before registering","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_compile","description":"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 p","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_consolidate","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_delete_account","description":"Delete an account and all associated data. Requires passcode confirmation","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_delete_record","description":"Delete a single record matched by a where clause. Marks the record as ignored (.IGN). Physically removed on consolidation.","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_download","description":"Get a presigned S3 URL to download any file you own (1-hour expiry)","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_email_delete","description":"Delete a specific email from your mailbox","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_email_inbox","description":"List emails in the authenticated user's mailbox","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_email_read","description":"Read a specific email by message_id","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_email_send","description":"Send an email from your @chaprola.org address. Subject to content moderation","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_export","description":"Export Chaprola .DA + .F files back to JSON","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_export_report","description":"Run a .PR program and save output as a persistent .R file in S3","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_fetch","description":"Fetch any URL and return clean content. HTML pages converted to markdown. SSRF-protected. Rate limit: 20/day per user","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_format","description":"Inspect a data file's schema — returns field names, positions, lengths, types, and PHI flags","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_hello","description":"Health check — verify the Chaprola API is running","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_import","description":"Import JSON data into Chaprola format files (.F + .DA). Sign BAA first if handling PHI","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_import_download","description":"Import data directly from a public URL (CSV, TSV, JSON, NDJSON, Parquet, Excel). Optional AI-powered schema inference","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_import_process","description":"Process a file previously uploaded to S3 via presigned URL. Generates .F + .DA files","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_import_url","description":"Get a presigned S3 upload URL for large files (bypasses 6MB API Gateway limit)","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_index","description":"Build an index file (.IDX) for fast lookups on a field","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_insert_record","description":"Insert a new record into a data file's merge file (.MRG). The record appears at the end of the file until consolidation.","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_list","description":"List files in a project with optional wildcard pattern","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_login","description":"Login and get a new API key. WARNING: invalidates the previous API key","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_merge","description":"Merge two sorted data files into one. Both must share the same format (.F)","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_optimize","description":"Run HULDRA nonlinear optimization using a compiled .PR as the objective evaluator","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_optimize_status","description":"Check status of an async optimization job","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_publish","description":"Publish a compiled program for public access via /report","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_query","description":"SQL-free data query with WHERE, SELECT, aggregation, ORDER BY, JOIN, pivot, and Mercury scoring","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_register","description":"Register a new Chaprola account. Returns an API key — save it immediately","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_report","description":"Run a published program and return output. No auth required — program must be published first via /publish","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_report_params","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_run","description":"Execute a compiled .PR program. Use async:true for large datasets (>100K records)","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_run_each","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_run_status","description":"Check status of an async job. Returns full output when done","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_schedule","description":"Create a scheduled job that runs a Chaprola endpoint on a recurring cron. Max 10 schedules/user, 15-min minimum interval","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_schedule_delete","description":"Delete a scheduled job by name","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_schedule_list","description":"List all scheduled jobs for the authenticated user with run history and next execution time","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_search","description":"Search the web via Brave Search API. Returns titles, URLs, and snippets. Optional AI-grounded summary. Rate limit: 10/day per user","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_sign_baa","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_sort","description":"Sort a data file by one or more fields. Modifies the file in place","write_action":false,"price_micros":0,"input_schema":null},{"name":"chaprola_unpublish","description":"Remove public access from a published program","write_action":true,"price_micros":0,"input_schema":null},{"name":"chaprola_update_record","description":"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.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":66,"grade":"C","scanned_at":"2026-09-27T23:19:57.279Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T23:19:57.225Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":4,"max":15,"notes":["last push 184 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@chaprola/mcp-server","version":"1.4.3","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-03-28T00:01:00.711Z","repositoryUrl":"git+https://github.com/cletcher/chaprola-mcp.git"}],"repo":{"found":true,"owner":"cletcher","repo":"chaprola-mcp","archived":false,"pushedAt":"2026-03-27T13:16:21Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/10778223?v=4","ownerCreatedAt":"2015-01-30T20:06:56Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/10778223?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-03-27T13:16:21.000Z","score":3}}}},"grade_history":[],"reviews":[]}