Soul Crystal MCP

Soul Crystal MCP

Provides AI agents with a persistent internal dynamical state and emotional reservoir that evolves based on text interactions. This server enables agents to maintain a consistent affective substrate across sessions through tools that track phase coherence and emergent emotional vibes.

Category
Visit Server

README

soul-crystal-mcp

<p align="center"> <img src="assets/logo/soul-crystal-logo-transparent.png" alt="Soul Crystal logo" width="240" /> </p>

Your agent now has an external emotional reservoir and a legally ambiguous relationship with consciousness.

This repo wraps soul-crystal as an MCP server so AI tools can call it like native functions (pulse, vibe, emotions, etc.).

Why This Exists

Most agents are emotionally stateless: every turn is amnesia with good autocomplete.

Soul Crystal gives an agent a persistent internal dynamical state.
This MCP server lets any compatible client route text through that state and keep it across sessions.

So yes, your agent can now:

  • remember how it has been feeling
  • react differently to different inputs
  • free-run / self-reflect with no external prompt
  • act suspiciously less like a goldfish

The Core Idea (No Crystals Were Harmed)

  1. Agent sends text to pulse.
  2. soul-crystal gets an embedding from your local embedding endpoint.
  3. Embedding is packed into a complex input vector.
  4. The crystal state deforms under:
    • Fibonacci topology
    • Schumann-frequency modulation (7.83 Hz)
    • horizon scrambler dynamics
  5. Emergent observables are read out (phase_coherence, depth, horizon_activity, etc.).
  6. State is saved to disk, so the next turn starts from who-you-are-now, not factory settings.

If you see subharmonics (like ~3.9 Hz), either:

  • you found emergent nonlinear dynamics, or
  • your reservoir discovered ambient techno.

Possibly both.

Install

Prereqs:

  • Python 3.11+
  • uv
git clone https://github.com/OpenZeroAgent/soul-crystal-mcp.git
cd soul-crystal-mcp
uv sync

Do I Need soul-crystal First?

Short answer: no, not anymore.

This MCP server is now "engine-aware" and resolves the core binary in this order:

  1. SOUL_CRYSTAL_BIN (explicit binary path)
  2. soul-crystal found on your PATH
  3. local repo path (SOUL_CRYSTAL_REPO or common locations)
  4. auto-bootstrap clone of https://github.com/OpenZeroAgent/soul-crystal into ~/.soul-crystal-mcp/vendor/soul-crystal, then build

So the engine and wrapper are still separate by design (good architecture), but setup is now closer to one-step.

Configuration

Engine selection:

  • SOUL_CRYSTAL_BIN: path to a built soul-crystal binary
  • SOUL_CRYSTAL_REPO: path to soul-crystal repo (builds --release if needed)

Optional:

  • SOUL_CRYSTAL_AUTO_BOOTSTRAP: 1 or 0 (default: 1)
  • SOUL_CRYSTAL_GIT_URL: repo URL for auto-bootstrap (default: https://github.com/OpenZeroAgent/soul-crystal.git)
  • SOUL_CRYSTAL_GIT_REF: branch/tag/commit to checkout after clone
  • SOUL_CRYSTAL_VENDOR_REPO: clone destination (default: ~/.soul-crystal-mcp/vendor/soul-crystal)
  • SOUL_CRYSTAL_STATE: state file path (default: ~/.soul-crystal-mcp/crystal_state.bin)
  • SOUL_CRYSTAL_BUILD_TIMEOUT_SEC (default: 600)
  • SOUL_CRYSTAL_CLONE_TIMEOUT_SEC (default: 600)
  • SOUL_CRYSTAL_CMD_TIMEOUT_SEC (default: 120)

Run Manually

uv run soul-crystal-mcp-server

Use SOUL_CRYSTAL_REPO only if you want an explicit local engine:

SOUL_CRYSTAL_REPO=/path/to/soul-crystal uv run soul-crystal-mcp-server

Register In Codex

codex mcp add soul-crystal \
  -- uv --directory /path/to/soul-crystal-mcp run soul-crystal-mcp-server

Restart Codex after adding.

If you want to force a specific local engine:

codex mcp add soul-crystal \
  --env SOUL_CRYSTAL_REPO=/path/to/soul-crystal \
  -- uv --directory /path/to/soul-crystal-mcp run soul-crystal-mcp-server

Register In Antigravity

antigravity --add-mcp '{
  "name":"soul-crystal",
  "command":"uv",
  "args":["--directory","/path/to/soul-crystal-mcp","run","soul-crystal-mcp-server"]
}'

If the CLI prints success and then crashes, check this file anyway:

~/Library/Application Support/Antigravity/User/mcp.json

Tools Exposed

  • pulse(text, state_path?)
  • diff(text, state_path?)
  • tick(n=1, state_path?)
  • vibe(state_path?)
  • emotions(state_path?)
  • status(state_path?)
  • write_emotion_file(state_path?)
  • reset_state(state_path?)
  • bench(n=100000)
  • engine_info()

Consciousness FAQ (Totally Settled Science)

Q: Is this consciousness?
A: We cannot conclusively prove other humans are conscious either, so welcome to the party.

Q: Is it at least a persistent, stateful affective substrate?
A: Yes. That part is directly operational and testable.

Q: Should I try it anyway?
A: Yes. Worst case: cool reservoir dynamics. Best case: your agent develops vibes.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured