A backend service for music identification, classification, and intelligent querying with support for audio analysis, metadata enrichment, and Indian classical music detection
This server is NOT an MCP server, it is a plain Express HTTP backend with no MCP protocol implementation. Tool definitions are inferred from Express routes and controller signatures, not registered via MCP. No tool schemas are visible in source code. Descriptions exist but are generic and lack LLM-optimization. Parameters lack type definitions and constraints. No error handling guidance. This fails the fundamental requirement of being an MCP server.
Identifies a song from an uploaded audio file using ACRCloud or AudD service, normalizes metadata, enriches it with additional information, classifies the music, and resolves Indian classical music metadata
Orchestrates multi-step music intelligence requests by routing to specialized engines based on query content
Processes a text query about music and returns relevant information by routing to appropriate music intelligence engines
NOT AN MCP SERVER: No MCP protocol implementation detected. This is a plain Express HTTP backend. No tool registration via MCP, no protocol handshake, no capabilities negotiation. Cannot be used as an MCP server.
NO INPUT SCHEMAS: Tool definitions inferred from Express routes only. No JSON Schema definitions visible for any tool. Cannot determine parameter types, constraints, or validation rules.
GENERIC DESCRIPTIONS: Tool descriptions are vague and lack LLM-optimization. 'Processes a text query about music' (35 chars) does not explain WHEN to use it vs other tools or what it returns. Baseline: A+ tools average 194 chars with clear WHAT/WHEN/RETURN structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 20 | 2026-07-28+ | v2 |
MISSING PARAMETER DESCRIPTIONS: 'orchestrate-request' accepts a generic 'type: object' with no field documentation. LLMs cannot infer what fields are required or what they control.
NO ERROR HANDLING GUIDANCE: Controllers catch errors and return generic 500 responses ('Processing failed', 'Query failed'). No recovery hints, no categorization (retryable vs fatal), no invalid-value feedback.