Ikuna

io.github.RobertoHanasPublished by GitHub account RobertoHanasv0.2.0Updated Oct 25, 2026

Read workspace context and activity from the running Ikuna macOS app, with app-managed permissions.

Overview

AI-generated overview

A local macOS bridge that lets an AI assistant read workspace context and activity from the running Ikuna app, within permissions set in Ikuna.

What you can do
Connect an AI client to the workspace context of the Ikuna app running on the Mac, with tools determined by the capabilities enabled in Ikuna's AI Connections settings. Run a guided setup that detects Claude Desktop, Codex, Claude Code and Cursor, merges only Ikuna's entry into their configuration, keeps the latest three backups and verifies the local handshake. Repair stale or missing configuration, or target a specific client, by re-running setup. Point the bridge at a particular running Ikuna bundle by path or environment variable. Check Ikuna's health and then ask about the workspace once connected.
When to use it
Use it when you run the Ikuna macOS app and want an AI client such as Claude Desktop, Codex, Claude Code or Cursor to work with your Ikuna workspace context and activity. It is not useful without Ikuna installed and running.
Requirements
macOS with Node.js 18 or later, including npx, and an Ikuna build that includes the MCP helper. Ikuna must be installed, open and running, with the desired capabilities enabled in Settings, AI Connections. The first run downloads the package from npm. Optional IKUNA_APP_PATH or --app-path selects a specific running bundle; IKUNA_MCP_CLIENT_ID is optional bookkeeping.
Before you install
Installing the package does not change permissions; tools and approvals are controlled by Ikuna, and some tools may be unavailable or require approval. The bridge does not open the app for you and exits with an error when Ikuna is closed. Run only one Ikuna copy at a time, since all copies share the local bridge service. Setup writes to the configuration files of detected AI clients, so review those changes and the retained backups.

Installation

In SourceWeft

  1. Open Ikuna in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Ikuna MCP

Connect your AI client to the workspace context in the Ikuna app running on your Mac.

ikuna-mcp 0.1.1 is listed in the official MCP Registry as io.github.RobertoHanas/ikuna-mcp.

Connect

  1. Install Node.js 18 or later, including npx.
  2. Open Ikuna and enable the capabilities you want to share in Settings → AI Connections.
  3. Run the guided setup:
sh
npx -y ikuna-mcp setup

Setup detects Claude Desktop, Codex, Claude Code, and Cursor, merges only Ikuna's entry into their existing configuration, retains the latest three backups, and verifies the local MCP handshake. Re-run the same command to repair stale or missing values, or make that intent explicit:

sh
npx -y ikuna-mcp setup --repairnpx -y ikuna-mcp setup --client codex

Exit status 0 means every detected client was configured and the handshake passed, 1 means configuration was saved but verification needs a manual step, and 2 means no detected client could be configured.

For a client that is not detected automatically, add this entry to its mcpServers configuration, keeping your other servers:

json
"ikuna": { "command": "npx", "args": ["-y", "ikuna-mcp"] }

For clients such as Claude Desktop, Claude Code, and Cursor, a complete JSON configuration is:

json
{  "mcpServers": {    "ikuna": {      "command": "npx",      "args": ["-y", "ikuna-mcp"]    }  }}

For Codex, add this to ~/.codex/config.toml:

toml
[mcp_servers.ikuna]command = "npx"args = ["-y", "ikuna-mcp"]startup_timeout_sec = 30

Restart or reconnect your MCP client after saving. Ask it to check Ikuna's health, then ask about your workspace. Your available tools depend on the capabilities enabled in Ikuna.

The first run downloads this small package from npm. Later runs use npm's cache. If your client cannot find npx, use the full executable path reported by command -v npx as command and ensure Node.js is on that client's PATH.

Requirements and troubleshooting

This package runs locally on macOS. It requires an Ikuna build that includes the MCP helper at Contents/bin/ikuna-mcp.

  • Ikuna is installed but closed: open Ikuna, leave it running, and reconnect the MCP client. The npm bridge exits with an error when Ikuna is closed; it does not open the app for you.
  • Ikuna is not installed: install it from the official Ikuna product page, open it, and reconnect the MCP client.
  • MCP helper unavailable: update Ikuna to a build with AI Connections support.
  • Discovery timeout: quit and reopen Ikuna, then retry. Running-app discovery has a short deadline and errors are written to stderr, never mixed with MCP responses.
  • More than one Ikuna copy running: quit the extra copies. All copies share the local bridge service, so use one running installation at a time.
  • Tools unavailable or approval required: review the capabilities in Ikuna's AI Connections settings. Installing this package does not change permissions.

Custom installation locations are discovered automatically from the running app. To select a particular running bundle explicitly:

json
"ikuna": {  "command": "npx",  "args": ["-y", "ikuna-mcp", "--app-path", "/Applications/Ikuna.app"]}

IKUNA_APP_PATH is the equivalent environment variable. A selected bundle must already be running. The optional IKUNA_MCP_CLIENT_ID environment variable is passed through to Ikuna for connection bookkeeping; it does not grant access.

How it works

text
MCP client → npx ikuna-mcp → Ikuna.app/Contents/bin/ikuna-mcp → local XPC bridge → Ikuna

The npm package discovers the running Ikuna bundle and launches its embedded native helper with the client's stdio streams. The native helper provides the signed XPC connection, request deadlines, and per-client protocol sessions. Ikuna remains responsible for tools, workspace data, approvals, and mutations. On the way back to the client, the package repairs the tools/list schema so an optional confirmation field stays optional and strict clients do not reject valid read calls; it changes no request, workspace data, or result. The package has no runtime dependencies, reads no workspace database, and opens no network listener.

The MCP Registry manifest is included as server.json. Maintainers can follow RELEASE.md to publish the npm package and listing together.

Source: README.md at commit 9798d82

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.2.0LatestSep 16, 2026
  2. v0.1.1Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts