Skip to main content
Glama
Bibliomantic MCP Server

Bibliomantic MCP Server

by d4nshields

Look up a trigram

get_trigram
Read-only

Retrieves one of the eight I Ching trigrams by English name or Chinese character, returning its lines, attribute, image, and family role for study or casting reference.

Instructions

Return one of the eight trigrams: its lines, attribute, image and family role.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "get_trigram"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesEnglish name in any case (e.g. 'heaven') or the Chinese character (e.g. '乾').

Output Schema

NameRequiredDescriptionDefault
nameYesEnglish name, e.g. 'Heaven'.
imageYesThe natural image, e.g. 'heaven'.
binaryYesBottom line first.
familyYesIts family role, e.g. 'father'.
pinyinYes
symbolYesUnicode trigram character, e.g. '☰'.
chineseYes
attributeYesIts quality, e.g. 'strength'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that the result set is a fixed eight-item lookup (implying stable, non-mutating data), but says nothing about error behavior for an unknown name or about the lookup's fallback semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the resource named first and the returned fields listed after. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a fully documented single parameter and an output schema, the description covers enough for correct invocation. A note on what happens for an invalid or ambiguous name would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'name' parameter is already documented with case-insensitivity and English/Chinese examples. The description adds no further meaning about accepted input forms, so it sits at the baseline for a fully documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb ('Return') with a bounded resource ('one of the eight trigrams') and enumerates what the result contains (lines, attribute, image, family role). This distinguishes it implicitly from the hexagram siblings (get_hexagram, cast_hexagram), though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus get_hexagram or cast_hexagram, and no prerequisites or exclusions are given. Usage is only inferable from the fact that it returns a single trigram.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.