Skip to main content
Glama

Soundiiz MCP

An MCP server for Soundiiz. Lets your AI assistant inspect your sync jobs and SmartLinks across streaming services, trigger syncs, and clean up stale links.

Built for Claude Desktop, OpenCode, and any other Model Context Protocol client.

Your API key stays on your machine. Curated tools on top of the Soundiiz User API so agents don't have to paginate through raw endpoints.

This project is unofficial and is not affiliated with Soundiiz.

Status

v0.1.0 — early. The Soundiiz User API is itself in BETA, so the surface this server wraps may shift. The 25-test mock suite exercises every curated tool, but the maintainer hasn't run it against a real Creator-plan account in the wild — if you're an early adopter, please try npm run smoke:live and file an issue if anything breaks.

Related MCP server: spotify-mcp-server

What You Can Ask

  • Show me all my Soundiiz syncs and which ones are due to run next.

  • Summarize sync status: how many succeeded, how many failed, which platforms are involved.

  • Which syncs failed recently, and why?

  • Trigger sync #42 to run now.

  • List all my published SmartLinks and their shortcodes.

  • Show details for SmartLink "abc123": fallback URL, per-platform links, status.

  • Delete this stale draft SmartLink.

Writes and confirmations

The Soundiiz API exposes three write operations:

  • Trigger sync — non-destructive. The sync was already configured by you and runs on a schedule; triggering early just runs it now. Executes in one call.

  • Delete sync and Delete SmartLink — destructive. Two-step confirm flow:

    1. The first call returns a confirmId and a recap of what would happen.

    2. Re-call the same tool with the same args plus that confirmId to execute. The token is single-use and bound to the tool name + arg hash.

Knobs:

  • writes.confirmDestructive = false — skip the confirm step on deletes (one-call writes).

  • writes.allow = false (or SOUNDIIZ_MCP_ALLOW_WRITES=false) — disable writes entirely.

  • syncs.allowlist / smartlinks.allowlist — restrict writes to specific IDs.

Auth and storage

Your API key is read from SOUNDIIZ_API_KEY, a local file, or the OS keychain (via keytar). It never leaves your machine except in Authorization: Bearer headers to api.soundiiz.com.

Logs go to stderr so stdout stays reserved for MCP protocol messages. Live smoke checks and LLM evals are opt-in and read gitignored fixture files.

Quick Start

Requirements:

  • Node.js 22 or newer.

  • A Soundiiz account on the Creator plan. The Soundiiz User API is currently in BETA and gated to Creator subscribers.

  • An MCP client such as Claude Desktop, OpenCode, or another MCP-compatible host.

Generate your personal API key at soundiiz.com/webapp/settings/api.

Install from source:

git clone https://github.com/BASIC-BIT/soundiiz-mcp.git
cd soundiiz-mcp
npm install
npm run build

MCP Client Config

Use the built server for day-to-day use. Replace the path with your local checkout.

{
  "mcpServers": {
    "soundiiz": {
      "command": "node",
      "args": ["<ABS_PATH_TO_REPO>/dist/bin/cli.js"],
      "env": {
        "SOUNDIIZ_API_KEY": "<YOUR_KEY>",
        "SOUNDIIZ_MCP_USER_AGENT": "your-name (email@example.com)"
      }
    }
  }
}

For active development, point at the TypeScript entrypoint instead:

{
  "mcpServers": {
    "soundiiz-dev": {
      "command": "npx",
      "args": ["tsx", "<ABS_PATH_TO_REPO>/src/index.ts"],
      "env": {
        "SOUNDIIZ_API_KEY": "<YOUR_KEY>",
        "SOUNDIIZ_MCP_USER_AGENT": "your-name (email@example.com)"
      }
    }
  }
}

Configuration

Defaults live in src/config/defaults.json. To override them, create a JSON config file and point to it with SOUNDIIZ_MCP_CONFIG_FILE.

Example soundiiz-mcp.config.json:

{
  "api": {
    "baseUrl": "https://api.soundiiz.com",
    "userAgent": "your-name (email@example.com)"
  },
  "auth": { "keyStore": "env" },
  "writes": { "allow": false, "confirmDestructive": true, "confirmTtlMs": 120000 },
  "syncs": { "allowlist": [] },
  "smartlinks": { "allowlist": [] },
  "rateLimit": { "perMinute": 60 },
  "cache": { "enabled": true }
}

