Skip to main content
Glama
verIdyia

AutoEQ MCP Server

by verIdyia

eq_search

Read-onlyIdempotent

Search the AutoEQ database to find headphones and IEMs by name, type, sound signature, or measurement source for equalization settings.

Instructions

Search the AutoEQ database for headphones/IEMs. Filter by name, type, sound signature, or measurement source.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoSearch term (model name, brand, etc.)
form_factorNoType filter: over-ear, in-ear, earbud
signatureNoSound signature filter: Neutral, Warm, Bright, Dark, V-shaped, U-shaped, Bass-heavy, Mid-forward, Harman-like
sourceNoMeasurement source filter: oratory1990, crinacle, Rtings, etc.
limitNoMax results (up to 50)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • The `eq_search` function performs a database query against the `headphones` table to find items matching the provided query, form factor, signature, and source, returning a formatted markdown list.
    async def eq_search(
        query: str = Field(default="", description="Search term (model name, brand, etc.)"),
        form_factor: str = Field(
            default="",
            description="Type filter: over-ear, in-ear, earbud",
        ),
        signature: str = Field(
            default="",
            description="Sound signature filter: Neutral, Warm, Bright, Dark, V-shaped, U-shaped, Bass-heavy, Mid-forward, Harman-like",
        ),
        source: str = Field(
            default="",
            description="Measurement source filter: oratory1990, crinacle, Rtings, etc.",
        ),
        limit: int = Field(default=20, description="Max results (up to 50)"),
    ) -> str:
        """Search the AutoEQ database for headphones/IEMs. Filter by name, type, sound signature, or measurement source."""
        conn = get_db()
        conditions = []
        params = []
    
        if query:
            conditions.append("name LIKE ?")
            params.append(f"%{query}%")
        if form_factor:
            conditions.append("form_factor = ?")
            params.append(form_factor)
        if signature:
            conditions.append("signature LIKE ?")
            params.append(f"%{signature}%")
        if source:
            conditions.append("source LIKE ?")
            params.append(f"%{source}%")
    
        where = " AND ".join(conditions) if conditions else "1=1"
        sql = f"""
            SELECT name, source, coupler, form_factor, signature, score
            FROM headphones
            WHERE {where}
            ORDER BY score DESC NULLS LAST, name
            LIMIT ?
        """
        params.append(min(limit, 50))
        rows = conn.execute(sql, params).fetchall()
        conn.close()
    
        if not rows:
            return "No results found."
    
        lines = [f"## Search results ({len(rows)} found)"]
        for r in rows:
            score = f" [score:{r['score']}]" if r["score"] else ""
            sig = f" ({r['signature']})" if r["signature"] else ""
            coupler = f" [{r['coupler']}]" if r["coupler"] else ""
            lines.append(
                f"- **{r['name']}** — {r['source']}{coupler} | {r['form_factor']}{sig}{score}"
            )
        return "\n".join(lines)

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/verIdyia/autoeq-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server