Skip to content

portel-dev/ncp

MCP Developer Tools

A unified Model Context Protocol interface that consolidates dozens of MCPs into a single toolset for AI agents, enabling code‑mode execution, scheduling, skill discovery and custom Photons.

JavaScript Latest 2.3.0 · 2mo ago Security brief →

Features

  • Single unified interface (find, code, run) across all MCPs
  • Code‑mode execution for multi‑step TypeScript workflows
  • Automatic skill discovery and tool routing
  • Custom Photon support without npm publishing
  • Project‑level configuration and scheduling

Recent releases

View all 20 releases →
2.3.0 Breaking risk
Security fixes
  • Applied 24 npm security fixes
Notable features
  • PhotonWatcher for file monitoring with symlink resolution
  • DaemonBroker for cross-process event routing
  • Code-to-Photon workflow for permanent automation
Full changelog

Major Features

🎯 Photon-Core 2.9.4 Integration

PhotonWatcher - Battle-tested file monitoring with symlink resolution, debouncing, and automatic hot-reload

  • Replace chokidar with production-ready watcher
  • Symlink resolution for macOS compatibility
  • Temp file filtering and debouncing built-in

DaemonBroker - Cross-process event routing via Unix sockets

  • Photons emit events with await this.emit()
  • Subscribe with @notify-on annotations
  • Graceful fallback to local-only when daemon not running

InstanceStore - State persistence across execution sessions

  • Photons implement getState()/setState() for automatic persistence
  • State saved to ~/.photon/state/{photonName}/
  • State restored on load automatically

StatefulExecution - Execution tracking with runId and StateLog

  • Every code execution gets unique runId
  • JSONL logs stored at ~/.photon/runs/{runId}.jsonl
  • Foundation for Code-to-Photon workflow

🔄 Code-to-Photon Workflow

Three new MCP tools enable permanent automation:

  • code:run - Execute TypeScript with full MCP access
  • code:list-runs - List recent executions
  • code:get-run - Inspect execution details
  • code:save-as-photon - Convert code → .photon.ts file

Workflow: Write code → Execute → Success! → Save as Photon → Use forever

📱 MCP Apps Protocol Support

Groundwork for visual components in tool results. Detects client capabilities for future UI rendering.

Security

  • Applied 24 npm security fixes
  • Remaining 19 vulnerabilities are unfixable at npm level (mostly in devDependencies)
  • Upgraded mcp-server-kubernetes to 3.3.0 (fixes deprecated request package chain)

Documentation

Four comprehensive guides created:

Testing

✅ 13/13 critical protocol tests pass
✅ 6/6 integration tests pass
✅ 4/4 DXT entry point tests pass

Installation

npm install -g @portel/[email protected]
# or
npm install @portel/[email protected]

Full changelog: See CHANGELOG.md

2.0.1 Bug fix

Windows spawn EINVAL and CLI argument handling fixes.

Full changelog

Bug Fixes

  • Fix Windows spawn EINVAL for npx.cmd wrappers (fixes #8)
  • Fix code --file test on Windows by using forward slashes in CLI arguments

Full Changelog

https://github.com/portel-dev/ncp/compare/2.0.0...2.0.1

1.8.0 Breaking risk
Breaking changes
  • Scheduler V2 with timing groups (auto-migrates from V1)
Notable features
  • Code-Mode with multi-MCP orchestration
  • Photon runtime architecture
  • Skills marketplace integration
Full changelog

Release 1.8.0

Major update with Scheduler V2, Code-Mode enhancements, and Photon architecture.

Highlights

  • ⚠️ BREAKING: Scheduler V2 with timing groups (auto-migrates from V1)
  • Code-Mode automation powerhouse with multi-MCP orchestration
  • Photon runtime architecture
  • Skills marketplace integration
  • Enhanced analytics and monitoring

See CHANGELOG.md for full details.

Published to npm: https://www.npmjs.com/package/@portel/ncp/v/1.8.0

v1.6.0 Breaking risk

Minor fixes and improvements.

Full changelog

🚀 Release v1.6.0

⚡ CI/CD Optimizations

  • Smart Path Filtering: CI now only runs when code/config files change, skipping documentation-only updates
  • Optimized Test Matrix: Reduced test jobs from 4 to 2 (50% faster CI)
    • Removed macOS from general tests (kept for DXT-specific builds)
    • Tests now run only on Ubuntu with Node 18.x and 20.x
  • Faster Feedback: Average CI run time reduced from ~10min to ~5min

🧪 Test Improvements

  • Skipped flaky pagination E2E test until search query is fixed
  • All critical, integration, and type-check tests passing
  • Pre-commit hooks validated

📦 Downloads

  • DXT (Claude Desktop): Download ncp.dxt from assets below
  • npm: npm install -g @portel/ncp (will be available shortly)

🔧 Technical Details

  • Package version: 1.6.0
  • DXT file size: 72MB
  • Tested on: macOS (Darwin 24.6.0), Node 18.x & 20.x
  • CI: GitHub Actions with optimized workflows

📝 Files Changed

  • .github/workflows/ci.yml: Added path filters and optimized matrix
  • tests/e2e/cli-integration.test.ts: Skipped flaky pagination test
  • package.json & manifest.json: Version bump to 1.6.0

Full Changelog: https://github.com/portel-dev/ncp/compare/v1.5.3...v1.6.0

1.5.3 Bug fix

MCP protocol compliance fix for stdio listener setup.

Full changelog

Bug Fixes

  • MCP Protocol Compliance: Refactored stdio listener setup to be protocol-compliant

Changes

  • Extracted startStdioListener() method from run() for immediate stdio setup
  • Made startStdioListener() idempotent to prevent duplicate listener registration
  • Kept run() method for backwards compatibility with CLI usage
  • Server now responds immediately to protocol messages after process spawn

This fix resolves connection issues with MCP clients that don't call run().

Full Changelog: https://github.com/portel-dev/ncp/compare/1.5.2...1.5.3

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
90
Forks
9
Languages
JavaScript TypeScript Shell
Downloads/week
54 ↓40%
NPM Maintainers
1
Contributors
6
TypeScript
Types included ✓

Beta — feedback welcome: [email protected]