Environment variables override the config file when set.

Common environment variables:

  • SOUNDIIZ_MCP_CONFIG_FILE: path to a JSON config file.

  • SOUNDIIZ_API_KEY: your personal Soundiiz User API key (Bearer token).

  • SOUNDIIZ_MCP_USER_AGENT: descriptive user agent. Include contact info when possible.

  • SOUNDIIZ_MCP_API_BASE: override the API base URL. Defaults to https://api.soundiiz.com.

  • SOUNDIIZ_MCP_LOG_LEVEL: debug, info, warn, or error.

  • SOUNDIIZ_MCP_KEY_STORE: env, file, or keychain.

  • SOUNDIIZ_MCP_KEY_FILE: file path when SOUNDIIZ_MCP_KEY_STORE=file.

  • SOUNDIIZ_MCP_ALLOW_WRITES: enable non-GET operations.

  • SOUNDIIZ_MCP_CONFIRM_DESTRUCTIVE: require a confirmation token for DELETE / trigger.

  • SOUNDIIZ_MCP_SYNC_ALLOWLIST: comma-separated list of sync IDs permitted for write actions.

  • SOUNDIIZ_MCP_SMARTLINK_ALLOWLIST: comma-separated list of smartlink IDs permitted for write actions.

  • SOUNDIIZ_MCP_ENABLE_RAW_CALL: enable the raw soundiiz_call tool. Disabled by default.

  • SOUNDIIZ_MCP_DISABLE_GENERATED_READ_TOOLS: disable auto-generated read tools.

  • SOUNDIIZ_MCP_DISABLE_GENERATED_WRITE_TOOLS: disable auto-generated write tools.

Tool Surface

Soundiiz MCP exposes three layers (mirroring the vrchat-mcp pattern):

  • Curated tools for common agent workflows: soundiiz_me, soundiiz_syncs_list, soundiiz_syncs_overview, soundiiz_syncs_due, soundiiz_sync_get, soundiiz_smartlinks_list, soundiiz_smartlinks_overview, soundiiz_smartlink_get, soundiiz_sync_trigger, soundiiz_sync_delete, soundiiz_smartlink_delete.

  • Auto-generated read tools named soundiiz_read_<operationId> for GET operations from the Soundiiz OpenAPI spec.

  • Auto-generated write tools named soundiiz_write_<operationId> for non-GET operations.

Local-only tools include:

  • soundiiz_auth_status — check whether a key is loaded and valid (calls /v1/me).

  • soundiiz_cache_invalidate for MCP-local cache control.

The generated catalog lives in docs/tools.md. The shorter usage guide lives in docs/tools-guide.md.

Optional Swagger UI

If you want a Swagger UI proxy for the MCP tools, use mcpo:

uvx mcpo --port 8000 --api-key "top-secret" -- node <ABS_PATH_TO_REPO>/dist/bin/cli.js

Then open http://localhost:8000/docs.

Development

Useful scripts:

  • npm run dev — run src/index.ts through tsx.

  • npm run build — type-check and emit to dist/.

  • npm run start — run the built server from dist/.

  • npm run lint, npm run typecheck, npm test — quality gates.

  • npm run check — lint + typecheck + test.

  • npm run mcp:status — check whether the configured key authenticates.

  • npm run mcp:list-tools, npm run mcp:call — local harness.

  • npm run smoke:live — opt-in live smoke matrix against the built server.

  • npm run sync:spec — refetch the Soundiiz OpenAPI spec from https://soundiiz.com/api/doc.

  • npm run generate:schemas — regenerate Zod schemas from specs/soundiiz-openapi.json.

  • npm run generate:tools-docs — regenerate docs/tools.md.

