Skip to main content

Cognigy AI agent demo builder MCP server

Project description

cognigy-vibe-mcp

A local Python MCP server for building Cognigy AI agent demos with Claude Code. Covers the full Cognigy REST API surface — node creation, flow inspection, code push with conflict detection, session testing, and a 20-topic reference library.

Part of the cognigy-claude-plugin.

Installation

uv tool install cognigy-vibe-mcp                        # stable
uv tool install cognigy-vibe-mcp --prerelease allow     # latest prerelease

Quick start

In your demo project directory, run the cognigy:init-mcp skill in Claude Code. It will:

  1. Create ~/.config/cognigy-mcp/<project-id>/ for state and cache
  2. Write the MCP server entry to .mcp.json

Restart Claude Code. If credentials aren't configured yet, the server starts in degraded mode — all tools are visible but every call returns setup guidance until you create a .env. Once the file exists, retry the same tool call and it executes immediately without restarting.

Once connected, call sync_remote_state to populate state from your Cognigy project.

Manual configuration

Add to .mcp.json at your project root:

{
  "mcpServers": {
    "cognigy-vibe": {
      "command": "uvx",
      "args": ["cognigy-vibe-mcp"]
    }
  }
}

Credentials are read from a .env file in the project root (see Environment variables below). If no .env exists, the server starts in degraded mode — all tools are visible but calls return setup guidance until credentials are configured.

Environment variables

Variable Required Default Description
COGNIGY_BASE_URL Yes Cognigy API base URL (e.g. https://cognigy-api-au1.nicecxone.com)
COGNIGY_API_KEY Yes API key from Cognigy UI → My Profile → API Keys
COGNIGY_PROJECT_ID No Default project; can be set later via sync_remote_state
COGNIGY_VIBE_RESYNC_HOURS No 4 Hours of idle before auto-resync
COGNIGY_VIBE_CACHE_TTL No 300 Resource cache TTL in seconds
COGNIGY_VIBE_DEV No Set to 1 to enable dev mode (requires credentials configured)
COGNIGY_VIBE_SOURCE_DIR No Absolute path to cognigy-mcp/; required when COGNIGY_VIBE_DEV=1

Startup modes

The server selects a mode at startup based on the .env file in the project root:

Condition Mode Tools available
COGNIGY_BASE_URL or COGNIGY_API_KEY missing Degraded Full tool set (calls return setup guidance)
Both present, COGNIGY_VIBE_DEV absent Production Full tool set
Both present, COGNIGY_VIBE_DEV=1 Dev Full tool set + reload_mcp

In degraded mode every tool call returns guidance on creating .env with the correct credentials. Once the file exists, retry the same call — the server restarts to production mode and returns the real response immediately.

Dev mode spawns the inner server from COGNIGY_VIBE_SOURCE_DIR via uv run. After editing source files, call reload_mcp to respawn from updated code in the same Claude session.

Tools

State & sync

Tool Description
sync_remote_state Wipe cache and repopulate from Cognigy remote
get_build_state Return name→ID mappings (filterable by resource_type)
resolve_resource Fast name→ID lookup from local state (no API call)

Flow operations

Tool Description
cognigy_get GET any resource, cache-first
cognigy_list List resources; singular/plural resource_type both accepted
cognigy_create POST resource; extension auto-injected, Say config auto-normalised
cognigy_update PATCH with always-fresh GET + optional deep merge
cognigy_delete DELETE any resource including nodes
cognigy_invoke Named operations: move, clone, train, inject, search
get_flow_chart Chart with relations array + readable hierarchy string

File push

Tool Description
push_code_node Push local .js/.ts to a code node with conflict detection
push_html_node Push local .html to a setHTMLAppState node
push_agent_tool Create or update a file-backed aiAgentJobTool from a .tool.json

Testing

Tool Description
talk_to_agent Send a message to a flow via REST endpoint

Guidance

Tool Description
explain 20-topic reference library (see below)

Dev

Tool Mode Description
reload_mcp Dev only Respawn the inner server from local source after file edits

explain topics

Call explain() for an overview. Call explain("topic") for full details.

node-positioning · node-wiring · agent-tool-branch · node-config-update · flow-chart-reading · tool-conditions · two-pass-confirm · turn-structure · xapp-delivery · cognigyScript · code-node-patterns · voice-gateway · outbound-trigger · knowledge-store · endpoint-config · function-execution · session-injection · extension-map · node-types · mcp-comparison

Topics are front-loaded in the tool description — no tool call needed to see what's available.

Key behaviours

  • Extension auto-injectioncognigy_create injects extension for all known node types: @cognigy/voicegateway2 for setSessionConfig/hangup, cognigy-ai-agent for AI agent nodes, cxone-utils for xApp nodes
  • Say node normalisationconfig: { text: "Hello" } is automatically wrapped into the full config.say.text envelope
  • Conflict detectionpush_code_node snapshots the last-pushed content and blocks if the Cognigy UI has been edited since
  • Auto-resync — sessions idle longer than the threshold are silently re-synced before the next tool call
  • Atomic writes — state and cache files use write-to-tmp-then-replace to survive process interrupts
  • Graceful degraded mode — server always starts; missing credentials surface the init tool instead of crashing

Development

git clone https://github.com/ben-elliot-nice/cognigy-claude-plugin
cd cognigy-claude-plugin/cognigy-mcp
uv sync --extra dev
uv run pytest tests/ -v

To develop against local source with hot-reload, add to your project .env (credentials must be configured first):

COGNIGY_VIBE_DEV=1
COGNIGY_VIBE_SOURCE_DIR=/absolute/path/to/cognigy-claude-plugin/cognigy-mcp

Then ask Claude to call reload_mcp after editing source files — the server respawns from updated code without a terminal restart.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cognigy_vibe_mcp-1.5.6.dev5.tar.gz (107.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cognigy_vibe_mcp-1.5.6.dev5-py3-none-any.whl (57.5 kB view details)

Uploaded Python 3

File details

Details for the file cognigy_vibe_mcp-1.5.6.dev5.tar.gz.

File metadata

  • Download URL: cognigy_vibe_mcp-1.5.6.dev5.tar.gz
  • Upload date:
  • Size: 107.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cognigy_vibe_mcp-1.5.6.dev5.tar.gz
Algorithm Hash digest
SHA256 9038554030761162ee2b472d15a9f18a253280d46cbbce32341b8c1325ca0cee
MD5 065c7b0cff4558f6ab5f2800efba9177
BLAKE2b-256 ca0b14ae004f83a60dd8b8a4d7a2860d06dce64f28e4052f458ea1416c8cacc6

See more details on using hashes here.

File details

Details for the file cognigy_vibe_mcp-1.5.6.dev5-py3-none-any.whl.

File metadata

  • Download URL: cognigy_vibe_mcp-1.5.6.dev5-py3-none-any.whl
  • Upload date:
  • Size: 57.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cognigy_vibe_mcp-1.5.6.dev5-py3-none-any.whl
Algorithm Hash digest
SHA256 ffe7fdd02dbb0c1568888889390f27402bafa5cc8302550d800c9ced5d97ebd1
MD5 6fded7330172e65918fa577f313d6084
BLAKE2b-256 32ce450e8fe62183939c95a3c6e1a15d6ae35d03701357c4d9bf125e41afa0ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page