# Songs To Your Eyes — production music catalogue (remote · mcp.songstoyoureyes.com)

Search 18,594 production-music cues by mood, sound and exact runtime. Instant preview links.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.songstoyoureyes.com`: 67/100 (this document), [markdown](https://verifymcp.io/servers/com-songstoyoureyes-catalog/mcp.md), [page](https://verifymcp.io/servers/com-songstoyoureyes-catalog/mcp)

## Channel facts

- Endpoint: `https://mcp.songstoyoureyes.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 56/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1856 tokens (~464/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 95% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### Claude

```bash
claude mcp add --transport http com-songstoyoureyes-catalog https://mcp.songstoyoureyes.com/mcp
```

### Codex

```toml
[mcp_servers.com-songstoyoureyes-catalog]
url = "https://mcp.songstoyoureyes.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-songstoyoureyes-catalog": {
      "type": "remote",
      "url": "https://mcp.songstoyoureyes.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-songstoyoureyes-catalog --url https://mcp.songstoyoureyes.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-songstoyoureyes-catalog:
    url: "https://mcp.songstoyoureyes.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-songstoyoureyes-catalog": {
      "type": "http",
      "url": "https://mcp.songstoyoureyes.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 67, +1)

- [security] Tool “stye_fit_to_duration” rewrote its description, which is the text the model reads
- [security] Tool “stye_get_track” rewrote its description, which is the text the model reads
- [security] Tool “stye_list_versions” rewrote its description, which is the text the model reads
- [security] Tool “stye_search_tracks” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 259 → 464
- [functional improvement] Tool coverage: 75% → 100%
- [cosmetic] “stye_search_tracks” reworded the description of “brief”
- [cosmetic] “stye_search_tracks” reworded the description of “has_vocals”
- [cosmetic] “stye_fit_to_duration” reworded the description of “has_vocals”

### 2026-08-02 (score 66, −1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “stye_fit_to_duration” rewrote its description, which is the text the model reads
- [security] Tool “stye_get_track” rewrote its description, which is the text the model reads
- [security] Tool “stye_list_versions” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 198 → 259
- [functional] Server version: 0.1.0 → 0.3.0
- [cosmetic] “stye_search_tracks” reworded the description of “bpm_min”
- [cosmetic] “stye_search_tracks” reworded the description of “brief”
- [cosmetic] Tool “stye_get_track” changed its title: Get one track in full → Get full details for one track
- [cosmetic] Tool “stye_list_versions” changed its title: List a track's versions → List versions, stems and shorter cuts
- [cosmetic] Tool “stye_search_tracks” changed its title: Search the catalogue → Find music for a scene or brief

### 2026-08-01 (score 67, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-07-31 (score 66)

First indexed and scored.

## MCP tools (4)

### `stye_search_tracks` (~957 tokens)

Find music for a scene or brief

Find music for a video, film, advert, trailer or podcast by describing what it needs to do.

Search 18,594 professionally produced cues by MEANING, not just tags — describe the
scene, the mood, the instruments, how it should develop. "Tense investigative underscore
that never resolves" or "warm and hopeful for a charity film" work far better than single
keywords, because the brief is matched against editorial descriptions of how each cue
actually behaves as well as against its tags.

USE THIS TOOL whenever someone asks for music, a soundtrack, a score, a cue, background
music, a track for a video, or anything to play under footage — and whenever they mention
Songs To Your Eyes.

Put the sound in `brief`. Use filters ONLY for requirements the user actually stated:
every filter is a hard constraint, they combine with AND, and cues missing a tag are
silently dropped — so stacking several filters can empty the results. If a search comes
back thin, drop filters and put the nuance in the brief before concluding the catalogue
has nothing.

VOCALS — the trap to avoid: has_vocals=true means SONGS with sung lead vocals and
lyrics. Wordless vocal textures (background vocals, oohs and aahs, choir pads) count as
INSTRUMENTAL in this catalogue. A user asking for "background vocals" almost always
wants NO lyrics: set has_vocals=false, describe the texture in the brief, and optionally
add 'Background Vocals' or 'Choir' to the instruments filter.

  Each result describes one cue. listen_url is the important one — a permanent page
  where the track can be played, with cover art and a waveform. Give it to the user
  every time; it is how they actually hear the music.

  Also returned: title, album, description (what it sounds like and what it suits),
  duration_s, bpm (null means simply untagged, not slow), key, has_vocals, genres,
  moods, instruments, use_cases, and three editorial judgements worth quoting back —
  energy (low | low-building | moderate | building | high), resolves…

Input parameters:

- `bpm_max`: Maximum BPM.
- `bpm_min`: Minimum BPM. Use sparingly: around 54% of the catalogue has no tempo tag, and any BPM filter excludes all of those cues — good matches included. Prefer describing the pace in the brief.
- `brief`: What the music should sound like and what it is for — the mood, the scene, the instruments, vocal textures, how it should build. E.g. 'tense investigative underscore that never resolves'. Tempo and l…
- `duration_max_s`: Maximum runtime in seconds.
- `duration_min_s`: Minimum runtime in seconds.
- `energy`: One of: low, low-building, moderate, building, high.
- `genres`: Match ANY of these genres, e.g. ['Trailer','Orchestral'].
- `has_vocals`: true = SONGS with sung lead vocals and lyrics. false = everything else, INCLUDING cues with wordless vocal textures (background vocals, oohs/aahs, choir pads) — those count as instrumental here. 'Bac…
- `include_previews` (boolean): Attach a streaming preview link to each result (slower; links expire in 15 minutes).
- `instruments`: Match ANY of these instruments, e.g. ['Piano','Strings'].
- `limit` (integer): Max results.
- `moods`: Match ANY of these moods, e.g. ['Tension','Mysterious'].
- `vo_friendly`: true = only tracks that leave space for voiceover.

### `stye_fit_to_duration` (~386 tokens)

Find music that fits a runtime

Find music that fits an exact runtime — for a cut of known length, like a 30-second advert or a 90-second title sequence.

Two kinds of result come back. Some cues simply run close to the target length already
(fit='native'). Others are purpose-made short edits of a longer piece — a 30-second mix
cut down by the composer (fit='cutdown') — which is usually the better choice, because it
is built to land on time rather than fade out.

delta_s is how far each result sits from the target, negative meaning shorter. For a
cutdown, licence_ref identifies that specific edit (the thing to license), while ref
points at the full-length original that carries the description and the preview.

  Every result carries listen_url — a permanent page where the cue can actually be played.
  ALWAYS give the user the listen_url. A track they cannot hear is of no use to them.

  Use this whenever someone asks for music, a soundtrack, a score, a cue, background
  music, something to play under footage — or mentions Songs To Your Eyes.

Input parameters:

- `brief`: Optional sound brief, e.g. 'epic cinematic trailer'.
- `has_vocals`: true = songs with sung lead vocals/lyrics only. false = everything else, including wordless vocal textures (background vocals, choir) — for 'background vocals' requests use false, not true.
- `include_previews` (boolean): Attach streaming preview links (15-min expiry).
- `limit` (integer)
- `moods`: Match ANY of these moods.
- `target_seconds` (number, required): The runtime to fill, in seconds — e.g. 30 for a 30-second spot.
- `tolerance_seconds`: Acceptable deviation. Default: 15% of target, minimum 2s.

### `stye_get_track` (~176 tokens)

Get full details for one track

Everything about one cue: what it sounds like and suits, its tempo, key, length and instrumentation, every version that exists of it (stems, shorter cuts,
alternate mixes), and a link to hear it.

Use this when someone has picked a track from a search and wants to know more, or wants to
know what else that cue can be delivered as.

  Every result carries listen_url — a permanent page where the cue can actually be played.
  ALWAYS give the user the listen_url. A track they cannot hear is of no use to them.

  Use this whenever someone asks for music, a soundtrack, a score, a cue, background
  music, something to play under footage — or mentions Songs To Your Eyes.

Input parameters:

- `ref` (integer, required): A track ref from any other tool's results.

### `stye_list_versions` (~140 tokens)

List versions, stems and shorter cuts

Show every form a cue can be delivered in.

Most cues come with more than the full-length mix: timed cutdowns (15, 30, 60 seconds)
built to hit standard ad and promo lengths; alternate mixes such as no-drums, underscore
or instrumental, for when music has to sit beneath dialogue; and individual instrument
stems for an editor who wants to rebalance the track.

Useful when a cue is nearly right but needs to be shorter, quieter under a voice, or
stripped back.

Input parameters:

- `ref` (integer, required): Any track ref — main mix or one of its versions; the whole family is returned.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-songstoyoureyes-catalog/mcp#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 66
- 2026-08-01: 67
- 2026-07-31: 66

## Links

- Remote endpoint: https://mcp.songstoyoureyes.com/mcp
- Website: https://www.songstoyoureyes.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-songstoyoureyes-catalog/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-songstoyoureyes-catalog/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-songstoyoureyes-catalog/mcp