Project layout (planned):

  • src/index.ts — server bootstrap.

  • src/config/ — defaults and config loader.

  • src/auth/ — API key loading from env / file / keychain.

  • src/core/ — HTTP client, spec parser, generated tool registries.

  • src/services/ — domain services for syncs, smartlinks, user, cache.

  • src/schemas/ — shared Zod schemas for tool inputs and outputs.

  • src/generated/ — Zod schemas generated from the Soundiiz OpenAPI spec.

  • src/tools/ — MCP tool registration (curated + auto-generated + raw + auth + cache).

  • src/infra/ — logging.

  • src/utils/ — small helpers.

  • specs/soundiiz-openapi.json — vendored copy of the Soundiiz User API spec.

  • docs/ — architecture, tool inventory, evals, design notes, launch plan.

Testing And Evals

Local checks:

npm run check

Live smoke checks are opt-in and require a Creator-plan API key:

npm run build
SOUNDIIZ_API_KEY=... npm run smoke:live

Live E2E and LLM evals use gitignored local fixture files. See docs/evals.md.

Documentation

  • docs/tools.md — generated tool catalog with schemas.

  • docs/tools-guide.md — short human guide for the tool surface.

  • docs/architecture.md — codebase overview and data flow.

  • docs/curated-tools.md — curated tool charter and risk tiers.

  • docs/evals.md — smoke, LLM, and manual agent eval workflow.

  • docs/public-launch-plan.md — release awareness, registry, and launch-channel plan.

  • docs/design-notes.md — archived design notes and future-facing ideas.

License

MIT.

Available Tools

23 tools
soundiiz_auth_clearA

Clear the in-memory Soundiiz API key. With keyStore=file or keychain, also removes the persisted copy.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It explains the core behavior (clear key, optionally remove persisted copy) but omits potential error conditions (e.g., if not authenticated) or return values.

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 sentence with two clauses, front-loaded with the main action. No unnecessary 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?

For a simple auth clear tool with no parameters and no output schema, the description covers the essential behavior. Minor gaps: no mention of error states or success indication.

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 present, schema coverage 100%. Description adds no parameter details, but baseline for zero parameters is 4.

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 the action (clear) and the resource (in-memory Soundiiz API key), with additional context about persisted copy. Distinguishes from sibling tools like auth_set and auth_status.

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?

Implies usage for clearing authentication credentials. Mentions conditional behavior with keyStore, but does not explicitly state when to use versus alternatives or any prerequisites.

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

soundiiz_auth_setA

Set a Soundiiz API key for the current session. With keyStore=file or keychain, also persists locally. With keyStore=env, in-memory only. Always local; never transmits the key anywhere except to the Soundiiz API.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYes

TDQS

A3.6/5.0
Behavior4/5

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

Discloses persistence behavior (keyStore dependency) and that the key is never transmitted except to Soundiiz API. With no annotations, this offers good behavioral insight. Could mention overwrite behavior or prerequisites.

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, all informative and front-loaded. No unnecessary words. Efficient.

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

Completeness3/5

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

Covers purpose and persistence but omits success/failure behavior, idempotency, prerequisites (e.g., clearing existing key). The keyStore references are unexplained. Adequate for a simple mutation but incomplete.

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

Parameters1/5

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

Schema coverage is 0%, and description adds no additional meaning about the apiKey parameter (e.g., format, source, validation). Agent receives no guidance beyond the parameter name.

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 it sets a Soundiiz API key for the current session, with additional detail on persistence behavior. Differentiates from sibling tools (auth_clear, auth_status) by naming and context.

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?

Provides context about session and persistence but lacks explicit guidance on when to use this tool versus alternatives like auth_clear or auth_status. No when-not or alternative naming.

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

soundiiz_auth_statusA

Check whether a Soundiiz API key is loaded and authenticates against /v1/me. Local-only call.

ParametersJSON Schema
NameRequiredDescriptionDefault
probeNoProbe /v1/me to verify key (default true)

TDQS

A3.9/5.0
Behavior4/5

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

No annotations provided, so description is the sole source. It discloses that the tool checks API key authentication and mentions the 'probe' parameter default. For a simple check, this is adequate, though it omits details like failure modes or return format.

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, front-loaded with purpose, no extraneous words. Efficient and clear.

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

Completeness3/5

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

