storyai
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STORYAI_PROJECTS_FILE | No | Path to the projects registry file used for testing or a separate operational registry. | |
| STORYAI_REDERIVE_API_KEY | No | API key for authenticating with the rederivation endpoint. | |
| STORYAI_REDERIVE_ENDPOINT | No | HTTPS webhook endpoint for Tier-2 rederivation. Loopback HTTP is allowed for local testing. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| checkB | spec/rules.json의 P2 SQL 규칙으로 책 또는 노드 범위의 연속성을 진단합니다. LLM을 호출하지 않으며 노드와 근거를 함께 반환합니다. |
| commitB | 저장된 제안을 단일 SQLite 커밋 레인에서 원자적으로 적용하거나 dry_run 합니다. 충돌하면 어떤 변경도 적용하지 않습니다. |
| findA | 제목·별칭·요약·근거 본문을 BM25, 로컬 sqlite-vec dense, 또는 두 순위의 RRF 결합으로 검색합니다. 외부 임베딩 API를 호출하지 않습니다. |
| getB | 주소로 노드를 읽습니다. brief는 한 줄 요약, full은 구조화 필드, body는 선택한 노드 하나의 근거 원문만 반환합니다. |
| graph_schemaA | 런타임 온톨로지의 노드 타입·간선·태그·진단 규칙을 반환합니다. 스키마를 추측하지 말고 이 도구로 확인하세요. |
| impactB | 가상의 필드 변경이 역방향 hard 간선을 따라 영향을 줄 노드와 관련 진단 규칙을 읽기 전용으로 미리 계산합니다. |
| ingestB | 원고 전체와 명시적 ID binding manifest의 해시·UTF-8 byte span·Scene 분할을 검증하고 증분 변경 Proposal만 만듭니다. live 그래프는 commit 전까지 바뀌지 않습니다. |
| neighborhoodA | 의도 검색 seed와 명시적 anchor에서 hard 간선 1-hop을 확장해 token budget 안의 집필 컨텍스트 패킷을 만듭니다. |
| outlineA | 책 전체 또는 한 주소 아래의 구조를 본문 없이 반환합니다. 항상 넓은 탐색의 첫 단계로 사용하세요. |
| promisesA | 복선의 F-T-P, 상태, 부채, S-Eff, delta-Coh 근사치를 조회합니다. 집필 전에 eligible 상태만 필터링할 수 있습니다. |
| proposeA | 비어 있지 않은 read_set과 멱등 키가 있는 연산을 변경 제안으로 기록합니다. 이 호출만으로 live 그래프는 바뀌지 않습니다. |
| queryA | 손으로 빚은 도구로 풀기 어려운 분석을 위해 단일 SELECT/WITH SQL을 읽기 전용, 행 제한, 실행 예산과 함께 수행합니다. |
| refsC | 한 노드를 가리키거나 그 노드가 가리키는 관계를 반환합니다. 산문 언급인 soft 간선은 요청할 때만 포함합니다. |
| traceA | 한 노드에서 특정 대상 또는 서사 장치까지의 bounded hard-edge 경로를 반환합니다. 관계 종류와 깊이 및 경로 수를 제한할 수 있습니다. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a clearly distinct operation: search (find), read (get, outline), graph navigation (refs, trace, neighborhood), diagnostics (check, impact), and staged writes (ingest, propose, commit). Minor overlap exists between ingest/propose (both create proposals) and check/impact (both diagnostic), but the descriptions draw clear boundaries.
Naming is mixed: most tools use imperative verbs (get, find, check, commit, propose, ingest, trace, query), but several are nouns or abbreviations (outline, promises, refs, neighborhood, graph_schema). The pattern is readable but inconsistent across verb and noun conventions.
14 tools is on the higher end but reasonable given the rich domain of narrative graph management, continuity diagnostics, foreshadowing, and staged write workflows. Each tool appears to earn its place, though the count leans toward the heavy side of the ideal range.
The surface covers the full lifecycle well: reading (get, outline), search (find, query), graph navigation (refs, trace, neighborhood), schema introspection (graph_schema), diagnostics (check, impact), and staged writes (ingest, propose, commit). Minor gaps exist (no explicit delete/rollback tool, no direct promise mutation), but the workflow demonstrates no dead ends.