Skip to main content
Glama

StudioSphere Pulse — Audio Intelligence

Server Details

Privacy-first audio intelligence: BPM, key, waveform. Audio never stored. Pay per second.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
notpaulb/studiosphere-pulse-mcp
GitHub Stars
0
Server Listing
studiosphere-pulse-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 8 of 8 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: cost estimation, analysis, status polling, token balance, pack listing, purchase, payment link, and trial. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., estimate_cost, get_job_status, purchase_token_pack). No mixed conventions.

Tool Count5/5

8 tools appropriately cover the core workflow of audio analysis (cost, analyze, poll) and payment management (balance, packs, purchase, link, trial). Not excessive or insufficient.

Completeness4/5

The tool set covers the essential lifecycle: estimate -> analyze -> poll, plus payment options. Minor gaps like history of analyses are missing but not critical for the primary purpose.

Available Tools

8 tools
analyze_trackAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolsYesAnalysis tools to run. Available in v1.0: bpm, key, waveform. Coming soon: structure, chords.
audio_urlYesPublic URL of the audio file.
job_estimate_idYesThe job_estimate_id returned by estimate_cost. Must not be expired (30 min TTL).
attestation_confirmedYesSet 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNoTrue when analysis was accepted.
errorNoMachine-readable error code.
job_idNoPulse analysis job id.
statusNoCurrent job status.
detailsNoAdditional structured context from Pulse.
messageNoHuman-readable recovery guidance.
poll_urlNoRelative status polling URL.
retryableNoWhether the caller may retry after changing state or waiting.
cache_hitsNoTools served from cache.
stream_urlNoRelative SSE status URL.
account_typeNoAccount type used for the request.
upgrade_pathNo
conversion_noteNo
tokens_estimatedNoEstimated token charge.
cost_usd_estimatedNoEstimated USD value.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses beyond annotations: requires API key, estimate, user confirmation, and that results require polling. No contradiction with annotations (readOnlyHint=false, destructiveHint=false).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single paragraph, 4 sentences, no fluff. Front-loaded with main purpose, each sentence contributes essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Completes the picture: prerequisites, workflow, user confirmation, return value, and polling. Output schema exists but description adequately describes the job_id and next step.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds extra context: job_estimate_id TTL, tools availability, attestation_confirmed usage condition. Adds value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Run audio analysis on a public audio URL' – a specific verb and resource. Distinguishes from sibling tools like estimate_cost and get_job_status by outlining the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly requires estimate_cost to be called first, mentions PULSE_API_KEY, and mandates user confirmation for lawful basis. Provides batch confirmation guidance, leaving no ambiguity about prerequisites or usage order.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_costA
Read-onlyIdempotent
Inspect

Get the exact price to analyze an audio file before committing. Always call this first. Returns cost in dollars and a job_estimate_id valid for 30 minutes. Free — never charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolsYesAnalysis tools to price. Available in v1.0: bpm, key, waveform. Coming soon: structure, chords.
audio_urlYesPublicly accessible URL of the audio file (MP3, WAV, FLAC, OGG, Opus).

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
errorNoMachine-readable error code.
tokensNoEstimated Pulse tokens.
detailsNoAdditional structured context from Pulse.
messageNoHuman-readable recovery guidance.
cost_usdNoEstimated analysis cost in USD.
breakdownNoPer-tool token and cost estimate.
retryableNoWhether the caller may retry after changing state or waiting.
expires_atNoISO timestamp when the estimate expires.
content_typeNo
cost_displayNoHuman-readable USD estimate.
job_estimate_idNoEstimate identifier valid for the configured TTL.
normalize_sourceNo
duration_inferredNo
audio_url_originalNo
audio_url_normalizedNo
content_length_bytesNo
duration_estimate_secNoEstimated audio duration in seconds.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint, etc.), the description adds critical details: 'Free — never charged' and that it returns a job_estimate_id valid for 30 minutes. This provides valuable behavioral context not captured in structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with only two sentences that front-load the purpose and include key instructions. Every sentence adds value with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 fully described parameters, output schema exists), the description covers all needed context: what the tool does, when to use it, cost implications, and the validity of the returned estimate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (audio_url and tools) adequately. The description adds no extra meaning beyond the schema definitions, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get the exact price to analyze an audio file before committing.' It uses a specific verb and resource, distinguishing it from siblings like analyze_track which actually performs the analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction 'Always call this first' explicitly tells when to use this tool before committing to analysis. It does not mention alternatives or when not to use, but the context strongly implies it should precede analyze_track.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_job_statusA
Read-onlyIdempotent
Inspect

