Chaprola MCP Server
Provides web search capabilities via the Brave Search API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Chaprola MCP Server list my files"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@chaprola/mcp-server
MCP server for Chaprola — the agent-first data platform.
Gives AI agents 40 tools for structured data storage, querying, web search, URL fetching, scheduled jobs, and execution through the Model Context Protocol.
Quick Start
Claude Code
claude mcp add chaprola-mcp -e CHAPROLA_USERNAME=yourusername -e CHAPROLA_API_KEY=chp_yourkey -- npx @chaprola/mcp-serverNote: After installing, restart Claude Code to load the MCP server. The server description and tools will then be available to Claude.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"chaprola": {
"command": "npx",
"args": ["@chaprola/mcp-server"],
"env": {
"CHAPROLA_USERNAME": "yourusername",
"CHAPROLA_API_KEY": "chp_yourkey"
}
}
}
}VS Code / Copilot
Add to .vscode/mcp.json:
{
"servers": {
"chaprola": {
"command": "npx",
"args": ["@chaprola/mcp-server"],
"env": {
"CHAPROLA_USERNAME": "yourusername",
"CHAPROLA_API_KEY": "chp_yourkey"
}
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"chaprola": {
"command": "npx",
"args": ["@chaprola/mcp-server"],
"env": {
"CHAPROLA_USERNAME": "yourusername",
"CHAPROLA_API_KEY": "chp_yourkey"
}
}
}
}Related MCP server: Nexus-MCP
Getting Credentials
# Register (returns your API key — save it immediately)
curl -X POST https://api.chaprola.org/register \
-H "Content-Type: application/json" \
-d '{"username": "myname", "passcode": "my-secure-passcode-16chars"}'Or use the chaprola_register tool after connecting.
Available Tools
Tool | Description |
| Health check |
| Create account |
| Login (get new API key) |
| Check username availability |
| Delete account + all data |
| Sign Business Associate Agreement (PHI only) |
| Check BAA status |
| Get BAA text |
| Import JSON to Chaprola format |
| Get presigned upload URL |
| Process uploaded file |
| Import from URL (CSV/Excel/JSON/Parquet) |
| Export to JSON |
| List files |
| Compile .CS source to .PR bytecode |
| Execute .PR program |
| Check async job status |
| Publish program for public access |
| Remove public access |
| Run published program (no auth) |
| Run program and save output |
| Get presigned download URL |
| Filter, aggregate, join data |
| Sort data file |
| Build index on field |
| Merge two sorted files |
| HULDRA nonlinear optimization |
| Check optimization status |
| List emails |
| Read email |
| Send email |
| Delete email |
| Web search via Brave API |
| Fetch URL content as markdown/text/JSON |
| Create scheduled recurring job |
| List scheduled jobs |
| Delete scheduled job |
Resources
The server exposes reference documentation as MCP resources:
chaprola://cookbook— Language cookbook with complete exampleschaprola://endpoints— All 40 API endpointschaprola://auth— Authentication referencechaprola://gotchas— Common mistakes to avoid
Environment Variables
Variable | Required | Description |
| Yes | Your registered username |
| Yes | Your API key (format: |
HIPAA / BAA
Non-PHI data works without a signed BAA. If handling Protected Health Information (PHI), a human must review and sign the BAA first. The server includes guardrails that warn agents when the BAA is not signed.
Links
Website: chaprola.org
API: api.chaprola.org
Status: UptimeRobot
Available Tools
44 toolschaprola_alterA
Modify a data file's schema: widen/narrow/rename fields, add new fields, drop fields. Transforms existing data to match the new schema.
Inputs: name (required), project (required), add, drop, +2 more.
chaprola_baa_statusA
Check whether the authenticated user has signed the BAA
Inputs: no named parameters.
chaprola_baa_textA
Get the current Business Associate Agreement text and version. Present to human for review before signing
Inputs: no named parameters.
chaprola_check_usernameA
Check if a username is available before registering
Inputs: username (required).
chaprola_compileA
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.
Inputs: name (required), source (required), project (required), primary_format, +1 more.
chaprola_consolidateA
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.
Inputs: file (required), project (required).
chaprola_delete_accountA
Delete an account and all associated data. Requires passcode confirmation
Inputs: passcode (required), username (required).
chaprola_delete_recordA
Delete a single record matched by a where clause. Marks the record as ignored (.IGN). Physically removed on consolidation.
Inputs: file (required), where (required), project (required).
chaprola_downloadA
Get a presigned S3 URL to download any file you own (1-hour expiry)
Inputs: file (required), type (required), project (required).
chaprola_email_deleteB
Delete a specific email from your mailbox
Inputs: message_id (required).
chaprola_email_inboxA
List emails in the authenticated user's mailbox
Inputs: limit, before.
chaprola_email_readA
Read a specific email by message_id
Inputs: message_id (required).
chaprola_email_sendA
Send an email from your @chaprola.org address. Subject to content moderation
Inputs: to (required), text (required), subject (required), from, +1 more.
chaprola_exportB
Export Chaprola .DA + .F files back to JSON
Inputs: name (required), project (required).
chaprola_export_reportC
Run a .PR program and save output as a persistent .R file in S3
Inputs: name (required), project (required), nophi, title, +3 more.
chaprola_fetchA
Fetch any URL and return clean content. HTML pages converted to markdown. SSRF-protected. Rate limit: 20/day per user
Inputs: url (required), format, max_length.
chaprola_formatA
Inspect a data file's schema — returns field names, positions, lengths, types, and PHI flags
Inputs: name (required), project (required).
chaprola_helloA
Health check — verify the Chaprola API is running
Inputs: name.
chaprola_importC
Import JSON data into Chaprola format files (.F + .DA). Sign BAA first if handling PHI
Inputs: data (required), name (required), project (required), format, +1 more.
chaprola_import_downloadB
Import data directly from a public URL (CSV, TSV, JSON, NDJSON, Parquet, Excel). Optional AI-powered schema inference
Inputs: url (required), name (required), project (required), max_rows, +1 more.
chaprola_import_processB
Process a file previously uploaded to S3 via presigned URL. Generates .F + .DA files
Inputs: name (required), project (required), format.
chaprola_import_urlA
Get a presigned S3 upload URL for large files (bypasses 6MB API Gateway limit)
Inputs: name (required), project (required).
chaprola_indexB
Build an index file (.IDX) for fast lookups on a field
Inputs: file (required), field (required), project (required).
chaprola_insert_recordA
Insert a new record into a data file's merge file (.MRG). The record appears at the end of the file until consolidation.
Inputs: file (required), record (required), project (required).
chaprola_listB
List files in a project with optional wildcard pattern
Inputs: project (required), pattern.
chaprola_loginA
Login and get a new API key. WARNING: invalidates the previous API key
Inputs: passcode (required), username (required).
chaprola_mergeB
Merge two sorted data files into one. Both must share the same format (.F)
Inputs: key (required), file_a (required), file_b (required), output (required), +1 more.
chaprola_optimizeB
Run HULDRA nonlinear optimization using a compiled .PR as the objective evaluator
Inputs: program (required), project (required), elements (required), objectives (required), +4 more.
chaprola_optimize_statusA
Check status of an async optimization job
Inputs: job_id (required), project (required).
chaprola_publishB
Publish a compiled program for public access via /report
Inputs: name (required), project (required), record, primary_file.
chaprola_queryC
SQL-free data query with WHERE, SELECT, aggregation, ORDER BY, JOIN, pivot, and Mercury scoring
Inputs: file (required), project (required), join, limit, +7 more.
chaprola_registerA
Register a new Chaprola account. Returns an API key — save it immediately
Inputs: passcode (required), username (required).
chaprola_reportA
Run a published program and return output. No auth required — program must be published first via /publish
Inputs: name (required), userid (required), project (required).
chaprola_runA
Execute a compiled .PR program. Use async:true for large datasets (>100K records)
Inputs: name (required), project (required), nophi, record, +3 more.
chaprola_run_eachA
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.
Inputs: file (required), program (required), project (required), where, +1 more.
chaprola_run_statusC
Check status of an async job. Returns full output when done
Inputs: job_id (required), project (required).
chaprola_scheduleA
Create a scheduled job that runs a Chaprola endpoint on a recurring cron. Max 10 schedules/user, 15-min minimum interval
Inputs: body (required), cron (required), name (required), endpoint (required), +1 more.
chaprola_schedule_deleteA
Delete a scheduled job by name
Inputs: name (required).
chaprola_schedule_listA
List all scheduled jobs for the authenticated user with run history and next execution time
Inputs: no named parameters.
chaprola_searchA
Search the web via Brave Search API. Returns titles, URLs, and snippets. Optional AI-grounded summary. Rate limit: 10/day per user
Inputs: query (required), count, summarize.
chaprola_sign_baaA
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.
Inputs: signatory_name (required), organization, signatory_title.
chaprola_sortA
Sort a data file by one or more fields. Modifies the file in place
Inputs: file (required), project (required), sort_by (required).
chaprola_unpublishB
Remove public access from a published program
Inputs: name (required), project (required).
chaprola_update_recordA
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.
Inputs: set (required), file (required), where (required), project (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 44 tools
Several tools have overlapping purposes, particularly the import variants (import, import_process, import_download, import_url) which all involve bringing data in but via different methods. Also, chaprola_report and chaprola_export_report both run programs, and chaprola_run and chaprola_run_each are similar. However, most tools have clear distinct roles (e.g., insert_record vs update_record vs delete_record), and descriptions mitigate some ambiguity.
All tools share the consistent 'chaprola_' prefix, which is good. However, the suffix pattern is mixed: some tools use verb_noun (insert_record, schedule_delete), others use bare verbs (import, export, list), and there are inconsistent variations like import_process vs import_download vs import_url. Also, BAA tools place the domain word differently (baa_text, sign_baa, baa_status). This inconsistency reduces predictability.
With 44 tools, this server is significantly over the typical well-scoped range of 3-15 tools. The large count likely overwhelms agents and makes tool selection harder. Many tools could be consolidated (e.g., the import variants) or omitted (e.g., email and web search may be tangential). While the platform is broad, the sheer number makes the server unwieldy.
The tool surface is quite comprehensive for the Chaprola data platform, covering import/export, record CRUD, schema operations, program compilation/execution, publishing, scheduling, email, and web search. Minor gaps include a direct 'get record' operation (though query covers it) and file deletion tools. Overall, the domain is well-covered with only a few workarounds needed.
Maintenance
Related MCP Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Direct access to 60+ scraping and search tools. Extract structured data from Google (Search, Maps, Trends), Amazon, Airbnb, Social Media, and any web page directly into your AI agent.
Persistent memory for AI agents: save, search and connect context across tools and sessions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEmpowers AI assistants with real-world capabilities including note management, Gmail integration, Google Calendar and Tasks management, and Git repository operations through the Model Context Protocol.13MIT
- AlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol toolkit that transforms AI assistants into autonomous agents capable of executing real-world tasks across filesystems, web requests, Git workflows, databases, system commands, and AI integrations.MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server providing tools for DB queries, API calls, file I/O, and text transformations, enabling AI agents like Claude to perform real-world actions.10MIT
- FlicenseNot gradedqualityDmaintenanceEquips AI coding agents with filesystem, Git, database, and computation tools via the Model Context Protocol.1-