# ncp

ncp gives connected MCP tools a shared interface and finds capabilities on request. It helps when an agent has many tools to choose from.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 100
- Author: portel-dev
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/portel-dev/ncp
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/mcp/ncp

## What it does

Use `find` to discover tools, skills, and Photons, then run the capability that fits the task. With code mode, the agent can execute TypeScript and combine several actions in one workflow. Code mode is enabled by default; when it is off, tools run individually through `run`.

ncp also supports scheduled tasks and on-demand discovery. The host decides which extensions it can use: clients without MCP Apps, Skills, or Tasks support can still use the core tools and existing request flows. Available features therefore depend on the MCP client.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `NCP_DEBUG`, `NCP_MODE`, `NO_COLOR` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env NCP_DEBUG=<NCP_DEBUG> --env NCP_MODE=<NCP_MODE> --env NO_COLOR=<NO_COLOR> --transport stdio ncp -- npx -y @portel/ncp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add ncp --env NCP_DEBUG=<NCP_DEBUG> --env NCP_MODE=<NCP_MODE> --env NO_COLOR=<NO_COLOR> -- npx -y @portel/ncp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "ncp": {
            "command": "npx",
            "args": [
                "-y",
                "@portel/ncp"
            ],
            "env": {
                "NCP_DEBUG": "<NCP_DEBUG>",
                "NCP_MODE": "<NCP_MODE>",
                "NO_COLOR": "<NO_COLOR>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "ncp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@portel/ncp"
            ],
            "env": {
                "NCP_DEBUG": "<NCP_DEBUG>",
                "NCP_MODE": "<NCP_MODE>",
                "NO_COLOR": "<NO_COLOR>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e NCP_DEBUG=<NCP_DEBUG> -e NCP_MODE=<NCP_MODE> -e NO_COLOR=<NO_COLOR> ncp npx -y @portel/ncp
```
Replace <…> with your own values

## When to use it
- find a suitable tool across connected MCP servers
- combine tool calls in a TypeScript workflow
- discover a relevant skill or Photon
- keep every tool schema from loading at the start

## Example prompts
- Find a tool that can read this file, then use it.
- Run a TypeScript workflow that creates an issue with the connected GitHub tool.
- Find a skill for working with PDFs and apply it to this document.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