Given no output schema, description lacks explanation of return values or response structure. For a simple auth check this is a minor gap, but with many sibling tools, more context on when to use this diagnostic would improve completeness.

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 covers 100% of parameters with description for 'probe'. Description adds context that the probe is optional and defaults to true, but does not add significant new meaning beyond the 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 the tool checks whether a Soundiiz API key is loaded and authenticates against /v1/me. Verb 'Check' and resource 'API key authentication status' are specific and distinct from sibling tools like soundiiz_auth_set and soundiiz_me.

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?

Description implies usage for verifying auth status and notes 'Local-only call', but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. Guidance is implied but not comprehensive.

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

soundiiz_cache_invalidateB

Invalidate MCP-local cached responses. Defaults to scope=all.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNo
idNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. Description only states it invalidates cache and defaults scope, but does not disclose side effects, performance impact, or whether invalidation affects other users or sessions.

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 sentence, front-loaded with key action and default. No unnecessary words.

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

Completeness2/5

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

For a simple cache invalidation tool with no output schema, the description lacks details on return value, error handling, and behavior when id is specified. Given no annotations, it feels incomplete.

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

Parameters2/5

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

Schema coverage is 0%. Description only mentions scope default but does not explain the 'id' parameter or the meaning of each scope value (beyond 'all'). Agent would need to infer id'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 verb 'Invalidate' and resource 'cached responses', and specifies default scope. It distinguishes from sibling tools which are auth, read, write operations on different resources.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No mention of prerequisites, when not to use, or comparison with similar tools like soundiiz_auth_clear.

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

soundiiz_meA

Get the current authenticated Soundiiz user (id, username, email).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries the burden. It implies read-only operation and that authentication is required (via 'authenticated Soundiiz user'). No mention of error conditions or behavior, but for a simple getter it is adequate.

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 sentence, front-loaded, no wasted words. Ideal for a simple tool.

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, no output schema, and a straightforward purpose, the description is complete. It specifies what is returned and the necessary condition of authentication.

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?

The input schema has zero parameters with 100% coverage, so the baseline is 4. The description does not need to add parameter information and does not detract.

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 verb 'Get', the resource 'current authenticated Soundiiz user', and lists the returned fields (id, username, email). It distinguishes from sibling tools which deal with auth, cache, smartlinks, and syncs.

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?

Usage is implicit: call when you need the current user info. No explicit when-not-to-use or alternatives mentioned, but given the tool's simplicity and distinct siblings, it is clear enough.

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

soundiiz_read_get_soundiiz_openapi_v1_merest_getmeA

[User] Get detailed profile information about the current user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, and the description only implies a read operation without confirming idempotency, safety, or authentication requirements beyond 'current user' context.

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 sentence, no fluff, perfectly sized for a simple read tool.

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

Completeness3/5

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

Adequate for a parameter-free read operation, but lacks details about response structure, potential errors, or any constraints, which could be helpful for an agent.

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?

Zero parameters, so baseline is 4. Description does not need to add parameter info, but could mention that no input is required.

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?

Explicitly states the tool retrieves detailed profile info for the current user, a clear verb+resource pair. It is distinct from sibling read tools like soundiiz_me and smartlink/sync tools.

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

Usage Guidelines2/5

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

No usage guidance provided; no indication of when to use this tool vs. alternatives like soundiiz_me or other profile-related operations.

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

soundiiz_read_get_soundiiz_openapi_v1_merest_getmesmartlinksdetailsC

[Smartlinks] Retrieves details of a smartlink owned by the authenticated user identified by its Soundiiz ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique Soundiiz identifier of the smartlink.

TDQS

C2.9/5.0
Behavior2/5

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

Description lacks disclosure of behavioral traits beyond the basic read operation. No annotations provided, so the agent is not informed about side effects, permissions, rate limits, or data format.

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

Conciseness4/5

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

Single sentence with front-loaded [Smartlinks] tag is efficient. However, it could be slightly more informative without sacrificing conciseness.

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

Completeness2/5

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

Description does not indicate what 'details' includes (e.g., returned fields, structure). Missing output schema and no comparison with sibling tools leaves the agent without full context.

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 has 100% description coverage for the single parameter. The description merely restates the parameter, adding no semantic value beyond the schema.

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

Purpose4/5

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

