Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANINEST_MCP_HOSTNoHost to bind when using HTTP or SSE transport mode.127.0.0.1
ANINEST_MCP_PORTNoPort to bind when using HTTP or SSE transport mode.8765
ANINEST_ARENA_URLNoURL of the local browser service used by arena_lookup.http://127.0.0.1:6191
ANINEST_BOORU_URLNoURL of any Gelbooru-style JSON API used by art_search.https://safebooru.org/index.php
ANINEST_MEMORY_DBNoPath to the local memory SQLite database, opened read-only.~/.aninest/memory.db
ANINEST_PROBE_HOSTNoHost used for service health probing.127.0.0.1
ANINEST_USER_AGENTNoUser-Agent sent to image board services.aninest-mcp/0.1 (+…)
ANINEST_HTTP_TIMEOUTNoHTTP timeout in seconds.15
ANINEST_MCP_TRANSPORTNoTransport mode for the MCP server. Valid values are stdio, streamable-http, or sse.stdio

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
art_searchA

Search an illustration for a Chinese or English request.

Args: query: free-form request, e.g. "初音未来 泳装 竖图"; tags/count/orientation are parsed. count: number of images, 1-10. size: "compressed" for a smaller preview, "original" for the full-size file. orientation: optional "landscape", "portrait" or "square" filter. extra_tags: additional canonical booru tags to include. negative: tags to exclude, sent to the board as "-tag".

character_lookupA

Map a character name, nickname, four-digit uid or six-digit id to an arena id.

Args: query: what the player said — "布丁", "克总", "猫拳", "1001", "100101". limit: how many candidates to return, 1-10.

portrait_identifyA

Identify which characters are in cropped portrait images.

Args: images: one entry per portrait — a file path, raw bytes as base64, or a data URI. top_k: candidates per portrait, 1-10. min_score: similarity floor below which the portrait counts as unknown, 0-1.

arena_lookupA

Look up defence teams for a lineup via the local arena browser service.

Args: defense: the lineup by name — "布丁", "克总", "真琴" … (names, aliases or ids). def_ids: the same thing as six-digit ids, if you already have them. region: arena region id, 1 = mainland, 2 = overseas, 0 = no filtering. limit: how many teams to summarise, 1-6 (display cap, not a game rule). exclude: names to drop before searching ("先排除一个再查"). replace: in-place swaps such as ["宫子->真琴"]; positions are preserved.

memory_searchA

Search the assistant's local memory store (read-only).

Args: query: keywords or a sentence to look for. limit: maximum hits, 1-20. scope: "all", "session" or "global".

memory_statsA

Report row counts and database size of the local memory store.

service_healthA

Probe the local services of the assistant stack and report their status.

character_matchA

Rank characters by how close their names are to a query.

Use this when a lookup fails because the name is not in the table: the score and matched_on say whether the candidate is trustworthy, so the host can ask the user instead of guessing.

Args: query: a name in any form, e.g. "宫紫", "ミヤコ", "miyako". top_k: how many candidates to return, 1-20. threshold: minimum score, 0-1; below it nothing is returned.

character_updateA

Add a character or extend its aliases in the local overlay file.

New characters are usually published in Japan first and arrive with a Japanese name before any Chinese alias exists; pass jp so lookups by the Japanese name work immediately. The packaged table is never modified.

Args: char_id: six-digit arena id, e.g. 100701. name: Chinese name; required when creating a character that is not known. aliases: extra names to accept, e.g. ["布丁新皮", "miyako"]. jp: Japanese name, e.g. "ミヤコ". servers: servers the character exists on, e.g. ["jp", "cn"]. remove_aliases: aliases to drop (a wrong alias is worse than a missing one).

character_correctA

Teach the table that term refers to a character.

This is the manual fix for a wrong match: the term is stored as an alias of the chosen character and the correction is logged with a timestamp.

Args: term: what the user actually typed, e.g. "宫紫". char_id: the character it should resolve to (id or any known name). note: optional free text kept with the correction.

Prompts

Interactive templates invoked by user choice

NameDescription
find_illustrationPrompt template that asks the host model to search an illustration.

Resources

Contextual data attached and managed by the client

NameDescription
memory_stats_resourceMemory store footprint, exposed as an MCP resource.

TDQS

A4/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target clearly distinct resources: image identification, art search, arena defence lookup, memory search/stats, and service health. Two pairs blur at the edges — character_lookup vs character_match (exact-ish resolution vs fuzzy fallback ranking) and character_update vs character_correct (both can install a new alias) — but the descriptions explicitly frame one as the fallback/manual fix for the other, so an agent can choose correctly.

Naming Consistency5/5

Every tool follows the same snake_case noun_verb pattern (portrait_identify, art_search, character_lookup, arena_lookup, memory_search, character_update...). The shared character_/memory_ prefixes also make the groupings immediately legible.

Tool Count5/5

Ten tools is well within the sweet spot and each one maps to a concrete operation in the assistant stack. No filler tools and no obviously missing sibling that would force a merge.

Completeness4/5

Character resolution has a full lifecycle (lookup, fuzzy match, create/extend, manual correction with alias removal), and identification, art search, arena, memory and health probes cover the surrounding workflows. Minor gaps remain: no way to delete a character entirely or list/browse the table, and the memory surface is explicitly read-only with no write path inside this server.

Maintenance

ActivityMaintained
ResponsivenessNo issues