# Codereadr — MCP server on 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. By: mcp.ai · official Page: https://mcp.ai/codereadr ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_codereadr?ms=1787293740000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/codereadr/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/codereadr/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/codereadr/skill.md Postman collection (v2.1): https://mcp.ai/codereadr/postman.json ## Tools - codereadr_collect_data_with_questions(questions: object[], service_id: string) — 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 - codereadr_configure_connector(note?: string, include_legacy_probe?: boolean, perform_connectivity_check?: boolean) — 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) - codereadr_create_service(enableGPS?: integer, database_id?: string, description?: string, symbologies?: string, postback_url?: string, service_name?: string, duplicate_value?: integer, validation_method: string) — 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 - codereadr_delete_database(database_id: string) — 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 - codereadr_delete_device(device_id: string) — 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 - codereadr_delete_question(question_id: string) — 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 - codereadr_delete_service(service_id: string) — 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 - codereadr_delete_user(user_id: string) — 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 - codereadr_generate_scan_link(scan_id: string) — 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 - codereadr_list_supported_barcode_types(limit?: integer, only_barcode_types?: boolean) — 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 - codereadr_retrieve_databases(info_level?: string, database_id?: string) — 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. - codereadr_retrieve_devices(device_id?: string) — 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 - codereadr_retrieve_scans(limit?: integer, offset?: integer, status?: string, scan_id?: string, user_id?: string, end_date?: string, device_id?: string, service_id?: string, start_date?: string) — 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, - codereadr_retrieve_services(service_id?: string) — 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 - codereadr_update_question(options: object[], question_id: integer) — 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 - codereadr_update_service(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) — 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 ## Example prompts - "What can I do in Codereadr?" - "Show me a summary of my Codereadr account" ## Links Docs: https://mcp.ai/docs/mcps/codereadr Website: https://mcp.ai/mcps/codereadr