NCP MCP

One MCP gateway instead of dozens of servers: the agent finds a tool on demand and keeps no schemas in context

  • 102 ★ on the repository
  • Last commit
MCP server

Broad access

Why this level

  • `code` mode runs TypeScript composed by the agent and reaches every connected server through the gateway
  • The gateway stores server configs with their keys and runs scheduled tasks
All reasons and checks

portel-dev/ncp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/ncp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • `code` mode runs TypeScript composed by the agent and reaches every connected server through the gateway
  • The gateway stores server configs with their keys and runs scheduled tasks

This is third-party code. Review the repository files before installing.

What it does

NCP (Natural Context Provider) puts your MCP servers behind one entry point. The agent sees a small set of gateway tools: `find` locates a tool, skill or Photon from a task description, `run` executes a tool, and `code` runs TypeScript that chains calls to several servers into one scenario. Schemas of the other tools load on demand, so the context is not filled with descriptions of 50 tools up front. The gateway handles routing, server health checks and response caching, can run tasks on a schedule and exposes skills such as PDF and document work. Setup can be kept per project and existing MCP servers are imported with `ncp config import`. Photons describe your own MCP servers in TypeScript without publishing to npm.

Who it is for. People with more than a dozen MCP servers connected, where the agent spends context on choosing a tool.

Good fit when

  • The agent mixes up `read_file` and similar tools from different servers
  • Schemas of 50 tools eat the context before work starts
  • A scenario across several servers is simpler to write as one TypeScript fragment in `code` mode
  • A project needs its own MCP set that is picked up automatically
  • A recurring task must run on a schedule

Not a fit when

  • Two or three servers are connected: the gateway adds a layer with no noticeable saving
  • Direct control of every call without an intermediary is required
  • The Elastic-2.0 license does not fit your use: read the LICENSE file

Example request

Find a tool for creating a GitHub issue and create an issue describing the failing test, using code mode

MCP

Transport
stdio
Authentication
not required

Limitations

Node.js 22 or newer is required, 24 recommended. The Elastic-2.0 license is not a free software license, so read its terms before commercial use. Available extensions depend on the client: MCP Apps, Skills and Tasks work only where the host supports them, otherwise the base set remains. `code` mode is on by default and runs TypeScript generated by the agent, so connected servers are reachable from that code. Part of the documentation is marked as drafts.

How to disable. Remove the `ncp` entry from the client config, restore direct entries for your servers and remove the package with `npm uninstall -g @portel/ncp`.

FAQ

What does the agent see instead of all tools?

A small gateway set: `find`, `run` and `code` when enabled. The other tools are found with `find` and loaded on demand.

How do I move servers I already configured?

With `ncp config import`, which asks you to paste the JSON config, after which the servers appear behind the gateway.

Which clients does it work with?

Claude Desktop (.dxt install), Claude Code, VS Code, Cursor, Windsurf, Cline and Continue.

How does `code` mode differ from `run`?

`run` executes one tool per call, `code` executes TypeScript with several calls in a row.

What license applies?

Elastic-2.0. It is not a free software license, so read the LICENSE file before commercial use.

Discussion

No questions or reviews yet.

A universal MCP CLI client from Apify: persistent sessions, OAuth, JSON output for scripts and shell access to any MCP server for agents

CLIBroad access1.1KRepository stars

An MCP server that installs other MCP servers from npm and PyPI at the agent's request and writes them into the config

MCP serverBroad access1.5KRepository stars

An MCP builder agent that picks servers from the official registry and composes them into your own agentic MCP server.

MCP serverExtended access105Repository stars

The mcpl CLI searches tools across several MCP servers and calls them from the terminal, with OAuth sign-in done by a human

CLIExtended access206Repository stars

A zero-dependency Python CLI: one catalog of MCP servers and skills for every agent, with only a compact index in context

CLIBroad access429Repository stars

A CLI for any MCP server: list and call tools, resources and prompts, run mock and proxy modes, guard access and manage agent configs

CLIExtended access1.6KRepository stars

README in short

The overloaded context problem with a before and after example, install and client guides, a trial run with `ncp find`, advanced features: project config, scheduling, remote MCPs, then how it works inside.

README badge

Report a problem