MCP server for CHIM - provides AI agent with read-only access to HerikaServer database and filesystem
CHIM MCP server has 16 read-only tools with basic schemas and descriptions, but significant gaps prevent production use. All tools lack output schema documentation, LLMs cannot predict response structure. Most descriptions are adequate (50-150 chars) but lack context on WHEN to use each tool vs. similar ones (e.g., query_eventlog vs. get_speech_log). Parameters are typed but many lack descriptions (e.g., search_oghma has empty properties object). No error handling guidance, no recovery hints. Tools like run_query and read_file expose dangerous capabilities (arbitrary SQL, filesystem access) with minimal validation hints. Naming is clear (verb_noun pattern) but composition is weak, multiple overlapping tools (get_memories, get_memory_summaries, query_eventlog, get_diaries) suggest the agent must reason about subtle distinctions without explicit guidance.
Read configuration values from conf_opts table. Can fetch specific keys or search by prefix.
Fetch diary entries from diarylog. Returns diary records with topics, content, and metadata.
Query NPC memories from the memory table. Returns individual memory records.
Query compressed memory summaries from memory_summary table. Returns summarized/packed memories.
Get NPC profile by name
Get quest log entries
Get speech/dialogue records
No output schemas documented. LLMs cannot predict response structure, forcing them to guess at field names and types for downstream tool calls. This breaks tool chaining and increases hallucination risk.
search_oghma has empty input schema (no properties defined). LLM cannot determine what parameters to pass. Either add required/optional parameters or document why the tool accepts no input.
Multiple overlapping tools (query_eventlog, get_speech_log, get_diaries, get_memories) lack clear distinctions in descriptions. LLM must reason about subtle differences without explicit guidance on when to use each.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
List LLM, TTS, STT, or ITT connectors with their configuration.
List files and directories in a given path. Can list recursively up to 3 levels deep.
List all NPCs with optional filtering
List all CHIM profiles with their connector assignments (LLM, TTS, ITT, etc.).
Search the eventlog for dialogue and events. Returns matching entries with timestamps, speakers, and content.
Read contents of a file from HerikaServer, StobeServer, or service directories. Cannot read binary files or files larger than 1MB.
Execute arbitrary read-only SQL queries against dwemer or stobe databases
Search for files by name pattern (glob) and optionally search content by keyword.
Search the Oghma knowledge base
Dangerous tools (run_query, read_file, search_files) lack error handling guidance and validation hints. No mention of SQL injection prevention, path traversal guards, or recovery steps if queries fail.
Tools with empty or minimal descriptions (get_speech_log, get_quests, list_npcs, list_profiles, search_oghma). Descriptions under 50 chars provide insufficient context for LLM tool selection.