Check the status and results of an analysis job. Poll after analyze_track returns job_id, or after the user pays via request_payment_link. Returns full results when status=completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job_id returned by analyze_track or request_payment_link.
include_waveform_dataNoOptional. 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_imageNoOptional. 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine-readable error code.
job_idNoPulse analysis job id.
statusNoCurrent or terminal job status.
billingNo
detailsNoAdditional structured context from Pulse.
messageNoHuman-readable recovery guidance.
resultsNoAnalysis results when available.
cost_usdNo
retryableNoWhether the caller may retry after changing state or waiting.
expires_atNo
result_urlNoPublic result page URL.
completed_atNo
waveform_fileNo
payment_sourceNo
tokens_chargedNo
waveform_imageNo
tokens_estimatedNo
waveform_png_urlNo
waveform_svg_urlNo
waveform_markdownNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds behavioral context: it's a polling tool, details default parameter values (include_waveform_data defaults false, include_waveform_image defaults true), and explains the response format for chat agents ('compact waveform summary plus result_url'). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the primary purpose. Every sentence serves a clear function: stating the purpose, specifying when to use, and clarifying parameter defaults. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the three parameters and existence of an output schema, the description covers all necessary aspects: when to poll, what to expect on completion, and default behaviors for optional parameters. It also contextualizes the tool within the workflow (after analyze_track or request_payment_link), making it self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. However, the description adds significant meaning: for job_id, it specifies the source (analyze_track or request_payment_link); for include_waveform_data, it explains the default behavior and chat agent implications; for include_waveform_image, it describes the 'server-rendered SVG as MCP image content.' This goes well beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose: 'Check the status and results of an analysis job.' It specifies when to use (after analyze_track or request_payment_link) and describes the result condition ('Returns full results when status=completed'). This distinguishes it effectively from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: 'Poll after analyze_track returns job_id, or after the user pays via request_payment_link.' This tells the agent exactly when to invoke the tool. The description also clarifies that the return value includes full results on completion, aiding decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_token_balanceA
Read-onlyIdempotent
Inspect

Check the banked token balance for the authenticated Pulse account. Requires PULSE_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine-readable error code.
detailsNoAdditional structured context from Pulse.
messageNoHuman-readable recovery guidance.
retryableNoWhether the caller may retry after changing state or waiting.
account_typeNoPulse account type.
banked_tokensNoCurrent banked-token balance.
api_key_prefixNoRedacted API-key prefix.
trial_expires_atNoTrial expiry timestamp if this is a trial account.
account_created_atNoAccount creation timestamp.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds the authentication requirement (PULSE_API_KEY) and specifies the scope ('authenticated Pulse account'). This provides useful behavioral context without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, providing all essential information with no extraneous words. It is efficiently front-loaded and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema exists (so return values are covered), the description is complete. It explains what the tool does and what is required, meeting all informational needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the input schema is fully covered and the description need not add parameter details. The baseline of 4 applies because no parameter explanation is necessary, and the description focuses on the tool's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Check') and the resource ('banked token balance for the authenticated Pulse account'), making the purpose specific and distinct from sibling tools which focus on listing token packs or purchasing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating the requirement of the PULSE_API_KEY, but it doesn't provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_token_packsA
Read-onlyIdempotent
Inspect

