# Codereadr — how to use (mcp.ai)

Connect your Codereadr account and use 16 tools for developer tools straight from your AI agent. Connect with your own API key. CodeREADr is a mobile data collection and barcode scanning platform that enables businesses to create and manage services for data capture, validation, and reporting.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_codereadr?ms=1787293680000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `codereadr_collect_data_with_questions`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/codereadr`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/codereadr/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/codereadr/collect/data/with/questions` — Create and attach custom questions to a CodeREADr service for data collection after scans. Use this to configure forms that collect additional information from users after each barcode scan. Requires 
  - body: { questions: object[], service_id: string }
- `POST https://api.mcp.ai/api/codereadr/configure/connector` — Helper to guide configuring the CodeREADr Connector for Google Sheets. There is no public API to programmatically create connector configurations. This tool validates your API connectivity (optional) 
  - body: { note?: string, include_legacy_probe?: boolean, perform_connectivity_check?: boolean }
- `POST https://api.mcp.ai/api/codereadr/create/service` — Creates a new CodeREADr service (barcode scanning workflow configuration). A service defines how barcode scans are processed - whether they're simply recorded, validated against a database, forwarded 
  - body: { enableGPS?: integer, database_id?: string, description?: string, symbologies?: string, postback_url?: string, service_name?: string, duplicate_value?: integer, validation_method: string }
- `POST https://api.mcp.ai/api/codereadr/delete/database` — Delete a CodeREADr validation database by its ID. This permanently removes the database and all its barcode values. Use with caution. Note: A database cannot be deleted if it is currently linked to on
  - body: { database_id: string }
- `POST https://api.mcp.ai/api/codereadr/delete/device` — Tool to delete a device from CodeREADr. Uses the CodeREADr legacy API with section=devices and action=delete parameters. Note: Device deletion may have limited support in the CodeREADr API - only 'ret
  - body: { device_id: string }
- `POST https://api.mcp.ai/api/codereadr/delete/question` — Permanently deletes one or more custom questions from your CodeREADr account. Questions are used to collect additional data after scans. Once deleted, the question and all associated answer options ar
  - body: { question_id: string }
- `POST https://api.mcp.ai/api/codereadr/delete/service` — Delete a CodeREADr service by its numeric ID. Use this to permanently remove a service/workflow configuration from your account. Note: This is a destructive action and cannot be undone. You can delete
  - body: { service_id: string }
- `POST https://api.mcp.ai/api/codereadr/delete/user` — Deletes an existing user account from CodeREADr. Uses the CodeREADr legacy API endpoint (POST /api/ with section=users, action=delete). The user_id parameter can be a single ID, comma-separated list o
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/codereadr/generate/scan/link` — Generates a CodeREADr scan link URI that opens the CodeREADr mobile app with a pre-filled scan value. Use this tool when you need to create clickable links that launch the CodeREADr scanner with a spe
  - body: { scan_id: string }
- `POST https://api.mcp.ai/api/codereadr/list/supported/barcode/types` — Lists barcode symbologies supported by CodeREADr for scanning. Returns 1D barcodes (Code 39, Code 128, EAN, UPC, Codabar, etc.), 2D barcodes (QR Code, Data Matrix, PDF-417, Aztec, etc.), and specializ
  - body: { limit?: integer, only_barcode_types?: boolean }
- `POST https://api.mcp.ai/api/codereadr/retrieve/databases` — Retrieves all validation databases configured in your CodeREADr account. Use this to list databases for barcode validation, see their IDs, names, item counts, and which services they're linked to.
  - body: { info_level?: string, database_id?: string }
- `POST https://api.mcp.ai/api/codereadr/retrieve/devices` — Retrieve a list of devices registered to your CodeREADr account. This tool fetches information about devices linked to your account, including device IDs, UDIDs, names, and creation timestamps. Use th
  - body: { device_id?: string }
- `POST https://api.mcp.ai/api/codereadr/retrieve/scans` — Retrieve scan records from your CodeREADr account. Scans are the core data collected by CodeREADr when users scan barcodes using the mobile app. Each scan record includes the barcode value, timestamp,
  - body: { limit?: integer, offset?: integer, status?: string, scan_id?: string, user_id?: string, end_date?: string, device_id?: string, service_id?: string, start_date?: string }
- `POST https://api.mcp.ai/api/codereadr/retrieve/services` — Retrieve configured services from your CodeREADr account. Services are the core organizational units in CodeREADr that define how barcode scans are validated and processed. Use this action to list all
  - body: { service_id?: string }
- `POST https://api.mcp.ai/api/codereadr/update/question` — Add answer options to an existing CodeREADr question. Use this to add selectable answers for checkbox, dropdown, or option-type questions. The CodeREADr API does not support updating question text - t
  - body: { options: object[], question_id: integer }
- `POST https://api.mcp.ai/api/codereadr/update/service` — Update an existing CodeREADr service configuration. Use this action to modify settings of a service by its ID. Only specified fields will be updated - omitted fields retain their current values. Commo
  - body: { auto_sync?: integer, enableGPS?: integer, service_id: integer, database_id?: string, description?: string, symbologies?: string, postback_url?: string, service_name?: string, upload_email?: string, auto_next_scan?: integer, viewOtherScans?: integer, block_db_search?: integer, duplicate_value?: integer, period_end_date?: string, period_end_time?: string, auto_sync_up_url?: string, block_camera_scan?: integer, block_manual_scan?: integer, direct_lookup_url?: string, period_start_date?: string, period_start_time?: string, auto_sync_down_url?: integer, auto_sync_up_delay?: integer, direct_history_url?: string, regex_scan_pattern?: string, upload_email_format?: string, auto_next_scan_delay?: integer, auto_sync_down_delay?: integer, device_duplicate_value?: integer, postback_receiver_only?: integer, regex_response_pattern?: string, regex_scan_replacement?: string, postback_uploaded_scans?: integer, postback_real_time_scans?: integer, regex_response_replacement?: string }

## Example prompts
- "What can I do in Codereadr?"
- "Show me a summary of my Codereadr account"

## More
- Page: https://mcp.ai/codereadr
- Agent spec (llms.txt): https://mcp.ai/codereadr/llms.txt
- Postman collection: https://mcp.ai/codereadr/postman.json