Description clearly states the tool retrieves details of a smartlink by ID. However, it does not distinguish from potentially similar sibling tools like soundiiz_smartlink_get, leaving possible confusion.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as listing smartlinks or obtaining an overview. The description implies authentication context but lacks explicit usage direction.

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

soundiiz_read_get_soundiiz_openapi_v1_merest_getmesyncsA

[Syncs] Retrieves a paginated list of syncs owned by the authenticated user. This endpoint supports pagination via offset and limit query parameters to control the number of items returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoThe index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.
limitNoThe maximum number of items to return. Default: 50. Minimum: 1. Maximum: 100.

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states it retrieves a list and supports pagination, which is adequate for a read operation. However, it does not disclose any edge cases, rate limits, or auth specifics beyond 'authenticated user'.

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 concise sentences, front-loaded with the purpose and key feature (pagination), no unnecessary words.

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

Completeness3/5

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

For a simple list retrieval with no output schema, the description covers the basic functionality. However, it could mention the response structure (e.g., items array, total count) to be more complete.

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 description mentions offset and limit as pagination parameters, but adds no additional meaning beyond what the schema already provides.

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

Purpose4/5

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

The description clearly states it retrieves a paginated list of syncs owned by the authenticated user. It distinguishes from siblings like details or delete operations, but does not differentiate from the similar sibling 'soundiiz_syncs_list'.

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 for paginated retrieval of syncs but does not provide explicit guidance on when to use this tool versus alternatives like 'soundiiz_syncs_list' or details endpoints.

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

soundiiz_read_get_soundiiz_openapi_v1_merest_getmesyncsdetailsA

[Syncs] Retrieves details of a sync owned by the authenticated user identified by its Soundiiz ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique Soundiiz identifier of the synchronization process.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states it retrieves details (read operation), but does not disclose behavior on missing syncs, error handling, or authentication specifics beyond implied ownership.

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 sentence, front-loaded with the action and resource, no redundant information. Every word is necessary.

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?

For a simple retrieval tool with one parameter and no output schema, the description covers the core purpose. It could mention the output format or typical fields, but given the schema coverage and context, it is mostly complete.

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?

The input schema has 100% parameter description coverage, so the schema already explains the 'id' parameter. The description adds no additional semantics beyond what the schema provides.

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 it retrieves details of a sync owned by the authenticated user, specifying the resource and ownership context. It distinguishes from sibling tools like 'soundiiz_read_get_soundiiz_openapi_v1_merest_getmesyncs' which likely lists syncs.

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 mentions the sync must be owned by the authenticated user, implying usage context, but does not provide explicit when-to-use or when-not-to-use guidance compared to similar siblings like 'soundiiz_sync_get'.

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

soundiiz_sync_deleteA

Delete a Soundiiz sync. Returns a confirmId on the first call; re-call with the same args plus that confirmId to execute (skip via writes.confirmDestructive=false).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
confirmIdNo

TDQS

A4.4/5.0
Behavior5/5

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

Discloses two-step destructive process and confirms re-call requirement. No annotations exist, so description carries full burden and does so thoroughly, including a skip mechanism.

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, no redundancy, front-loaded with purpose. Every sentence provides critical operational detail.

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 essential two-step behavior and skip option. No output schema, but description mentions return of confirmId. Could detail success response but adequate for a delete operation.

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 0%, but description implies usage of id and confirmId. It explains the role of confirmId in the second call but does not elaborate on the id parameter. Adds value beyond schema structure.

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 'Delete a Soundiiz sync' with a specific verb and resource. It distinguishes from sibling tools like soundiiz_sync_get or soundiiz_sync_trigger, which handle different operations.

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 usage instructions: first call returns confirmId, second call with confirmId executes. Mentions option to skip confirmation via writes.confirmDestructive=false. No explicit alternatives or when-not-to-use, but context is sufficient.

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

soundiiz_sync_getC

Get a single Soundiiz sync by id, including lastExecutionResult.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description must reveal behavioral traits. It only states basic functionality and inclusion of lastExecutionResult. Does not mention error handling, required permissions, or idempotency, leaving significant gaps for an AI agent.

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 sentence, directly stating the action and result. No redundant words, appropriately front-loaded for quick understanding.

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

Completeness3/5

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

Tool is simple with one parameter and no output schema. Description covers the core function but lacks context on return format, error responses, and differentiation from many similar sibling tools. Adequate but not comprehensive.

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

Parameters1/5

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

Schema coverage is 0% with no parameter descriptions. The description merely restates 'by id' which is already evident from the schema. No additional context about the id parameter's format, source, or constraints.

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

Purpose4/5

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

Description clearly states verb 'get', resource 'sync', and that it returns 'lastExecutionResult'. Specifying 'single' distinguishes from list siblings, but does not differentiate from similar detail-fetching tools like soundiiz_read_get_soundiiz_openapi_v1_merest_getmesyncsdetails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as soundiiz_syncs_list or soundiiz_syncs_overview. The description does not specify prerequisites or typical use cases.

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

soundiiz_syncs_dueA

Return syncs scheduled to run within the given window (default 24 hours).

ParametersJSON Schema
NameRequiredDescriptionDefault
withinHoursNo

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It states it returns syncs but does not mention if it is read-only, response format, or any side effects. Adequate but lacks depth.

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?

A single sentence with no wasted words, efficiently conveying the core functionality and default behavior.

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

Completeness3/5

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

No output schema exists, so the description should explain return values. It says 'Return syncs' but does not specify if it is a list, details, or any filtering. Adequate for a simple tool but could be more complete.

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 0%, so the description should compensate. It mentions 'given window (default 24 hours)' which adds context for the withinHours parameter, but does not explicitly name or explain the parameter.

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 uses a specific verb 'Return' and resource 'syncs scheduled to run within the given window', which clearly distinguishes it from sibling tools like list or overview.

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 implies usage context by mentioning the time window and default, but does not explicitly state when not to use or provide alternatives. It is clear enough for an agent to infer context.

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

soundiiz_syncs_listB

List Soundiiz syncs as compact rows. Auto-paginates by default; pass paginated=true for a single page.

ParametersJSON Schema
NameRequiredDescriptionDefault
paginatedNoIf true, return only one page.
offsetNo
limitNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It discloses auto-pagination but omits critical behavioral traits such as authentication requirements, side effects, ordering, or what fields are returned in 'compact rows'. Missing details on offset/limit interaction.

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 with no wasted words. Purpose is front-loaded; it efficiently conveys key behavior in minimal space.

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

Completeness2/5

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

With no output schema and 3 parameters, the description is too sparse. It lacks details about return format, default behavior for offset/limit, and how to retrieve all pages beyond the paginated flag. Given sibling tool complexity, more context is needed.

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

Parameters2/5

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

Schema coverage is only 33% (only paginated described). The description adds value for paginated but does not explain offset or limit, leaving ambiguity about their behavior and interaction with pagination.

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 lists Soundiiz syncs as compact rows, with a specific verb and resource. The name 'list' reinforces this, and it distinguishes from siblings like 'sync_get' or 'syncs_overview'.

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 auto-pagination behavior and the paginated flag for single page, but does not explicitly compare to sibling tools like 'syncs_due' or 'syncs_overview', nor does it specify when to use this over others.

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

soundiiz_syncs_overviewB

Counts and shortlists across all syncs: by status, by frequency, by source/destination platform pair, plus dueSoon and recentFailures.

ParametersJSON Schema
NameRequiredDescriptionDefault
dueWithinHoursNoDefault 24
recentFailureLimitNoDefault 10

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not state whether the tool is read-only, whether it has side effects, or any performance implications. While the overview nature implies a read operation, it is not explicit, leaving the agent to infer safety.

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 a single sentence of about 20 words, front-loading the core function ('counts and shortlists across all syncs') and then listing grouping criteria. Every phrase adds value, with no redundancy or fluff.

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

Completeness3/5

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

The tool has two optional parameters and no output schema. The description explains what the tool does (counts and shortlists) but does not specify the output format or structure (e.g., whether counts are numeric or lists). Given the lack of output schema, more detail on the return value would improve completeness.

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%, so each parameter already has a schema description (e.g., 'Default 24' for dueWithinHours). The tool description mentions 'dueSoon' and 'recentFailures', which hints at the parameters' roles, but does not explicitly link them. This adds marginal value beyond the schema, earning a baseline 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 counts and shortlists across all syncs by status, frequency, source/destination pair, plus dueSoon and recentFailures. It uses a specific verb ('counts and shortlists') and resource ('all syncs'), and distinguishes itself from sibling tools like soundiiz_syncs_list (list all syncs) and soundiiz_syncs_due (due syncs) by providing an aggregate overview.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. It lacks explicit 'when to use' or 'when not to use' statements, and does not mention sibling tools or scenarios where a different tool would be more appropriate.

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

