home / mcp / vibespace mcp server

Vibespace MCP Server

Provides an MCP server to manage vibes and worlds with real-time NATS streaming, CRUD for vibes/worlds, and multi-tenant stream support.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "bmorphism-vibespace-mcp-go-ternary": {
      "command": "./bin/vibespace-mcp",
      "args": [],
      "env": {
        "NONE": "PLACEHOLDER"
      }
    }
  }
}

Vibespace MCP Experience is a Go-based MCP server that manages "vibes" and "worlds" with real-time streaming via NATS. You can create, update, and observe vibes and worlds, publish world moments, and stream data to clients in real time while tracking sensor data and world features across multiple interfaces.

How to use

You interact with the vibespace MCP server using an MCP client to create and manage vibes, worlds, and world moments. Use the World Tools to create or update a world, assign a vibe, and configure features. Use the Vibe Tools to create and manage vibes. Start real-time streaming to share world moments with connected clients and subscribers. Monitor streaming status and adjust configurations as needed to suit multi-tenant scenarios or different world types (physical, virtual, hybrid). The server provides multiple resources and endpoints to discover and operate on vibes, worlds, and their moments.

How to install

Prerequisites: you need a Go development environment to build or run the server. You also need a working NATS server if you plan to use real-time streaming.

Install the vibespace MCP Go package and prepare to run the server.

Clone the repository, build the project, and run the server locally using the provided build/run flow.

Commands to execute in sequence:

# Initialize module and fetch dependencies
GO111MODULE=on go get github.com/bmorphism/vibespace-mcp-go

# Build the server binary
just build

# Run the server from the built binary
./bin/vibespace-mcp

Additional sections

Configuration details, security considerations, and example usage are described in the following sections. You will find how to connect clients, manage world states, and publish world moments using JSON-RPC methods exposed by the server.

MCP Protocol overview

The vibespace MCP server exposes resources for listing and accessing vibes and worlds, and a set of tools to manage them. The streaming subsystem uses NATS to publish world moments in real time with stream ID support for multi-tenant isolation. Sensor data can be associated with vibes and worlds, enabling rich, real-time monitoring and interaction across different interfaces.

Tools and capabilities

- Vibe Tools: create_vibe, update_vibe, delete_vibe - World Tools: create_world, update_world, delete_world, set_world_vibe - Streaming Tools: streaming_startStreaming, streaming_stopStreaming, streaming_status, streaming_streamWorld, streaming_updateConfig These tools enable you to manage the lifecycle of vibes and worlds, publish and control live streams, and adjust streaming behavior in real time.

Notes on usage and testing

The server includes a range of tests to ensure CRUD operations for vibes and worlds, sensor data handling, world feature management, concurrency, and end-to-end integrations. Use the provided test workflows to verify your setup and ensure correct behavior under load.

Example workflow overview

Create a world, assign an initial vibe, and start streaming world moments to subscribers. Update world features and vibe attributes as your collaborative scenario evolves. Use the streaming tools to monitor the stream status and adjust configuration as needed for responsiveness and reliability.

Available tools

create_vibe

Create a new vibe resource with properties such as mood, intensity, and sensor data associations.

update_vibe

Update an existing vibe's attributes, including sensor data and related metadata.

delete_vibe

Remove a vibe from the in-memory or persistent storage.

create_world

Create a new world resource with type (physical, virtual, hybrid) and initial features.

update_world

Modify an existing world’s attributes, such as features, type, or vibe assignment.

delete_world

Remove a world resource and its associations from the server.

set_world_vibe

Attach or change the vibe associated with a specific world.

streaming_startStreaming

Begin real-time streaming for a specified world moment stream.

streaming_stopStreaming

Stop real-time streaming for a specified world moment stream.

streaming_status

Query the current status of an active streaming session.

streaming_streamWorld

Publish world moments and related data to subscribers in real time.

streaming_updateConfig

Update streaming configuration such as stream IDs, rate limits, and encoding.