Neither MCP
neither-mcp
Public source mirror for the Neither CLI and MCP server.
Neither is decision memory for Cursor and Claude Desktop, with Gemini CLI as an additional install surface. Start / get a workspace API key: https://www.neither.online/start/?product=dev
Try Neither in Cursor
Get your workspace key from https://www.neither.online/start/?product=dev.
Then 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)
Canonical install: npx -y @neitherai/mcp-server@latest
Fallback — add this to Cursor MCP settings (mcp.json) or Claude Desktop config:
{
"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 keyNEITHER_API_BASE— optional; defaults tohttps://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
Related MCP server: memory-mcp
Claude Desktop (MCPB)
One-click local stdio bundle for Claude Desktop. Pack command:
bash scripts/pack-mcpb.shThat 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. CI may attach a built .mcpb to the GitHub Release. Do not remove that asset when attaching Gemini CLI archives.
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.2 in gemini-extension.json; Cursor JSON uses @latest). This is not a claim that a Gemini gallery card is live.
gemini extensions install https://github.com/stonianua/neither-mcpEnter 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.2 attaches linux.neither-mcp.tar.gz, darwin.neither-mcp.tar.gz, and win32.neither-mcp.zip (gemini-extension.json at archive root) 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:
gemini extensions install https://github.com/stonianua/neither-mcp --ref=mainLocal-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:
Path | Role |
| Cursor Plugin manifest + |
| Local stdio MCP: |
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):
npx -y neither@latest push <path>Homebrew (macOS / Linuxbrew):
brew install stonianua/neither/neitherDocs: https://www.neither.online/docs/cli
Packages
Published npm packages:
@neitherai/mcp-server— MCP server for Cursor, Claude Desktop, and Gemini CLIneither— 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_pushsnippet text and optional provenance). The workspace API key is sent as an HTTP Bearer token to the Neither API (NEITHER_API_BASE, defaulthttps://api.neither.online).Use and storage. The local process uses the key only to call that API. Claude Desktop stores sensitive
user_configvalues 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
Path | Package |
|
|
|
|
| Claude Desktop MCPB (bundled Node stdio) |
| Gemini CLI extension manifest (stdio |
| Gemini CLI extension context |
| Build, sideload, env, Win/macOS smoke checklist |
| Cursor Plugin manifest (marketplace packaging) |
| Cursor Plugin stdio MCP config ( |
| Short agent-installable steps |
| Gemini CLI github-release archives ( |
License: MIT (see LICENSE).
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Give your AI agent persistent, governed memory for every project. At task start it recalls the approved decisions, conventions, risks and architecture (semantic search, ranked by importance); at close it proposes what was learned as typed memories that you review and approve — governance, not a notes dump. Agents propose, humans govern: edits go back to pending and deletion is human-only by design. Connect Claude Code, Cursor, Claude Desktop or any MCP client in two minutes with just your API key — hosted (nothing to install) or locally via `uvx solucortex-mcp`. Built by SoluAI and dogfooded daily: SoluCortex is developed using its own living memory.
- ContexelOAuthai.contexel
Shared AI memory. ChatGPT, Claude, Cursor and any MCP app read and write the same memory.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Related MCP Servers
- AlicenseAqualityCmaintenanceRecord development decisions as structured JSON, embed them as vectors via Gemini, and search semantically over MCP. Works with Claude Code, Cursor, Windsurf, and any MCP client.98 npm83MIT
- FlicenseNot gradedqualityDmaintenanceA persistent, conflict-aware memory MCP server for AI coding assistants (Cursor, Claude Code).-
- FlicenseNot gradedqualityBmaintenancePersistent context layer for AI coding assistants. Sync memory files from Claude Code to ChatGPT, Gemini, Cursor, Windsurf, and Copilot via a native MCP endpoint. Bearer token auth, JSON-RPC 2.0 over stateless HTTP. Free tier available.-
- AlicenseNot gradedqualityBmaintenancePersonal, remotely hosted memory service for Claude, Codex, and other MCP clients that preserves research, project state, and decisions in an auditable revision store with a web UI.34 npm1MIT