soundiiz_sync_triggerA

Trigger execution of a Soundiiz sync. Returns a confirmId on the first call; re-call with the same args plus that confirmId to execute (skip via writes.confirmDestructive=false).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
confirmIdNo

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It reveals the two-step behavior and confirmId mechanism, hinting at destructiveness. However, it does not detail side effects, permissions, or error cases.

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 with no waste. Front-loaded with the main action, then the critical two-step procedure. Efficient and clear.

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?

Given no output schema, the description explains the return of confirmId. Covers the core protocol adequately. Could add error handling or edge cases, but is mostly complete for agent usage.

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 0%, but description explains both parameters: 'id' is required, 'confirmId' is for the second call. This adds meaning beyond schema and fully compensates for missing 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?

Clearly states it triggers a sync and distinguishes from siblings through the unique two-step confirmation mechanism. The verb 'trigger' is specific and the resource 'Soundiiz sync' is identified.

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: first call without confirmId, then re-call with it. Also mentions a skip mechanism via writes.confirmDestructive=false. Does not explicitly state when not to use or alternatives, but context is clear.

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

soundiiz_write_delete_soundiiz_openapi_v1_merest_getmesmartlinksdeleteB

[Smartlinks] Delete a user-owned smartlink identified by its Soundiiz ID. This endpoint delete the smartlink and returns a confirmation or failure status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique Soundiiz identifier of the smartlink to delete. This ID is required and must be a valid integer.

TDQS

B3.2/5.0
Behavior3/5

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

Discloses deletion and return of confirmation/failure status, but no details on side effects or prerequisites. Annotations are absent, so description carries the burden but is minimal.

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

Conciseness4/5

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

Two concise sentences with slight redundancy, but overall efficient and front-loaded with the action.

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

Completeness3/5

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

Adequate for a simple delete operation with one parameter, but missing differentiation from siblings and more details on errors or permissions.

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 description adds no new meaning beyond the schema's parameter description.

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

Purpose4/5

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

Clearly states it deletes a smartlink by Soundiiz ID, but does not differentiate from similar sibling tool soundiiz_smartlink_delete.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like soundiiz_smartlink_delete.

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

soundiiz_write_delete_soundiiz_openapi_v1_merest_getmesyncsdeleteC

[Syncs] Delete a user-owned synchronization identified by its Soundiiz ID. This endpoint delete the sync and returns a confirmation or failure status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique Soundiiz identifier of the synchronization process to delete. This ID is required and must be a valid integer.

TDQS

C2.9/5.0
Behavior2/5

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

The description states it deletes the sync and returns confirmation/failure, but with no annotations provided, it fails to disclose important traits like irreversibility, authentication requirements, or side effects (e.g., cascading deletions). The impact is partially inferred but not explicitly stated.

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

Conciseness4/5

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

Two sentences with clear front-loading of purpose. No wasted words, but could include brief additional behavioral context without harming conciseness.

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

Completeness3/5

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

Given only one parameter, no output schema, and no annotations, the description is fairly complete for a basic delete operation. However, it lacks details on error behaviors, permissions, and response structure, which would be expected for full completeness.

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 the 'id' parameter. The description adds little beyond restating 'identified by its Soundiiz ID' and 'required', providing minimal extra meaning. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (delete), the resource (sync identified by Soundiiz ID), and the return status. It is specific and distinguishable from sibling delete tools like soundiiz_sync_delete by mentioning 'user-owned' and 'Syncs' prefix, though not explicitly compared.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., other sync deletion endpoints or related tools). It does not mention prerequisites, such as requiring the sync to be owned by the user, or situations where deletion might fail.

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

soundiiz_write_post_soundiiz_openapi_v1_merest_getmesyncsexecuteA

