meridian59-llm-bot
Enables writing milestone journals to an Obsidian vault for tracking progress.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@meridian59-llm-botSet my persona to a fearless warrior."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Meridian 59 LLM Bot
An experimental Windows control plane for an LLM-driven Meridian 59 character.
This project supplies durable goals, policy, supervision, and an
OpenAI-compatible model loop while the separately maintained
m59-harness integration fork
(upstream) owns the ordinary game
protocol and mechanical actions.
Alpha status: source publication and automated validation do not mean the bot has completed live commissioning. Clean-profile installation, live onboarding, outage exercises, and the 24-hour soak remain release gates. No stable release is declared; see the public release checklist.
This is pre-release software. Run it on an account and server where automated play is permitted, review the fair-play policy, and keep all control services on loopback unless you understand the exposure.
Onboarding model
A fresh installation intentionally has no character policy or built-in gameplay goal. Setup proceeds in this order:
A human configures the Meridian 59 server, account, and an OpenAI-compatible LLM endpoint/model during installation.
The human or supervising agent sets the desired character name and complete conversation persona through the
personaMCP tool.The configured LLM selects a supported build. The controller previews, audits, creates, and verifies the named character through the harness.
Once status reports
onboarding.ready_for_goals=true, a human or higher-level agent submits the first strategic goal.
Generated first-run names such as User123456789 may be replaced automatically.
An established, differently named character is preserved unless the persona is
set again with replace_existing_character=true. Character creation never
invents a gameplay goal.
Related MCP server: DMCP
Capabilities
Durable SQLite goals, proposals, persona versions, events, action attempts, consequence assessments, and cross-goal lessons.
One-action-at-a-time planning through a configurable OpenAI-compatible API.
A deterministic authority layer that prevents model access to controller and account-lifecycle tools.
Survival handoff, isolated model-generated social replies, and audited controller-owned tactical composites.
An authenticated loopback control API and a separate read-only dashboard.
Six supervision MCP tools plus a read-only knowledge MCP server backed by the pinned harness compendium.
Optional Windows notifications and sparse Obsidian milestone journals.
A deterministic simulator and standard-library test suite.
The behavioral boundary is no cheating. Server rules and permission to automate remain the operator's responsibility.
Requirements
Windows 10 or 11 and PowerShell 5.1 or later.
Python 3.11 or later.
Node.js compatible with the pinned harness.
Git with submodule support.
A reachable Meridian 59 server and authorized account.
An OpenAI-compatible chat-completions endpoint and model ID.
Optional: Hermes/Codex-compatible MCP host, Obsidian, and Windows notifications.
Install
git clone --recurse-submodules https://github.com/cpappas213/meridian59-llm-bot.git
Set-Location .\meridian59-llm-bot
python -m pip install --editable .
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\test.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\install.ps1If the repository was cloned without submodules, run:
git submodule update --init --recursiveThe installer prompts for the game endpoint and credentials, LLM base URL and
model ID, timezone, optional Obsidian path, and dashboard bind address. It stores
secrets in an ACL-restricted file below %LOCALAPPDATA%\m59-llm-bot, writes the
runtime TOML configuration, registers a restart-on-failure logon task, and adds
the controller and knowledge MCP servers when the hermes command is available.
Restart the MCP host after installation.
The package installs tzdata on Windows so Python can resolve configured IANA
timezone names. Unix-like systems continue to use their system timezone data.
The default request contract uses OpenAI JSON response mode. If an otherwise
compatible endpoint does not implement response_format, set
model.json_mode=false. model.disable_thinking is off by default and should be
enabled only for servers/models that support Qwen-style enable_thinking.
The default dashboard is http://127.0.0.1:8904/. The mutation API and harness broker remain loopback-only.
First run
Run a dependency check without printing credentials:
$env:PYTHONPATH = "$PWD\src" python -m meridian_bot.cli --config "$env:LOCALAPPDATA\m59-llm-bot\bot.toml" doctorRead the
personatool and set a complete persona with the desired name.Poll
statusuntil onboarding is ready. If an established character should be replaced, repeat the persona update with an explicit replacement flag.Submit one high-level goal with deterministic completion criteria.
The controller does not embed a default character, PvP quota, destination, or progression target. Those are operator policy and belong in explicit goals.
Development
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\test.ps1The runtime package uses only the Python standard library. Tests use the local simulator and do not connect to a game account, model server, or Obsidian vault.
Documentation
License and third-party code
Project-authored code is available under the MIT License. The
vendor/m59-harness submodule is a separate project. No tracked license file was
found at the pinned revision, so availability on GitHub must not be interpreted
as permission to redistribute it. See
third-party notices before redistribution.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityFmaintenanceEnables LLM-driven text game state management by exposing MCP tools for managing players, locations, items, entities, and abstract concepts.Last updatedMIT
- Alicense-qualityCmaintenanceAn MCP server that enables AI agents to act as dynamic dungeon masters for text-based RPGs with dynamically generated rule systems and comprehensive game state management.Last updated79MIT
- Alicense-qualityCmaintenanceMCP server providing persistent memory, goal tracking, self-reflection, and background monitoring for any MCP-compatible AI agent.Last updated1MIT
- -license-quality-maintenanceGoal-oriented narrative state machine for AI agents, exposing live world/scene context as MCP tools and resources.Last updated
Related MCP Connectors
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cpappas213/meridian59-llm-bot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server