Neither MCP README

The full upstream README, mirrored for reference. Install config, tool schemas, adoption signals and our own overview live on the Neither MCP listing page.

neither-mcp

AllMCPs Verified

Public source mirror for the Neither CLI and MCP server.

Neither is decision memory for Cursor, Claude Desktop, and Claude Code, with Gemini CLI as an additional install surface. Start / get a workspace API key: https://www.neither.online/start/?product=dev&utm_source=plugin&utm_campaign=neither-mcp. The npm package homepage uses the same /start URL with utm_source=npm.

Install (Node 20+): npx -y @neitherai/mcp-server@latest — then set NEITHER_API_KEY in your MCP config (Cursor mcp.json, Claude Desktop, or Claude Code claude mcp add).

Try Neither in Cursor

Get your workspace key from https://www.neither.online/start/?product=dev&utm_source=plugin&utm_campaign=neither-mcp.

Then Add to Cursor:

Add to Cursor Add to Cursor

Configure the key locally in Cursor (replace REPLACE_WITH_YOUR_WORKSPACE_KEY). Node.js 20+ required.

Then follow the existing own-project walkthrough: llms-install.md (first-use section).

MCP server (Cursor / Claude Desktop / Claude Code)

Canonical install: npx -y @neitherai/mcp-server@latest

Fallback — add this to Cursor MCP settings (mcp.json), Claude Desktop config, or Claude Code user MCP config:

config.json
{
  "mcpServers": {
    "neither": {
      "command": "npx",
      "args": ["-y", "@neitherai/mcp-server@latest"],
      "env": {
        "NEITHER_API_KEY": "REPLACE_WITH_YOUR_WORKSPACE_KEY",
        "NEITHER_API_BASE": "https://api.neither.online"
      }
    }
  }
}
  • NEITHER_API_KEY — required workspace key
  • NEITHER_API_BASE — optional; defaults to https://api.neither.online

Docs: https://www.neither.online/docs/mcp

The root Dockerfile builds this stdio server (not a remote HTTP process) so hosts such as Glama can introspect tools/list. The image sets a placeholder NEITHER_API_KEY so the process can start; inject a real workspace key at run time.

Agent install: llms-install.md

Claude Code (CLI)

Neither is not listed in a Claude Code marketplace card today. Use the same local stdio server via Claude Code’s MCP commands (Node 20+):

Terminal
claude mcp add neither -s user \
  -e NEITHER_API_KEY=sk_ctx_… \
  -e NEITHER_API_BASE=https://api.neither.online \
  -- npx -y @neitherai/mcp-server@latest

Then claude mcp list should show neither as Connected. Put the workspace key only in that -e / config env (never in chat). Restart or open a new Claude Code session, then ask for memory_search on a note you pushed (see llms-install.md).

Equivalent JSON (if you edit Claude Code user MCP config by hand) matches the Cursor / Claude Desktop block below.

Guide: Keeping Claude Code's rules and memory from being rewritten or lost (deny rules, a PreToolUse hook, git, and what survives /compact).

Claude Desktop (MCPB)

One-click local stdio bundle for Claude Desktop. Pack command:

bash
bash scripts/pack-mcpb.sh

That vendors packages/mcp-server into the .mcpb and spawns Claude’s bundled Node (node ${__dirname}/server/index.js). Cursor JSON config still uses npx -y @neitherai/mcp-server@latest.

Sideload steps, env vars, and the Windows + macOS smoke checklist (human; not run in CI): DESKTOP-EXTENSION.md.

This packaging does not mean the extension is listed or submitted to Anthropic.

See also mcpb/README.md. The release-assets workflow attaches the .mcpb and Gemini CLI archives together on a published GitHub Release. Do not remove the .mcpb.

Gemini CLI (additional install)

Primary tested clients remain Cursor and Claude Desktop. Gemini CLI uses the same stdio server (npx -y @neitherai/mcp-server@0.1.3 in gemini-extension.json; Cursor JSON uses @latest). This is not a claim that a Gemini gallery card is live.

bash
gemini extensions install https://github.com/stonianua/neither-mcp

Enter NEITHER_API_KEY when prompted (required). Node.js 20+. MCP stays Disconnected until the key is set.

