StudioSphere Pulse — Audio Intelligence
Free licensed loops and authorized audio analysis: BPM, key, waveform. Estimate before paid use.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin start_trial
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"pulse": {
"url": "https://mcp.studiosphere.space/mcp"
}
}
}Remote endpoints
https://mcp.studiosphere.space/mcpstreamable-httpWhat it can do
Tool inventory
Tools (10)
🟢start_trial
Start a temporary, email-free Pulse trial for one URL analysis. Read trial_policy and trial_allowance for the actual duration cap and remaining attempts; an existing trial key may have a lower cap. One completed/partial analysis consumes the allowance regardless of remaining tokens. A failed analysis may retry only when attempts remain. No Stripe Checkout session is created. Store the returned private API key in the client or a trusted local environment; never repost it in logs, screenshots, shared chats or issues. Confirm rights, permission, lawful access, or another legal basis before analysis. The original CC0 demo is https://pulse.studiosphere.space/assets/pulse-demo.mp3 (180 seconds); use it only if it fits the returned cap.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}Output Schema
{
"type": "object",
"properties": {
"trial_policy": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"tokens": {
"type": "integer"
},
"max_duration_sec": {
"type": "integer"
},
"max_queued_attempts": {
"type": "integer"
},
"expires_in_hours": {
"type": "integer"
}
},
"required": [
"enabled",
"tokens",
"max_duration_sec",
"max_queued_attempts",
"expires_in_hours"
]
},
"trial_allowance": {
"type": "object",
"additionalProperties": false,
"properties": {
"state": {
"type": "string",
"enum": [
"available",
"in_progress",
"used",
"exhausted"
]
},
"analyses_remaining": {
"type": "integer"
},
"attempts_remaining": {
"type": "integer"
},
"max_duration_sec": {
"type": "integer"
}
},
"required": [
"state",
"analyses_remaining",
"attempts_remaining",
"max_duration_sec"
]
},
"api_key": {
"type": "string",
"description": "Temporary Pulse API key for the trial account. Treat as private; do not print it in public logs, screenshots, GitHub issues, shared chats, or directory examples."
},
"account_type": {
"type": "string",
"enum": [
"trial"
],
"description": "The account type created by this tool."
},
"banked_tokens": {
"type": "number",
"description": "Trial token balance granted."
},
"expires_at": {
"type": "string",
"description": "ISO timestamp when the temporary key expires."
},
"usage_note": {
"type": "string",
"description": "Limits and usage guidance for the trial."
},
"analyze_path": {
"type": "string",
"description": "REST path for authenticated analysis."
},
"estimate_path": {
"type": "string",
"description": "REST path for free estimates."
},
"upgrade_path": {
"type": "string",
"description": "Path for converting to an account."
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"api_key",
"account_type",
"banked_tokens",
"expires_at",
"usage_note",
"trial_policy",
"trial_allowance"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟢estimate_cost(audio_url, tools)
Estimate audio analysis cost anonymously and free before committing. Read analysis_options for eligible anonymous one-off Checkout, trial duration fit and key-based banked-token use; these do not verify balance or trial entitlement. Eligible quotes can include checkout.upfront_payment_estimate from the current charge builder; this is not a reserved price or a saved-link charge. Review the hosted amount before payment. Returns estimated dollars, job_estimate_id and expires_at. Review the estimate before spending; final cost depends on measured duration and completed analysis, and Checkout can collect a buffered amount with refund thresholds. If processing or payment returns estimate_pricing_changed, get a fresh free estimate, present the new price, and wait for explicit user approval before processing or payment. Never silently retry analysis or purchase.
Input Schema
{
"type": "object",
"properties": {
"audio_url": {
"type": "string",
"description": "Publicly accessible URL of the audio file (MP3, WAV, FLAC, OGG, Opus)."
},
"tools": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bpm",
"key",
"waveform"
]
},
"description": "Analysis tools to price. Available in v1.0: bpm, key, waveform. Coming soon: structure, chords."
}
},
"required": [
"audio_url",
"tools"
]
}Output Schema
{
"type": "object",
"properties": {
"cost_usd": {
"type": "number",
"description": "Estimated analysis cost in USD."
},
"cost_display": {
"type": "string",
"description": "Human-readable USD estimate."
},
"tokens": {
"type": "number",
"description": "Estimated Pulse tokens."
},
"breakdown": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"tokens": {
"type": "number"
},
"cost_usd": {
"type": "number"
}
},
"required": [
"tokens",
"cost_usd"
],
"additionalProperties": true
},
"description": "Per-tool token and cost estimate."
},
"duration_estimate_sec": {
"type": "number",
"description": "Estimated audio duration in seconds."
},
"analysis_options": {
"type": "object",
"description": "Advisory continuation choices for this estimate, not a reserved charge, verified balance, trial grant or host certification.",
"properties": {
"advisory": {
"type": "boolean",
"const": true
},
"guidance": {
"type": "string"
},
"result_delivery": {
"type": "object",
"additionalProperties": false,
"properties": {
"tool": {
"type": "string",
"const": "get_job_status"
},
"studio_notes_field": {
"type": "string",
"const": "studio_notes"
},
"when": {
"type": "string",
"const": "completed_or_partial_with_usable_results"
},
"guidance": {
"type": "string"
}
},
"required": [
"tool",
"studio_notes_field",
"when",
"guidance"
]
},
"checkout": {
"type": "object",
"properties": {
"eligible": {
"type": "boolean"
},
"reason": {
"type": "string",
"enum": [
"eligible",
"below_minimum_charge"
]
},
"minimum_usd": {
"type": "number"
},
"tool": {
"type": "string",
"const": "request_payment_link"
},
"requires_api_key": {
"type": "boolean",
"const": false
},
"human_payment_required": {
"type": "boolean",
"const": true
},
"billing_terms_url": {
"type": "string"
},
"minimum_charge_offer": {
"type": "object",
"description": "Optional below-admission Checkout choice. Explicitly approve its minimum final cost and upfront estimate; send both acceptance and an approved spending ceiling. It is not a reserved price.",
"properties": {
"eligible": {
"type": "boolean",
"const": true
},
"requires_explicit_acceptance": {
"type": "boolean",
"const": true
},
"minimum_final_cost_usd": {
"type": "number",
"minimum": 0
},
"upfront_payment_estimate": {
"type": "object",
"properties": {
"amount_cents": {
"type": "integer",
"minimum": 1
},
"display": {
"type": "string"
},
"currency": {
"type": "string",
"const": "USD"
},
"reserved": {
"type": "boolean",
"const": false
}
},
"required": [
"amount_cents",
"display",
"currency",
"reserved"
]
},
"acceptance_parameter": {
"type": "string",
"const": "accept_minimum_charge"
},
"spending_limit_parameter": {
"type": "string",
"const": "max_upfront_amount_cents"
}
},
"required": [
"eligible",
"requires_explicit_acceptance",
"minimum_final_cost_usd",
"upfront_payment_estimate",
"acceptance_parameter",
"spending_limit_parameter"
]
},
"upfront_payment_estimate": {
"type": "object",
"description": "Advisory current-builder upfront Checkout amount, not a reserved price or a saved-link charge. Review the hosted amount before payment.",
"properties": {
"amount_cents": {
"type": "integer",
"minimum": 0
},
"display": {
"type": "string"
},
"currency": {
"type": "string",
"const": "USD"
},
"reserved": {
"type": "boolean",
"const": false
}
},
"required": [
"amount_cents",
"display",
"currency",
"reserved"
]
},
"guidance": {
"type": "string"
}
},
"required": [
"eligible",
"reason",
"minimum_usd",
"tool",
"requires_api_key",
"human_payment_required",
"billing_terms_url",
"guidance"
]
},
"trial": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"duration_within_public_policy": {
"type": "boolean"
},
"max_duration_sec": {
"type": "number"
},
"allowance_verified": {
"type": "boolean",
"const": false
},
"credential_creation_requires_approval": {
"type": "boolean",
"const": true
},
"requires_reconnection": {
"type": "boolean",
"const": true
},
"allowance_tool": {
"type": "string"
},
"analysis_tool": {
"type": "string"
},
"guidance": {
"type": "string"
}
},
"required": [
"enabled",
"duration_within_public_policy",
"max_duration_sec",
"allowance_verified",
"credential_creation_requires_approval",
"requires_reconnection",
"allowance_tool",
"analysis_tool",
"guidance"
]
},
"banked_tokens": {
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "analyze_track"
},
"requires_api_key": {
"type": "boolean",
"const": true
},
"balance_verified": {
"type": "boolean",
"const": false
},
"estimated_tokens": {
"type": "integer"
},
"balance_tool": {
"type": "string"
},
"packs_tool": {
"type": "string"
},
"token_shop_url": {
"type": "string"
},
"guidance": {
"type": "string"
}
},
"required": [
"tool",
"requires_api_key",
"balance_verified",
"estimated_tokens",
"balance_tool",
"packs_tool",
"token_shop_url",
"guidance"
]
}
},
"required": [
"advisory",
"guidance",
"checkout",
"trial",
"banked_tokens"
]
},
"duration_source": {
"type": "string",
"enum": [
"worker_cache",
"wav_header",
"mp3_header",
"mp3_bitrate",
"byte_rate",
"placeholder"
],
"description": "Duration provenance: prior worker measurement, declared WAV or MP3 frame metadata, MP3 bitrate inferred from a bounded prefix, assumed format byte rate, or placeholder. Prefix bitrate cannot establish that the whole file is constant bitrate. All quotes remain estimates; processing measures actual audio."
},
"job_estimate_id": {
"type": "string",
"description": "Estimate identifier valid for the configured TTL."
},
"expires_at": {
"type": "string",
"description": "ISO timestamp when the estimate expires."
},
"content_type": {
"type": "string"
},
"content_length_bytes": {
"type": "number"
},
"duration_inferred": {
"type": "boolean"
},
"audio_url_normalized": {
"type": "string"
},
"audio_url_original": {
"type": "string"
},
"normalize_source": {
"type": "string"
},
"note": {
"type": "string"
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"cost_usd",
"cost_display",
"tokens",
"breakdown",
"duration_estimate_sec",
"job_estimate_id",
"expires_at"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟡analyze_track(audio_url, tools, job_estimate_id, attestation_confirmed)
Run audio analysis on a public audio URL. Requires estimate_cost to be called first (job_estimate_id). Requires PULSE_API_KEY. Before calling, you MUST confirm with the user that they have a lawful basis to submit this audio for analysis. For a user-requested folder, project, playlist, or batch, one confirmation can cover every track in that scope. Returns job_id — poll get_job_status for results. If processing or payment returns estimate_pricing_changed, get a fresh free estimate with estimate_cost, present the new price, and wait for explicit user approval before processing or payment. Never silently retry analysis or purchase.
Input Schema
{
"type": "object",
"properties": {
"audio_url": {
"type": "string",
"description": "Public URL of the audio file."
},
"tools": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bpm",
"key",
"waveform"
]
},
"description": "Analysis tools to run. Available in v1.0: bpm, key, waveform. Coming soon: structure, chords."
},
"job_estimate_id": {
"type": "string",
"description": "The job_estimate_id returned by estimate_cost. Must not have passed the returned expires_at timestamp."
},
"attestation_confirmed": {
"type": "boolean",
"description": "Set to true ONLY after the user has confirmed they have rights, permission, lawful access, or another legal basis to submit this audio, or the current user-requested batch/folder/project containing it, for analysis."
}
},
"required": [
"audio_url",
"tools",
"job_estimate_id",
"attestation_confirmed"
]
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when analysis was accepted."
},
"job_id": {
"type": "string",
"description": "Pulse analysis job id."
},
"status": {
"type": "string",
"description": "Current job status."
},
"cache_hits": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tools served from cache."
},
"tokens_estimated": {
"type": "number",
"description": "Estimated token charge."
},
"cost_usd_estimated": {
"type": "number",
"description": "Estimated USD value."
},
"poll_url": {
"type": "string",
"description": "Relative status polling URL."
},
"stream_url": {
"type": "string",
"description": "Relative SSE status URL."
},
"account_type": {
"type": "string",
"description": "Account type used for the request."
},
"upgrade_path": {
"type": "string"
},
"conversion_note": {
"type": "string"
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"ok",
"job_id",
"status",
"cache_hits",
"tokens_estimated",
"cost_usd_estimated",
"poll_url",
"stream_url"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟡request_payment_link(job_estimate_id, accept_minimum_charge, max_upfront_amount_cents, attestation_confirmed)
Create anonymous one-off Stripe Checkout; no Pulse account or API key required. First read estimate_cost.analysis_options.checkout for admission minimum and billing guidance. Obtain explicit human approval to create the link and confirm a lawful basis for the audio; one rights confirmation can cover a requested batch/folder/project. Save job_id, payment_url and continuation.review_url privately; a lost Checkout link requires support, not a replacement purchase. Present payment_url and the upfront charged_display when returned for human review/payment. A reused link may omit charge fields; review its hosted amount rather than treating cost_display as the charge. Analysis begins automatically after payment; poll get_job_status with job_id. If estimate_pricing_changed is returned, get a fresh free estimate and new explicit approval. Never silently retry analysis or purchase. Below-admission quotes may offer minimum_charge_offer: show its upfront estimate and minimum final cost, then obtain explicit acceptance before passing accept_minimum_charge:true and max_upfront_amount_cents equal to the approved upfront ceiling. Never infer consent from rights confirmation. An exceeded cap needs fresh human review, not an automatic retry. If an existing Claude connector is missing accept_minimum_charge (boolean) or max_upfront_amount_cents (integer), refresh its tools list and start a fresh conversation using that same connector, preserving its URL/key/approval permissions and the original saved job/payment link. Stop if fields remain missing; never create a replacement purchase or new key for recovery. Two scoped existing-connector Claude Checkout workflows, including minimum-charge acceptance, were validated; anonymous initialization, OAuth, trial/banked workflows, other hosts and live cap rejection are not certified.
Input Schema
{
"type": "object",
"properties": {
"job_estimate_id": {
"type": "string",
"description": "The job_estimate_id returned by estimate_cost."
},
"accept_minimum_charge": {
"type": "boolean",
"description": "Optional. Set true only after explicit human acceptance of minimum_charge_offer.minimum_final_cost_usd and its estimated upfront payment. Rights confirmation alone is not spending approval."
},
"max_upfront_amount_cents": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Optional approved upfront USD ceiling in whole cents; required for minimum-charge acceptance. The gateway rejects a higher charge before creating a purchase. Do not raise it without renewed human approval."
},
"attestation_confirmed": {
"type": "boolean",
"description": "Set to true ONLY after the user has confirmed they have rights, permission, lawful access, or another legal basis to submit this audio, or the current user-requested batch/folder/project containing it, for analysis."
}
},
"required": [
"job_estimate_id",
"attestation_confirmed"
]
}Output Schema
{
"type": "object",
"properties": {
"continuation": {
"type": "object",
"additionalProperties": false,
"description": "Advisory saved-job recovery. URLs contain a private job reference. No provider read or settlement verification is performed.",
"properties": {
"action": {
"type": "string",
"enum": [
"complete_checkout",
"wait",
"review_results",
"contact_support",
"check_saved_job"
]
},
"tool": {
"type": "string",
"const": "get_job_status"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"properties": {
"job_id": {
"type": "string"
}
},
"required": [
"job_id"
]
},
"status_url": {
"type": "string"
},
"review_url": {
"type": "string"
},
"receipt_api_url": {
"type": "string"
},
"missing_payment_url_action": {
"type": "string",
"const": "contact_support"
},
"poll_after_seconds": {
"type": "integer",
"minimum": 1
},
"max_poll_attempts": {
"type": "integer",
"minimum": 1
},
"automatic_resubmission_allowed": {
"type": "boolean",
"const": false
},
"financial_status_verified": {
"type": "boolean",
"const": false
},
"support_email": {
"type": "string"
},
"guidance": {
"type": "string"
}
},
"required": [
"action",
"tool",
"arguments",
"status_url",
"review_url",
"automatic_resubmission_allowed",
"financial_status_verified",
"support_email",
"guidance"
]
},
"payment_url": {
"type": "string",
"description": "Stripe Checkout URL to present to the user."
},
"job_id": {
"type": "string",
"description": "Pulse job id for polling after payment."
},
"cost_display": {
"type": "string",
"description": "Human-readable estimated cost."
},
"charged_display": {
"type": "string",
"description": "Human-readable upfront Checkout charge."
},
"amount_charged_cents": {
"type": "number",
"description": "Stripe Checkout charge in cents."
},
"amount_estimate_cents": {
"type": "number",
"description": "Estimated usage value in cents."
},
"expires_at": {
"type": "string",
"description": "ISO timestamp when the Checkout link expires."
},
"deduped": {
"type": "boolean",
"description": "True when an existing active Checkout link was reused."
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"payment_url",
"job_id",
"cost_display",
"charged_display",
"amount_charged_cents",
"amount_estimate_cents",
"expires_at"
]
},
{
"required": [
"error",
"message"
]
},
{
"required": [
"payment_url",
"job_id",
"cost_display",
"expires_at",
"deduped"
],
"properties": {
"deduped": {
"const": true
}
}
}
]
}🟢get_job_status(job_id, include_waveform_data, include_waveform_image)
Resume a saved analysis job anonymously, including after interrupted Checkout or reconnection. Read continuation for human payment, bounded polling, result review or support. Preserve job_id; never create a replacement purchase to resume it. Checkout refund_status_source=local_ledger reflects durable Pulse reconciliation at refund_checked_at, not a fresh provider query; unconfirmed or needs_review must not be treated as a completed refund. Analysis cost is distinct from net payment. Completed/partial status and cost fields do not prove payment or refund settlement. Terminal Checkout result pages show billing separately; during recovery use the optional receipt API on demand; receipt_api_url is a separate on-demand read, not another MCP tool. Returns available results and provenance. Usable completed/partial results can include studio_notes: ready-to-save project notes with review warnings and failed tools. Notes are analysis snapshots, not payment/refund receipts; keep private job references and preserve review context.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The job_id returned by analyze_track or request_payment_link."
},
"include_waveform_data": {
"type": "boolean",
"description": "Optional. Defaults to false so chat agents receive a compact waveform summary plus result_url. Set true only if raw waveform samples are needed."
},
"include_waveform_image": {
"type": "boolean",
"description": "Optional. Defaults to true. When the job has waveform data, include a server-rendered SVG as MCP image content so the client can display it without fetching a URL."
}
},
"required": [
"job_id"
]
}Output Schema
{
"type": "object",
"properties": {
"studio_notes": {
"type": "string",
"description": "Optional plain-text project notes for completed/partial usable results. Preserve review warnings, provenance and failed tools. Contains no audio/source URL or payment/refund receipt fields; job references are private."
},
"continuation": {
"type": "object",
"additionalProperties": false,
"description": "Advisory saved-job recovery. URLs contain a private job reference. No provider read or settlement verification is performed.",
"properties": {
"action": {
"type": "string",
"enum": [
"complete_checkout",
"wait",
"review_results",
"contact_support",
"check_saved_job"
]
},
"tool": {
"type": "string",
"const": "get_job_status"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"properties": {
"job_id": {
"type": "string"
}
},
"required": [
"job_id"
]
},
"status_url": {
"type": "string"
},
"review_url": {
"type": "string"
},
"receipt_api_url": {
"type": "string"
},
"missing_payment_url_action": {
"type": "string",
"const": "contact_support"
},
"poll_after_seconds": {
"type": "integer",
"minimum": 1
},
"max_poll_attempts": {
"type": "integer",
"minimum": 1
},
"automatic_resubmission_allowed": {
"type": "boolean",
"const": false
},
"financial_status_verified": {
"type": "boolean",
"const": false
},
"support_email": {
"type": "string"
},
"guidance": {
"type": "string"
}
},
"required": [
"action",
"tool",
"arguments",
"status_url",
"review_url",
"automatic_resubmission_allowed",
"financial_status_verified",
"support_email",
"guidance"
]
},
"job_id": {
"type": "string",
"description": "Pulse analysis job id."
},
"status": {
"type": "string",
"description": "Current or terminal job status."
},
"result_url": {
"type": "string",
"description": "Public result page URL."
},
"results": {
"type": "object",
"additionalProperties": true,
"description": "Analysis results when available."
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "Analysis metadata, including asset type, source hints, library metadata, and confidence policy when available."
},
"result_provenance": {
"type": "object",
"additionalProperties": true,
"description": "Per-tool provenance and applicability summary for interpreting detected, audio_candidate (manual review required), filename-sourced, suppressed, or low-confidence results."
},
"result_quality_notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Human-readable quality notes for suppressed, low-confidence, filename-sourced, or review-needed results."
},
"tokens_estimated": {
"type": "number"
},
"tokens_charged": {
"type": "number"
},
"cost_usd": {
"type": "number"
},
"expires_at": {
"type": "string"
},
"completed_at": {
"type": "string"
},
"payment_source": {
"type": "string"
},
"billing": {
"type": "object",
"additionalProperties": true
},
"waveform_svg_url": {
"type": "string"
},
"waveform_png_url": {
"type": "string"
},
"waveform_markdown": {
"type": "string"
},
"waveform_image": {
"type": "object",
"additionalProperties": true
},
"waveform_file": {
"type": "object",
"additionalProperties": true
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"job_id",
"status"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟢get_token_balance
Check the banked token balance for the authenticated Pulse account. Requires PULSE_API_KEY.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}Output Schema
{
"type": "object",
"properties": {
"trial_policy": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"tokens": {
"type": "integer"
},
"max_duration_sec": {
"type": "integer"
},
"max_queued_attempts": {
"type": "integer"
},
"expires_in_hours": {
"type": "integer"
}
},
"required": [
"enabled",
"tokens",
"max_duration_sec",
"max_queued_attempts",
"expires_in_hours"
]
},
"trial_allowance": {
"type": "object",
"additionalProperties": false,
"properties": {
"state": {
"type": "string",
"enum": [
"available",
"in_progress",
"used",
"exhausted"
]
},
"analyses_remaining": {
"type": "integer"
},
"attempts_remaining": {
"type": "integer"
},
"max_duration_sec": {
"type": "integer"
}
},
"required": [
"state",
"analyses_remaining",
"attempts_remaining",
"max_duration_sec"
]
},
"banked_tokens": {
"type": "number",
"description": "Current banked-token balance."
},
"api_key_prefix": {
"type": "string",
"description": "Redacted API-key prefix."
},
"account_type": {
"type": "string",
"description": "Pulse account type."
},
"trial_expires_at": {
"type": [
"string",
"null"
],
"description": "Trial expiry timestamp if this is a trial account."
},
"account_created_at": {
"type": "string",
"description": "Account creation timestamp."
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"banked_tokens",
"api_key_prefix",
"account_type",
"trial_expires_at",
"account_created_at"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟢list_token_packs
List the available Pulse token packs (tier label, token count, price). Use before purchase_token_pack to show options to the user.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}Output Schema
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether token-pack purchasing is enabled."
},
"packs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pack": {
"type": "string"
},
"tokens": {
"type": "number"
},
"amount_cents": {
"type": "number"
},
"amount_usd": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"additionalProperties": true
},
"description": "Available token-pack tiers."
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"enabled",
"packs"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟡purchase_token_pack(pack)
Create a Stripe Checkout session for a Pulse token pack. Returns payment_url — DO NOT submit it programmatically; surface it to the user so they can complete payment in their browser. Once paid, banked tokens are credited automatically. Requires PULSE_API_KEY.
Input Schema
{
"type": "object",
"properties": {
"pack": {
"type": "string",
"enum": [
"1K",
"10K",
"50K",
"200K"
],
"description": "Token pack tier"
}
},
"required": [
"pack"
]
}Output Schema
{
"type": "object",
"properties": {
"purchase_id": {
"type": "string",
"description": "Pulse token-pack purchase id."
},
"pack": {
"type": "string",
"description": "Token-pack tier label."
},
"tokens": {
"type": "number",
"description": "Tokens included in the pack."
},
"amount_usd": {
"type": "number",
"description": "Pack price in USD."
},
"currency": {
"type": "string",
"description": "Checkout currency."
},
"payment_url": {
"type": "string",
"description": "Stripe Checkout URL to present to the user."
},
"expires_at": {
"type": "string",
"description": "ISO timestamp when the Checkout link expires."
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"purchase_id",
"pack",
"tokens",
"amount_usd",
"currency",
"payment_url",
"expires_at"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟢search_open_loops(q, bpm_min, bpm_max, key, pack, ...)
Find released original synthesis kits and individually auditioned source samples by keyword, pack, BPM, key and licence. Automated checks are not listening review. Free; no account or tokens required. Source tags are creator hints. Preserve attribution when required and follow each sample’s licence.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"description": "Search sample titles, pack names and source tags."
},
"bpm_min": {
"type": "number",
"minimum": 1,
"maximum": 400
},
"bpm_max": {
"type": "number",
"minimum": 1,
"maximum": 400
},
"key": {
"type": "string",
"maxLength": 64
},
"pack": {
"type": "string",
"maxLength": 200
},
"license": {
"type": "string",
"enum": [
"CC0-1.0",
"CC-BY-3.0"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"offset": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"total",
"offset",
"limit",
"items"
]
},
{
"required": [
"error",
"message"
]
}
]
}🟢get_open_loop(pol_id)
Get a released sample’s metadata, exact licence, attribution, preview and WAV download URLs. Free; no account or tokens required. Keep attribution when using the sample in a song.
Input Schema
{
"type": "object",
"properties": {
"pol_id": {
"type": "string",
"maxLength": 100,
"pattern": "^pol-[a-z0-9][a-z0-9.-]*$"
}
},
"required": [
"pol_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"review_basis": {
"type": "string",
"enum": [
"original_synthesis",
"individually_auditioned"
]
},
"pack": {
"type": [
"string",
"null"
],
"maxLength": 200
},
"pol_id": {
"type": "string"
},
"title": {
"type": "string"
},
"license": {
"type": "string"
},
"license_url": {
"type": "string"
},
"attribution": {
"type": "string"
},
"download_url": {
"type": "string"
},
"error": {
"type": "string",
"description": "Machine-readable error code."
},
"message": {
"type": "string",
"description": "Human-readable recovery guidance."
},
"retryable": {
"type": "boolean",
"description": "Whether the caller may retry after changing state or waiting."
},
"details": {
"type": "object",
"additionalProperties": true,
"description": "Additional structured context from Pulse."
}
},
"required": [],
"additionalProperties": true,
"anyOf": [
{
"required": [
"pol_id",
"license",
"license_url",
"attribution",
"download_url"
]
},
{
"required": [
"error",
"message"
]
}
]
}Community
Evidence