List the available Pulse token packs (tier label, token count, price). Use before purchase_token_pack to show options to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine-readable error code.
packsNoAvailable token-pack tiers.
detailsNoAdditional structured context from Pulse.
enabledNoWhether token-pack purchasing is enabled.
messageNoHuman-readable recovery guidance.
retryableNoWhether the caller may retry after changing state or waiting.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds no further behavioral context beyond listing, which is consistent but not additional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each earning its place: first defines action and output, second gives usage context. Front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, description adequately covers purpose and usage. No missing details for a read-only listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters; schema coverage is 100% (empty). Description adds no parameter info, but baseline for 0 params is 4, and it correctly implies no inputs needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it lists available Pulse token packs with details (tier label, token count, price). Distinguished from sibling purchase_token_pack by explicitly mentioning 'use before purchase_token_pack'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs 'Use before purchase_token_pack to show options to the user,' providing clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

purchase_token_packAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
packYesToken pack tier

Output Schema

ParametersJSON Schema
NameRequiredDescription
packNoToken-pack tier label.
errorNoMachine-readable error code.
tokensNoTokens included in the pack.
detailsNoAdditional structured context from Pulse.
messageNoHuman-readable recovery guidance.
currencyNoCheckout currency.
retryableNoWhether the caller may retry after changing state or waiting.
amount_usdNoPack price in USD.
expires_atNoISO timestamp when the Checkout link expires.
payment_urlNoStripe Checkout URL to present to the user.
purchase_idNoPulse token-pack purchase id.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses key behavioral traits: the session is user-interaction-dependent, tokens are credited automatically after payment, and requires PULSE_API_KEY. Annotations indicate mutability and non-destructiveness, which are consistent. Could mention session expiration or error handling, but overall good.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with the main action, followed by critical usage instructions and post-payment behavior. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the core flow, user action requirement, and automatic crediting. The output schema handles return values. Could include details on session timeouts or error scenarios, but sufficient for a payment tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum values are already documented. The description adds minimal new meaning beyond 'token pack tier', keeping it at the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a Stripe Checkout session for a Pulse token pack, with a specific verb and resource. It distinguishes from siblings like list_token_packs and get_token_balance by focusing on the purchasing action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit instructions: not to submit the payment URL programmatically but to surface it to the user, and mentions automatic crediting after payment. However, it does not explicitly state when not to use this tool versus alternatives like request_payment_link.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_trialAInspect

Start a temporary, email-free Pulse trial. Returns a short-lived private API key with enough banked tokens for one short URL-based v1 analysis. No Stripe Checkout session is created. Store the key in the client or a trusted local environment; do not repost it in public logs, screenshots, GitHub issues, shared chats, or directory examples.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine-readable error code.
api_keyNoTemporary 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.
detailsNoAdditional structured context from Pulse.
messageNoHuman-readable recovery guidance.
retryableNoWhether the caller may retry after changing state or waiting.
expires_atNoISO timestamp when the temporary key expires.
usage_noteNoLimits and usage guidance for the trial.
account_typeNoThe account type created by this tool.
analyze_pathNoREST path for authenticated analysis.
upgrade_pathNoPath for converting to an account.
banked_tokensNoTrial token balance granted.
estimate_pathNoREST path for free estimates.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint=false and other annotations, the description discloses that the API key is short-lived, limited to one URL-based v1 analysis, and should not be exposed. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: action, return value and scope, security advice. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple no-param tool with an output schema, the description covers everything needed: purpose, output details, and caveats. Complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, schema coverage is 100%, so the description does not need to add param information. Baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool starts a temporary, email-free Pulse trial and returns a short-lived API key. It distinguishes from sibling tools like purchase_token_pack or request_payment_link by specifying that no Stripe session is created and it's for free trial use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on storing the key securely and warns against public exposure. It implicitly suggests use for free trials, but does not explicitly contrast with sibling tools like purchase_token_pack for paid purchases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.