Skip to main content
Glama
gamesme

chatlab-mcp

by gamesme

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CHATLAB_URLNoThe URL of the ChatLab API serverhttp://127.0.0.1:5200
CHATLAB_TOKENYesAPI token generated from ChatLab settings

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_sessionsB

Lists all imported chat sessions with name, platform, message count, and time range. Returns plain text by default (set format=json for JSON).

get_sessionA

Gets full details of a single session by ID. Returns plain text by default (set format=json for JSON).

get_messagesA

The primary tool for reading message content. Retrieves up to 500 messages per call with filters for keyword, time range, and sender. Use page to paginate. Returns plain text by default (set format=json for JSON, format=text for compact format). Always prefer this over execute_sql when reading messages.

get_membersA

Lists all members in a session with their platformId, name, and role. Returns plain text by default (set format=json for JSON).

get_stats_overviewA

Returns statistical overview of a session: message counts, active members, time distribution. Returns plain text by default (set format=json for JSON).

execute_sqlA

For statistical aggregation ONLY (COUNT, GROUP BY, SUM, AVG). Do NOT use to fetch message content — use get_messages for that. Max 200 rows returned. Available tables: message, member.

get_conversation_textA

Get conversation in plain text format with filtering and compression. Returns compact text optimized for LLM context (saves tokens vs JSON).

get_full_conversationA

Get full conversation across multiple pages, returns compact text format. Use for small to medium sessions only.

get_message_contextA

Get N messages before and after one or more specific message IDs. Use when the user references "what was being said around message X" or wants to see the conversation surrounding a specific message.

get_conversation_betweenA

Get messages between two specific members (interleaved by time). Use when the user asks "what did A and B talk about". Members must be referenced by their numeric DB id; call get_members first to look them up.

get_session_summariesA

Get AI-generated summaries of chat sub-sessions from the chat_session table. Use to quickly survey what topics have been discussed. Supports keyword filtering and time range. Returns text by default.

deep_search_messagesA

Full-text search messages via FTS5, then expand each hit with surrounding context messages. Use for "did anyone mention X" style queries where conversation context matters.

get_time_statsA

Get message count distribution bucketed by hour, weekday, or day. Use for "when are people most active" type questions. Timezone-aware bucketing.

get_member_activityA

Top members ranked by message count with percentage of total. Use for "who talks the most" or "most active members" type questions. Supports top_n and time filters.

get_member_name_historyA

Get the historical name changes (account name, nickname) for a single member. Useful for tracking identity changes over time.

get_response_time_analysisA

Reply intervals between consecutive messages from different senders, grouped by (from, to) pair. Excludes same-sender continuations and gaps over 1 hour. Use for "who responds fastest" type questions.

keyword_frequencyA

Word/keyword frequency analysis. Currently not implemented in the MCP server due to NLP dependency size; returns a stub message with alternative approaches.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but there is slight overlap between get_messages, get_conversation_text, and get_full_conversation. However, descriptions clarify when to use each, so ambiguity is low.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case. Most use 'get_' prefix, except deep_search_, execute_sql, keyword_frequency, and list_sessions, which are still clear and consistent with their verb choice.

Tool Count4/5

17 tools is slightly above the typical well-scoped range (3-15), but each tool serves a distinct analytical purpose for chat sessions, so it feels appropriate rather than bloated.

Completeness4/5

The tool set covers all major aspects of chat analysis (listing, messages, members, activity, time stats, context, summaries). The only gap is the stub keyword_frequency tool, which is acknowledged but not implemented.

Maintenance

ActivityInactive
ResponsivenessNo issues