Skip to main content
Arka can connect to any MCP server from the terminal — the same Model Context Protocol used by Cursor, Claude Desktop, and other AI clients.
Summary: Arka is both an MCP client (call external servers like SigNoz or filesystem) and an MCP server (expose Arka skills to Cursor). Config lives at ~/.config/arka/mcp.json in Cursor-compatible format. Quick start: arka mcp list, arka mcp add, arka mcp tools, arka mcp call. See also How to code with Arka for IDE workflow.
MCP servers can also participate in Arka’s universal plugin catalog. After adding a server, use arka plugin doctor and arka plugin inspect <name> to check its normalized capabilities and permissions before routing requests to it. Agent Hub exports the same catalog alongside Arka’s skill manifest. Config lives at ~/.config/arka/mcp.json in Cursor-compatible mcpServers format.

Quick start

From fish:
Natural language (agent routing):

Config format

~/.config/arka/mcp.json:
Stdio servers use command + args. Remote servers use url + optional headers. Optional env values support ${env:VAR_NAME} substitution.

Transports

Arka reuses the existing HTTP MCP client for remote servers and a built-in newline-delimited JSON-RPC client for stdio — no extra dependencies required.

Optional Python SDK

Arka works without the SDK. If it is installed, Arka detects it (arka mcp status shows sdk on).

SigNoz MCP

For SigNoz specifically, Arka also ships traced helpers (arka signoz status, goal self-heal). Generic arka mcp works with any MCP server — not only SigNoz.

MCP logs

Use MCP logs when Cursor, Claude, or another MCP client reports production-like issues such as Connection closed, invalid tool arguments, unknown tools, or server error states:
Logs are JSONL and store sanitized client/server events: timestamp, component, method/tool, status, duration, and a short error snippet. Secrets, tokens, and authorization-like fields are redacted. By default the file lives under Arka’s config directory at logs/mcp.jsonl; set ARKA_MCP_LOG_PATH to override it for tests or hosted deployments.

Three.js model MCP

Arka has a built-in preset for baryhuang/mcp-threejs, a Sketchfab-backed MCP server for finding downloadable Three.js-compatible 3D assets. This is useful when a scene asks for real things such as satellites, spacecraft, vehicles, rooms, desks, or humans — Arka should prefer a licensed GLTF/GLB asset over rough geometric placeholders. Preview the config first:
Apply it to Arka’s MCP config:
The preset uses Docker:
Set the Sketchfab OAuth variables when you want live download-link lookup. Without tokens, the server may start but model lookup/download URLs can fail depending on the upstream API.

Commands reference

MCP tool calls open a fresh connection per invocation. For high-frequency use, prefer keeping servers local (stdio) or on a low-latency HTTP endpoint.

Arka as MCP server

Other agents (Cursor, Claude Desktop, OpenClaw, Codex, etc.) can call Arka skills and memory over MCP — the same stdio transport Arka uses as an MCP client.

Cursor setup

Use Arka as an MCP server inside Cursor so the editor agent can call arka_ask, arka_recall, arka_skill, and the rest of Arka’s exported tool surface.
1

Install Arka

From the repo (editable install) or your venv:
arka mcp doctor should end with summary ok and report the current tool count.
2

Add MCP config

Option A — project-level (recommended when working in the Arka repo): copy or symlink .cursor/mcp.json from the repo root. Cursor loads it automatically for this workspace.Option B — global: open Cursor Settings → MCP and merge the arka entry into ~/.cursor/mcp.json:
Example snippet (paths vary by machine — use arka mcp install for yours):
Repo helpers:
3

Restart Cursor

Fully quit and reopen Cursor, or use Settings → MCP → Reload. The arka server should show as connected with the current Arka tool count.
4

Example tool calls

In Cursor chat, ask the agent to use Arka MCP tools:
  • Recall memory: call arka_recall with {"goal": "project conventions"}
  • Ask Arka: call arka_ask with {"prompt": "summarize this repo"}
  • Run a skill: call arka_skill with {"skill": "repo_map"}
  • Repo layout: call arka_repo_map with {"depth": 2}
From the terminal (same tools, no Cursor):

IDE and agent setup

Arka exposes a standard stdio MCP server, so the same generated entry works in most MCP-compatible IDEs. Generate a machine-specific snippet instead of copying a path from this page:
Add the printed mcpServers.arka entry to the client’s MCP JSON file, then restart or reload its MCP panel. The entry is:
If the IDE cannot resolve your virtual environment, use an absolute Python executable and module invocation:
After configuring any client, verify the connection before asking the agent to use Arka:
In the IDE, explicitly say “use the Arka MCP tools” when needed. Treat arka_route as the umbrella Arka MCP tool: pass the user’s full natural-language request to it when you are not certain which narrower Arka tool should run. Useful first checks are arka_heartbeat, arka_repo_map, and arka_skill. Existing MCP servers are preserved when using arka agent_hub sync --unify; use arka agent_hub adapters to preview which client files will be updated.

Quick start

Editable installs without arka on PATH:
Run arka mcp install to print the correct command for your machine.

Exposed tools

MCP-safe defaults

Arka MCP hides or blocks personal desktop/device skills by default so IDE agents do not unexpectedly open Brave, start Spotify, play media, or run a personalized daily brief. This does not change local Fish/CLI behavior. Disabled-by-default MCP examples:
  • arka_spotify
  • play_spotify, spotify_control, spotify_brave_debug
  • play_song, play_youtube, play_movie, stop_music
  • open_url, open, browse, open_urls
  • search_web, browse_web, agent_browser
  • daily_brief
Headless/dev-safe tools such as browser_check, web_screenshot, automate, repo tools, code tools, data tools, and arka_route remain available. Opt in only when the MCP client is trusted to touch your desktop/browser/media state:
For a narrower override:

Agent Hub

agent_hub sync copies MCP config to the hub and ensures the arka self-server entry is present so other launch agents can merge it:
Hub env vars (ARKA_MCP_CONFIG, ARKA_HUB_DIR) are documented in Agent Hub.

Import IDE memory via MCP

arka_agent_hub can list and import memory from Cursor, Codex, OpenClaw, Arka session notes, and hub exports:
Other arka_agent_hub actions: status, adapters, detect, doctor, list. See Agent Hub — Memory import for source ids and formats.

Using Arka MCP to extend Arka

Dogfood the MCP workflow when adding skills: use Arka’s own MCP tools to discover gaps, then wire new capabilities back into CLI routing.

Example workflow

When a tool exists on the MCP server but lacks natural-language routing (for example arka_heartbeat or arka_jsonkit), add:
  1. route_command() in the Python module
  2. route_*() in src/arka/routing/symbolic.py
  3. Fish helpers _agent_is_*_request / _agent_route_* in config.fish
  4. Tests in tests/test_*_routing.py and tests/test_nl_routing_coverage.py
This keeps Cursor MCP, terminal NL, and ROUTE_MODE=symbolic_only in sync.

Browser safety

MCP requests do not open websites or desktop browser windows implicitly. Use headless skills such as browser_check, web_screenshot, or automate for inspection. If a workflow genuinely needs a headed tab, call the arka_skill tool with allow_browser: true after obtaining user approval. This prevents a model-generated URL from unexpectedly launching a browser.