Skip to main content
Glama
zanda-msingi

lexicon-mcp

by zanda-msingi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LEXICON_MCP_CONFIGNoPath to a TOML configuration file. If not set, the server uses defaults: base_url=http://localhost:48624 and log_level=info. The config file can override these settings via [lexicon] base_url and [server] log_level.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_playlistsA

Return every playlist, folder and smartlist as a flat list of {id, name, path, kind, parent_id} rows in Lexicon's order, where path joins folder names with " / ". Pass tree=True for the raw nested tree. No track counts either way; use get_playlist_tracks for contents.

get_playlist_tracksA

Return a playlist's tracks in playlist order. By default each record carries a compact field set (id, title, artist, albumTitle, genre, comment, bpm, key, energy, year, duration, rating, playCount, tags). Pass fields to choose exactly which fields, or full=True for the complete records including cue points and tempo markers (~3 KB each).

search_tracksA

Search the library. filter maps field -> value/comparison, e.g. {"artist": "Daft Punk", "bpm": ">=120"}. Returns {total, returned, tracks}; results are capped by limit while total is the real count. Unsafe filters that would match the whole library are rejected.

library_infoA

Summarise the whole library in one call: track totals and how many carry bpm / key / energy / any tag; key notation in use (open_key, camelot, mixed); playlist counts by kind; every tag category and tag with the number of tracks carrying it. Scans all tracks (fast).

list_untagged_tracksA

List tracks with no custom tags, as compact records. Give playlist_id to scope to one playlist (the natural unit of a tagging drive), or omit it to scan the whole library and page through the untagged subset with limit/offset; total_untagged is always the true count.

get_trackA

Return the full record for one track (metadata, tags, cues).

list_custom_tag_categoriesA

Return the custom-tag taxonomy: each category with its tags.

create_tag_categoryA

Create a custom-tag category (e.g. "Undertow") and return it with its new id. Labels must be unique; Lexicon rejects duplicates.

create_tagA

Create a custom tag inside a category and return it with its new id. Tag labels are unique across the whole library (case-sensitive).

set_custom_tagsA

Set a track's custom tags to EXACTLY tag_ids (replace). Entries may be tag ids or labels ("Genre/Afro House" or just "Afro House"). Pass [] to clear. To add without disturbing others, read the track and set the union, or use bulk_apply_tags for many tracks.

bulk_apply_tagsA

Add tag_ids (ids or labels like "Genre/Afro House") to each of track_ids (merge, never wipe). Refuses an empty set, a set over ceiling, or a mismatch with expected_count, before any write. Returns a summary of updated/unchanged/failed.

create_smartlistB

Create a smartlist from rules, e.g. [{"field": "bpm", "operator": "NumberGreaterThan", "values": [120]}]. match_all=True requires every rule (AND), False is ANY (OR).

delete_playlistA

Delete a smartlist and return {id, name, kind}. Folders are never deleted (the delete would cascade). An ordinary playlist is deleted only with allow_playlist=True; there is no undo.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/zanda-msingi/lexicon-mcp'

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