Loading...
Loading...
All 34 tools across 8 categories. Each tool is available via any MCP-compatible client once the server is configured.
Generate canon-consistent characters, magic systems, creatures, locations, artifacts, names, and story prompts.
generate_characterGenerate a fully realized character with archetype, element affinity, backstory, and hooks.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | optional | Target world context |
archetype | string | optional | Character archetype (mage, guardian, wanderer, etc.) |
element | string | optional | Element affinity: fire, water, earth, wind, void, spirit |
gatesOpen | number | optional | Gates opened — determines magic rank (0–10) |
Example
generate_character({ archetype: "guardian", element: "void", gatesOpen: 7 })generate_magicDesign a magic system for a world, including source, mechanics, costs, and limitations.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | optional | World to scope the magic system to |
element | string | optional | Primary elemental basis |
style | string | optional | Hard / soft / structured system style |
Example
generate_magic({ element: "fire", style: "hard" })generate_creatureCreate a creature with natural history, abilities, and narrative role.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | optional | World context |
element | string | optional | Element association |
role | string | optional | Narrative role: companion, antagonist, neutral |
Example
generate_creature({ element: "water", role: "companion" })generate_locationGenerate a location with geography, atmosphere, history, and narrative hooks.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | optional | World context |
biome | string | optional | Biome or environment type |
gateAffinity | string | optional | Gate the location resonates with |
Example
generate_location({ biome: "forest", gateAffinity: "heart" })generate_artifactDesign a named artifact with origin, powers, and lore implications.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | optional | World context |
element | string | optional | Element the artifact channels |
tier | string | optional | Power tier: common, rare, legendary, mythic |
Example
generate_artifact({ element: "spirit", tier: "legendary" })generate_nameGenerate culturally coherent names for characters, places, or organizations.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | required | Name type: character, location, organization, artifact |
culture | string | optional | Cultural or elemental aesthetic |
count | number | optional | Number of names to generate (default 5) |
Example
generate_name({ type: "character", culture: "eldrian", count: 3 })generate_story_promptGenerate a story prompt or scene seed rooted in Arcanean narrative structure.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | optional | World context |
gate | string | optional | Gate frequency the story passes through |
tone | string | optional | Tone: epic, intimate, tragic, comedic |
Example
generate_story_prompt({ gate: "voice", tone: "intimate" })Diagnose creative blocks, invoke Luminor guidance, run multi-perspective council sessions, and stage debates between creative philosophies.
diagnose_blockIdentify what is causing a creative block and return a structured diagnosis with suggested actions.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
situation | string | required | Description of the creative situation or block |
gate | string | optional | Gate the work is connected to |
Example
diagnose_block({ situation: "I keep rewriting the opening chapter and nothing feels right" })invoke_luminorInvoke a specific Luminor (named creative archetype) to provide guidance on a question.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
luminor | string | required | Luminor name or archetype to invoke |
question | string | required | The question or challenge to bring to this Luminor |
Example
invoke_luminor({ luminor: "Alera", question: "How do I find my authentic voice for this story?" })deep_diagnosisMulti-layer diagnosis that examines structure, emotion, theme, and craft simultaneously.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
content | string | required | The work, passage, or creative problem to diagnose |
intent | string | optional | What you intended the work to achieve |
Example
deep_diagnosis({ content: "<passage>", intent: "evoke profound loss without melodrama" })convene_councilAssemble a council of diverse creative perspectives to evaluate a decision or work.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
question | string | required | The question or work to bring before the council |
perspectives | string[] | optional | Specific perspectives to include (default: auto-selected) |
Example
convene_council({ question: "Should this world have a morally ambiguous magic system?" })luminor_debateStage a structured debate between two or more Luminors on a creative or philosophical question.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
topic | string | required | Topic or proposition to debate |
luminors | string[] | optional | Luminors to include in the debate (2–4) |
rounds | number | optional | Number of exchange rounds (default 2) |
Example
luminor_debate({ topic: "Should antagonists believe they are right?", luminors: ["Maylinn", "Draconia"] })High-level world analysis, conflict generation, and narrative weaving across existing world elements.
world_reportGenerate a structured report on a world's current state: factions, tensions, active arcs, and gaps.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | required | World to analyze |
focus | string | optional | Analysis focus: political, magical, narrative, social |
Example
world_report({ worldId: "arcanea", focus: "political" })generate_conflictGenerate a narratively grounded conflict rooted in the world's existing factions, characters, or history.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | required | World context |
scale | string | optional | Scale: interpersonal, local, regional, cosmic |
type | string | optional | Conflict type: ideological, resource, identity, power |
Example
generate_conflict({ worldId: "arcanea", scale: "regional", type: "ideological" })weave_narrativeWeave existing world elements into a coherent narrative thread or episode structure.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | required | World context |
elements | string[] | required | IDs or names of world elements to weave together |
format | string | optional | Output format: summary, scene, outline |
Example
weave_narrative({ worldId: "arcanea", elements: ["Shinkami", "Source Gate", "Malachar"], format: "outline" })Build and traverse the semantic graph of your world. Link elements, discover relationships, and export structured world data.
link_creationsCreate a typed relationship between two world elements.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
sourceId | string | required | Source element ID |
targetId | string | required | Target element ID |
relationship | string | required | Relationship type: guards, created, opposes, descended_from, etc. |
Example
link_creations({ sourceId: "shinkami", targetId: "source-gate", relationship: "guards" })get_relatedReturn all elements related to a given world element.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
elementId | string | required | Element to find relations for |
depth | number | optional | Graph traversal depth (default 1, max 3) |
types | string[] | optional | Filter by relationship types |
Example
get_related({ elementId: "draconia", depth: 2 })suggest_connectionsSuggest narratively meaningful connections between existing world elements that are not yet linked.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | required | World to analyze |
limit | number | optional | Max suggestions (default 5) |
Example
suggest_connections({ worldId: "arcanea", limit: 5 })get_world_graphReturn the full creation graph for a world as structured data.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | required | World to retrieve the graph for |
format | string | optional | Output format: json, dot, summary |
Example
get_world_graph({ worldId: "arcanea", format: "summary" })find_pathFind the shortest narrative path between two world elements.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
fromId | string | required | Starting element |
toId | string | required | Destination element |
Example
find_path({ fromId: "malachar", toId: "shinkami" })export_worldExport a world's complete data as a portable JSON bundle.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | required | World to export |
include | string[] | optional | Sections to include: graph, lore, characters, locations, all |
Example
export_world({ worldId: "arcanea", include: ["graph", "characters"] })Spawn and coordinate specialized creative agents, assess world readiness, and manage active agent sessions.
orchestrateSpawn and coordinate one or more specialized agents to complete a multi-step creative task.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
task | string | required | Task description for the orchestrated agents |
agents | string[] | optional | Specific agent types to include |
worldId | string | optional | World context to scope the task |
Example
orchestrate({ task: "Build out the political factions of the northern territories", worldId: "arcanea" })list_agentsList available agent types with their capabilities and current status.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filter | string | optional | Filter by capability: worldbuilding, coaching, writing, analysis |
Example
list_agents({ filter: "worldbuilding" })assess_worldAssess a world's readiness for a specific type of work (writing, game, publication, etc.).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | required | World to assess |
purpose | string | required | Intended purpose: novel, game, visual, campaign |
Example
assess_world({ worldId: "arcanea", purpose: "novel" })active_sessionsReturn all currently active agent sessions.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
worldId | string | optional | Filter by world context |
Example
active_sessions({})agent_infoGet detailed information about a specific agent type or active agent instance.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
agentId | string | required | Agent type name or session ID |
Example
agent_info({ agentId: "character-forge" })match_skillFind the best-matching agent skill for a given creative need.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
need | string | required | Description of what you need to accomplish |
Example
match_skill({ need: "I need to write convincing villain dialogue" })Track a creator's journey through the Ten Gates and check milestone progress.
get_journeyReturn the current state of a creator's journey: gates opened, rank, active challenges, and recent progress.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId | string | optional | User ID (defaults to authenticated user) |
Example
get_journey({})check_milestonesCheck milestone completion status for a user or world.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId | string | optional | User to check milestones for |
worldId | string | optional | World to check milestones for |
gate | string | optional | Filter by specific gate |
Example
check_milestones({ gate: "voice" })Validate content against the Arcanean canon and identify which Gate a theme or work resonates with.
validate_canonCheck whether a piece of content is consistent with established Arcanean canon. Returns issues and suggestions.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
content | string | required | Text or structured data to validate |
strict | boolean | optional | Strict mode checks minor inconsistencies (default false) |
Example
validate_canon({ content: "Shinkami was created by Nero", strict: true })identify_gateIdentify which of the Ten Gates a theme, character, or work most resonates with.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
input | string | required | Theme, character description, or passage to analyze |
Example
identify_gate({ input: "A story about breaking free from inherited beliefs to speak your own truth" })Tools for refining AI prompts using Arcanean creative principles: enhance clarity, eliminate generic outputs, and format for specific models.
apl_enhanceEnhance a prompt using APL principles: sharpen specificity, add sensory grounding, and inject creative tension.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
prompt | string | required | Prompt to enhance |
mode | string | optional | Enhancement mode: subtle, moderate, full (default moderate) |
Example
apl_enhance({ prompt: "Write a dark fantasy scene", mode: "full" })apl_anti_slopAnalyze a prompt or output for generic, overused, or low-signal language. Returns specific replacements.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
content | string | required | Prompt or generated content to audit |
domain | string | optional | Domain context: fantasy, literary, dialogue, description |
Example
apl_anti_slop({ content: "The ancient wizard with piercing eyes spoke in a gravelly voice" })apl_formatFormat a prompt for optimal performance with a specific AI model or provider.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
prompt | string | required | Prompt to format |
model | string | required | Target model: claude, gpt, gemini, llama |
Example
apl_format({ prompt: "Write a character origin story", model: "claude" })