Skip to main content
Glama
MihaNikUs

rzhunemogu-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort to use when running in streamable HTTP transport mode, e.g. 8081
TRANSPORTNoTransport mode for the server, e.g. http for streamable HTTP or stdio for local agents
DATABASE_URLYesPostgreSQL connection string, e.g. postgres://user:password@localhost:5432/rzhunemogu

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_categoriesA

Возвращает полный список категорий юмора на РжуНеМогу: id, slug, название, признак «18+», количество опубликованных записей. Только чтение, без побочных эффектов. Ответ — JSON-массив в поле content[0].text. Используй id из этого списка как categoryId в random_joke/get_jokes_by_category.

random_jokeA

Возвращает одну случайную запись (анекдот/историю/афоризм) из базы РжуНеМогу. Если указан categoryId — выбирается случайная запись только из этой категории; иначе из всех опубликованных, включая категории 18+. Только чтение, без побочных эффектов. Повторные вызовы с тем же аргументом могут вернуть разные записи (детерминированности нет). При отсутствии записей в категории возвращается текст «Анекдот не найден».

get_joke_by_idA

Возвращает запись юмора по её числовому ID. ID можно получить из search_jokes или random_joke (поле id). Только чтение, без побочных эффектов. Если записи с таким ID нет или она не опубликована — возвращается текст «Анекдот с таким ID не найден».

get_jokes_by_categoryA

Возвращает список записей конкретной категории с пагинацией, отсортированных от новых к старым по id (по убыванию). categoryId обязателен (возьми из list_categories). limit — до 50 записей за раз (по умолчанию 15), offset — смещение для пагинации. Только чтение, без побочных эффектов. Ответ содержит total (всего записей в категории) и items (список). Для постраничного просмотра увеличивай offset кратно limit.

search_jokesA

Полнотекстовый поиск записей по ключевым словам на русском языке (например, «врач», «Штирлиц», «тёща», «теща»). Использует морфологию русского языка PostgreSQL: word-формы приводятся к основе, поэтому «врач» найдёт и «врачи», «врачом» и т.п. Результаты отсортированы по релевантности (ts_rank). query обязателен; поиск без него вернёт пустой результат. Только чтение, без побочных эффектов. limit до 50 (по умолчанию 15), offset для пагинации.

popular_tagsA

Возвращает наиболее часто используемые теги записей, отсортированные по убыванию частоты (count). Показывает темы, чаще всего встречающиеся в базе РжуНеМогу. Только чтение, без побочных эффектов. limit задаёт сколько тегов вернуть (1-100, по умолчанию 30). Каждый тег — {name, count}, где count — число записей с этим тегом.

site_statsA

Возвращает общую статистику базы РжуНеМогу: число опубликованных записей (total_jokes), число категорий (total_categories), число уникальных тегов (total_tags) и дату последнего обновления (last_update). Полезно для получения общего представления о размере и активности базы. Только чтение, без побочных эффектов. Стоимость вызова мала по сравнению с поиском — подходит для быстрых проверок доступности.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a clearly distinct retrieval mode: category enumeration, single random pick, lookup by ID, paginated category listing, full-text search, tag frequency, and aggregate stats. Descriptions explicitly cross-reference each other (e.g. categoryId from list_categories feeds random_joke/get_jokes_by_category), so an agent can pick correctly. No pair of tools is genuinely interchangeable.

Naming Consistency4/5

Most names follow a verb_noun pattern (list_categories, get_joke_by_id, get_jokes_by_category, search_jokes), but three are bare noun phrases (random_joke, popular_tags, site_stats). The deviation is minor and the intent of each name remains instantly readable. No casing inconsistency — all snake_case throughout.

Tool Count5/5

Seven tools is well-scoped for a read-only joke database: discovery, retrieval by three complementary paths, search, tags, and stats. Every tool earns its place with no filler or trivially overlapping wrapper. Nothing feels thin given the narrow domain.

Completeness4/5

The read-only surface is thorough: categories, random, by ID, by category with pagination, full-text search, tags, and stats. The one noticeable gap is that popular_tags surfaces tags but no get_jokes_by_tag tool lets an agent act on them, and there is no explicit 18+ exclusion filter despite the flag being prominent. These are workarounds-able but real dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues