meridian59-llm-bot

meridian59-llm-bot

Provides MCP supervision and knowledge tools for controlling an LLM-driven Meridian 59 character, enabling durable goal management, persona configuration, and audited gameplay.

Category
访问服务器

README

Meridian 59 LLM Bot

CI License: MIT

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.

[!IMPORTANT] 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.

[!WARNING] 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:

  1. A human configures the Meridian 59 server, account, and an OpenAI-compatible LLM endpoint/model during installation.
  2. The human or supervising agent sets the desired character name and complete conversation persona through the persona MCP tool.
  3. The configured LLM selects a supported build. The controller previews, audits, creates, and verifies the named character through the harness.
  4. 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.

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.ps1

If the repository was cloned without submodules, run:

git submodule update --init --recursive

The 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

  1. Run a dependency check without printing credentials:

    $env:PYTHONPATH = "$PWD\src"
    python -m meridian_bot.cli --config "$env:LOCALAPPDATA\m59-llm-bot\bot.toml" doctor
    
  2. Read the persona tool and set a complete persona with the desired name.

  3. Poll status until onboarding is ready. If an established character should be replaced, repeat the persona update with an explicit replacement flag.

  4. 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.ps1

The 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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选