# Starlight for developers > Documentation for developers building on Starlight Global Industries. Today that is the Starlight MCP server, which answers with products and prices without a sign-in and reads a member's own account after they sign in and allow it. - MCP server (Streamable HTTP; products and prices need no sign-in, and signing in with OAuth adds tools about the member's own account): https://mcp.starlightglobal.industries/mcp - How to connect, every tool and the permission it needs: https://developer.starlightglobal.industries/mcp/ - Every price, as markdown: https://mcp.starlightglobal.industries/prices.md - Products and prices, as JSON: https://mcp.starlightglobal.industries/catalog.json - Starlight products and prices for language models: https://mcp.starlightglobal.industries/llms.txt - The Starlight API catalog: https://starlightglobal.industries/.well-known/api-catalog ## Tools without signing in - `list_products`: Every Starlight product: what it does, where it is, and whether it is paid for from Starlight credits. - `get_prices`: The current price list for a Starlight product, or for every product when none is named. Each price is exact, some are fractions of a cent, and the list carries the version every statement line records. - `how_starlight_bills`: How Starlight counts and prices work: small, whole pieces of work, each priced from what it costs, paid from one balance of Starlight credits. - `estimate_recording`: What a Sluice recording of a given length is expected to cost and how long it is expected to take, before you record it. The cost is the same projection Sluice quotes when a recording starts, from the current prices, at a typical number of things in view. The time is a planning range for processing, with the slowest figure measured so far beside it, and the upload time when you give your upload speed. After you sign in, the recording's own cost and timeline say what it actually took. - `upload_recording_link`: A link that opens Sluice's upload page with the project, the words to look for and the transcription choice already filled in, so the person can choose their recordings in their browser and upload them there. Use it when you cannot send the files yourself, for example in a chat: the files never pass through you. Nothing is uploaded or charged until the person opens the link, signs in, chooses the files and starts the upload, and Sluice shows the cost first. Words are the things to look for, such as "cordless drill" or "paint cans". Needs no sign-in. ## Tools after signing in - `estimate_cost` (sign-in only): What Sluice would charge to process a recording, worked out from the current prices before anything is uploaded. Give its length in seconds and, to include receiving and holding the file, its size in bytes. A real recording is charged for the outlines found in it, so give masks_per_frame for a busier or sparser scene than the usual 15. Each prompt finds at most 200 outlines in a frame and a frame can be prompted any number of times, so a busy frame can hold thousands; give prompts to check masks_per_frame against that. The charge is per outline, not per prompt. Needs sign-in. - `get_account` (account:read): Your Starlight credits balance, whether your account is in good standing, and whether new work can start. Needs sign-in with permission to see your balance. - `list_recordings` (sluice:read): Every one of your Sluice recordings, newest activity first, including ones still uploading or not yet charged: its state, how much of it has uploaded, what it has cost so far, and the details that set each apart: its length, resolution, frame rate, codec, bitrate, size and files, and how many frames, outlines and items processing produced. A detail is null where it was not recorded, and older recordings carry only their length and frame rate. Needs sign-in with permission to see your Sluice recordings. - `get_recording` (sluice:read): Where one of your Sluice recordings has got to: its state, how many of its passes have finished and what share of the frames they cover, how far finding, describing and grouping objects have each got, the transcript's word count, the work queued and the latest failures, the items found so far and when each appears, how sure the model was that each thing it looked for was in view at its best frame, and any problems noted. Each pass looks at twice the frames of the one before, so share_of_frames, not the count of passes, is how much of the work is done. Passes are counted from 1. Needs sign-in with permission to see your Sluice recordings. - `get_recording_costs` (sluice:read): What one of your Sluice recordings has cost so far: the total, the total for each stage and each unit, and how much of it is on an invoice and how much is on your balance still to be invoiced, with the recording's details as list_recordings gives them. Every charged_micro is money charged, in millionths of a dollar, and each list sums to the total. Needs sign-in with permission to see your Sluice recordings. - `get_recording_timeline` (sluice:read): Where one of your Sluice recordings spent its time: when each piece of work started and finished, how its time split between the graphics processor, the processor, decoding, waiting for the graphics processor and reading or writing, how much of the job's wall-clock time something was running and how much it waited, the longest waits and what they fell between, the time per stage, and the job's timeline marks. The recording's details (length, resolution, frame rate, codec, bitrate, size, frames examined, items) come with it, so the time can be read against what was processed. Every *_ms is milliseconds. A started_at is the finish less the compute time, so it is an estimate. Needs sign-in with permission to see your Sluice recordings. - `get_recording_pictures` (sluice:read): How many of the items found in one of your Sluice recordings have a picture to show, and why the rest do not: the picture is still on the processing computer, it has not been reported yet, or the item has no picture at all. Also lists which passes over the recording have found items and which have made sharper pictures. Counts only, never the pictures. Needs sign-in with permission to see your Sluice recordings. - `connection_status` (sign-in only): Which Starlight account this connection signs in to, what its owner allowed, and until when. Needs sign-in. - `get_plan` (cadence:read): Your Cadence calendar: the time blocks Cadence has planned for your tasks on the days you ask for, your events on those days, and every task it could not fit or that will finish after its deadline. The plan is worked out from your tasks, hours and settings each time, exactly as the Cadence app does, so it moves as time passes and as tasks change. Needs sign-in with permission to see your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. - `list_tasks` (cadence:read): Your Cadence tasks, soonest planned first: each one's project and stage, how much time is left, its priority and deadline, and when it is next planned or why it could not be. Occurrences of repeating tasks inside the planning horizon are included. Needs sign-in with permission to see your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. - `get_task` (cadence:read): Everything about one Cadence task: its fields and notes, every block it is planned in, and whether it is late or could not be placed and why. Needs sign-in with permission to see your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. - `list_projects` (cadence:read): Your Cadence projects, each with its stages in the order they must happen and the open tasks in each stage in their set order, with the time left in each. In a project with stages, no task starts before the tasks of earlier stages are planned to finish; in a sequential project each task also waits for the one before it. Needs sign-in with permission to see your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. - `list_events` (cadence:read): The fixed events in Cadence (appointments and other busy time no task is planned over) between two days. Needs sign-in with permission to see your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. - `list_repeating_tasks` (cadence:read): Your Cadence repeating tasks: how often each repeats, how long it takes, when each occurrence is due, and its next occurrences and whether they are done. Needs sign-in with permission to see your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. - `get_cadence_settings` (cadence:read): Your Cadence settings (time zone, how far ahead it plans, block size and breaks, reminder lead time) and your schedules, each a named set of weekly working hours that tasks are planned into. Needs sign-in with permission to see your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. - `save_task` (cadence:write): Adds a task to Cadence, or changes one when task_id is given; a change sets only the fields you give, and null clears a field. Cadence then plans it into your working hours; the answer says when, or why it could not. Changing one occurrence of a repeating task changes that occurrence alone. A date is YYYY-MM-DD and a time is YYYY-MM-DDTHH:MM, both in your Cadence time zone, or a full timestamp with its offset. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `update_tasks` (cadence:write): Finds the tasks that match where and makes the same change to each: the fields in set, with null clearing a field. Every condition in where must hold, and at least one besides status is needed. It previews by default: the answer lists what would change, each task's values before and after, and how the plan would move, and nothing is saved until dry_run is false. At most 200 tasks change in one call; a larger match is refused whole. Occurrences of repeating tasks are not matched; change those with save_repeating_task. A task moved to another project or stage goes last there, keeping the order it had. A date is YYYY-MM-DD and a time is YYYY-MM-DDTHH:MM, both in your Cadence time zone, or a full timestamp with its offset. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `complete_task` (cadence:write): Marks a task done, or not done again with done false. For an occurrence of a repeating task (an id ending in a date) only that occurrence is marked. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `move_task` (cadence:write): Moves a task to a project and stage, at a position in that stage's order. Order decides which of otherwise equal tasks is planned first, and in a sequential project which waits for which. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `save_project` (cadence:write): Adds a project, or changes one when project_id is given. stages, when given, is the whole list of stages in the order they must happen: keep a stage by giving its stage_id (to rename or reorder it), add one by leaving stage_id out, and remove one by leaving it out of the list, which takes its tasks out of any stage. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `create_project_plan` (cadence:write): Adds a whole project at once: its stages in order and the tasks in each, in order, the same shape the Cadence app builds when you compose a project from a description. At most 199 tasks. The answer says how much time it takes and when Cadence plans it to finish. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `save_event` (cadence:write): Adds a fixed event (busy time no task is planned over), or changes one when event_id is given. A date is YYYY-MM-DD and a time is YYYY-MM-DDTHH:MM, both in your Cadence time zone, or a full timestamp with its offset. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `save_repeating_task` (cadence:write): Adds a task that repeats, or changes one when repeating_task_id is given. freq is daily, weekly or monthly, every interval days, weeks or months from starting_on. A weekly one repeats on by_day; a monthly one on day_of_month, or on the nth by_day of the month when nth is given (1 to 5, or -1 for the last). Each occurrence is due due_days after its date. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `save_schedule` (cadence:write): Adds a schedule (a named set of weekly working hours tasks are planned into), or changes one when schedule_id is given. windows, when given, replaces every day's hours. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `update_cadence_settings` (cadence:write): Changes your Cadence settings; only the fields you give change. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs. - `delete_cadence_item` (cadence:write): Deletes a task, project, event, repeating task or schedule. Deleting a project keeps its tasks, without a project. A schedule that tasks still use cannot be deleted, nor your last one. To skip one occurrence of a repeating task, mark it done instead. Needs sign-in with permission to change your Cadence tasks, and AI assistant access turned on in Cadence (Account, AI assistants) on a device that syncs. The change reaches your devices the next time each one syncs.