[Syncs] Triggers the execution of a user-owned synchronization process identified by its Soundiiz ID. This endpoint initiates the sync and returns a confirmation or processing status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique Soundiiz identifier of the synchronization process to execute. This ID is required and must be a valid integer.

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description partially covers behavior: it initiates a sync and returns confirmation/status. However, it does not disclose whether the operation is synchronous or asynchronous, or if it has side effects beyond execution.

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 with a clear label, no filler. Every word adds value.

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

Completeness3/5

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

Adequate for a single-parameter trigger tool without output schema. Lacks explanation of response format or error conditions, and does not differentiate from sibling sync tools.

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 ID parameter is already well-documented in the schema. The description adds minimal extra value beyond restating the schema's description.

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 verb (triggers), resource (synchronization process), and scope (user-owned, identified by Soundiiz ID). It distinguishes from sibling read/delete tools by focusing on execution.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like soundiiz_sync_trigger or read tools. The description does not mention prerequisites or scenarios where this tool is appropriate.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 23 tool updatesv0.1.0
    • First observedsoundiiz_auth_clear
    • First observedsoundiiz_auth_set
    • First observedsoundiiz_auth_status
    • First observedsoundiiz_cache_invalidate
    • First observedsoundiiz_me
    • First observedsoundiiz_read_get_soundiiz_openapi_v1_merest_getme
    • First observedsoundiiz_read_get_soundiiz_openapi_v1_merest_getmesmartlinks
    • First observedsoundiiz_read_get_soundiiz_openapi_v1_merest_getmesmartlinksdetails
    • First observedsoundiiz_read_get_soundiiz_openapi_v1_merest_getmesyncs
    • First observedsoundiiz_read_get_soundiiz_openapi_v1_merest_getmesyncsdetails
    • First observedsoundiiz_smartlink_delete
    • First observedsoundiiz_smartlink_get
    • First observedsoundiiz_smartlinks_list
    • First observedsoundiiz_smartlinks_overview
    • First observedsoundiiz_sync_delete
    • First observedsoundiiz_sync_get
    • First observedsoundiiz_sync_trigger
    • First observedsoundiiz_syncs_due
    • First observedsoundiiz_syncs_list
    • First observedsoundiiz_syncs_overview
    • First observedsoundiiz_write_delete_soundiiz_openapi_v1_merest_getmesmartlinksdelete
    • First observedsoundiiz_write_delete_soundiiz_openapi_v1_merest_getmesyncsdelete
    • First observedsoundiiz_write_post_soundiiz_openapi_v1_merest_getmesyncsexecute

TDQS

C2.9/5.0

Scored across 23 tools

Disambiguation2/5

Several tools have overlapping functionality, such as soundiiz_me and soundiiz_read_get_soundiiz_openapi_v1_merest_getme both retrieving user info, and soundiiz_smartlink_get vs soundiiz_read_get_soundiiz_openapi_v1_merest_getmesmartlinksdetails. This creates ambiguity for an agent choosing which tool to use.

Naming Consistency1/5

Tool names are highly inconsistent. Some use short, descriptive patterns (soundiiz_auth_clear, soundiiz_smartlink_delete), while others are auto-generated long paths (soundiiz_read_get_soundiiz_openapi_v1_merest_getme). This mix of naming conventions is confusing and unpredictable.

Tool Count3/5

The tool count is 23, which is on the higher side but still within a plausible range for a complex API. However, many tools are redundant, making the set feel bloated rather than well-scoped.

Completeness2/5

The tool set covers auth, smartlinks, and syncs, but lacks essential operations like creating or updating smartlinks and syncs. There are only delete, list, get, and overview tools, leaving obvious gaps in CRUD coverage for the domain.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An unofficial MCP server that provides access to Spotify's Web API through the Model Context Protocol, enabling AI assistants to search music, manage playlists, and control playback.
    6 npm
    9
    ISC
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that provides Spotify integration, allowing AI assistants and applications to interact with Spotify's music streaming service.
    12
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides intelligent playlist curation tools using Spotify track data and audio feature analysis. It enables AI assistants to create mood-based playlists, find similar songs, analyze audio characteristics, and curate personalized music collections.
    -