Gemini CLI 0.59 treats that GitHub URL as a github-release install: it downloads a custom Release asset and only extracts .tar.gz / .zip. Release v0.1.3 attaches linux.neither-mcp.tar.gz, darwin.neither-mcp.tar.gz, and win32.neither-mcp.zip (gemini-extension.json at archive root, npm pin @neitherai/mcp-server@0.1.3) in addition to the Claude Desktop .mcpb. A Release whose only custom asset is the .mcpb still makes 0.59 unpack a non-extension tree, then git clone into the same non-empty temp dir fails — do not remove the .mcpb.

If those Gemini archives misbehave, clone main instead:

bash
gemini extensions install https://github.com/stonianua/neither-mcp --ref=main

Local-path install of this repo (a checkout that already contains gemini-extension.json) also works.

Cursor Marketplace packaging

This repo is a single Cursor Plugin (not a multi-plugin marketplace). Manifests follow cursor/plugin-template and the Cursor Plugins reference:

PathRole
.cursor-plugin/plugin.jsonCursor Plugin manifest + NEITHER_API_KEY user variable
mcp.jsonLocal stdio MCP: npx -y @neitherai/mcp-server@latest

There is no .cursor-plugin/marketplace.json (that file is only for multi-plugin repos). There is no remote MCP URL and no OAuth-only install path.

After a marketplace install, set NEITHER_API_KEY under Plugins → Configure (workspace key from quickstart). Node 20+ and npx must be on PATH. This packaging does not mean Neither is listed on the Cursor Marketplace; a maintainer still submits the public repo at cursor.com/marketplace/publish for manual review.

Try-it sample: https://github.com/stonianua/neither-demo

CLI

Push local docs to decision memory (separate from MCP install):

Terminal
npx -y neither@latest push <path>

Homebrew (macOS / Linuxbrew):

bash
brew install stonianua/neither/neither

Docs: https://www.neither.online/docs/cli

Packages

Published npm packages:

  • @neitherai/mcp-server — MCP server for Cursor, Claude Desktop, Claude Code, and Gemini CLI
  • neither — CLI for pushing local docs to decision memory

Privacy Policy

The Neither privacy policy (collection, use and storage, third-party sharing / subprocessors, retention, and contact) is published at https://www.neither.online/privacy/. Privacy contact: privacy@neither.online. Support: support@neither.online.

This repository’s MCP server, Claude Desktop extension, and Gemini CLI extension are a local stdio process. They are not a remote HTTPS MCP server.

  • Collection. Tool arguments you or the model supply (search queries, repo-relative file paths, snippet ids, and for memory_push snippet text and optional provenance). The workspace API key is sent as an HTTP Bearer token to the Neither API (NEITHER_API_BASE, default https://api.neither.online).
  • Use and storage. The local process uses the key only to call that API. Claude Desktop stores sensitive user_config values in the OS keychain. Neither stores workspace decision memory as described in the privacy policy.
  • Third-party sharing. The connector sends requests to the Neither API host you configure. Neither’s subprocessors and sharing rules are in the privacy policy. This connector does not add a second vendor beyond that API host.
  • Retention. Per the privacy policy, workspace data is kept while the account is active; account or data deletion is removed within 30 days (backup window). The local extension does not keep a second copy of API responses on disk.
  • Contact. privacy@neither.online, support@neither.online, or GitHub issues.

Issues

Report bugs and feature requests at https://github.com/stonianua/neither-mcp/issues.

Repository layout

PathPackage
packages/mcp-server/@neitherai/mcp-server
packages/cli/neither CLI
mcpb/Claude Desktop MCPB (bundled Node stdio)
gemini-extension.jsonGemini CLI extension manifest (stdio npx)
GEMINI.mdGemini CLI extension context
DESKTOP-EXTENSION.mdBuild, sideload, env, Win/macOS smoke checklist
.cursor-plugin/plugin.jsonCursor Plugin manifest (marketplace packaging)
mcp.jsonCursor Plugin stdio MCP config (npx spawn)
llms-install.mdShort agent-installable steps
scripts/pack-gemini-extension.shGemini CLI github-release archives (.tar.gz / .zip)

License: MIT (see LICENSE).