mcpField
N
Natural Context Provider

Natural Context Provider

本地服务
github.com/portel-devAI 与智能体1001 周前更新

关于 Natural Context Provider

Natural Context Provider(NCP)是 MCP 网关服务,通过按需发现和统一执行接口管理分散的工具、技能与 Photon,面向使用多个 MCP 的 AI 客户端。它还支持 TypeScript 代码执行与任务调度,初始工具列表保持精简。

主要功能

  1. 01按需搜索工具、技能和 Photon
  2. 02通过统一接口执行工具
  3. 03执行 TypeScript 工作流
  4. 04创建定时任务
  5. 05支持项目级 MCP 配置

适用场景

  1. 01从大量 MCP 工具中查找适合当前请求的工具
  2. 02组合多个工具创建自动化工作流
  3. 03安排代码任务定时运行

MCP 相关

NCP 向 MCP 客户端提供 `find`、`run`,以及启用时的 `code` 等网关工具,并管理下游 MCP、技能与 Photon。支持 MCP Apps 的客户端还可接收选定的应用回调工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"portel-dev-ncp": {
"command": "npx",
"args": [
"-y",
"@portel/ncp"
],
"env": {
"NCP_DEBUG": "<NCP_DEBUG>",
"NCP_MODE": "<NCP_MODE>",
"NO_COLOR": "<NO_COLOR>"
}
}
}
}
启动命令npx -y @portel/ncp
需要配置的环境变量
NCP_DEBUGEnable debug logging for troubleshooting
NCP_MODEOperating mode: 'mcp' for AI assistant integration or 'cli' for command-line
NO_COLORDisable colored output in logs and CLI

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@portel/ncp3.0.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
descriptionstring否描述所需功能的搜索查询(例如 "send email"、"read file")。所有工具均需省略此参数(不要传入 "list all" 或空字符串)。多个查询使用竖线分隔("gmail | slack")。
limitnumber否每页最大结果数(搜索时默认值:5,列表时默认值:20)
pagenumber否页码(默认值:1)
confidence_thresholdnumber否最低置信度 0.0-1.0(默认值:0.35)。数值越低,结果越多;数值越高,结果越精准。
depthnumber否详细程度:0=名称,1=+描述,2=+参数(默认值:2)

详细介绍

npm version npm downloads GitHub release downloads Latest release License: Elastic-2.0 MCP Compatible

NCP 徽标

NCP - 自然上下文提供程序

一个 MCP 统领一切

让你的 MCP 更强大。通过常见的 MCP 客户端发现工具、使用代码模式执行、按计划运行、查找技能,并加载 Photons。按需发现功能让初始工具范围保持精简。

相关的 Portel 项目:Photon 可将 TypeScript 方法转化为可靠的、面向 Agent 的能力:MCP 工具、嵌入式应用 UI、CLI 命令、Web 路由、计划任务、Webhook、重试和 Beam 接口。NCP 帮助 Agent 发现并使用工具;Photon 帮助开发者构建 Agent 可以信赖的工具和应用。

💍 什么是 NCP?

AI 不必在分散于不同 MCP 中的 50 多个工具之间疲于周旋,NCP 为其提供统一接口,支持代码模式执行、计划任务、技能发现和自定义 Photons。

大多数宿主只会看到 NCP 精简的网关界面(find、run,以及启用时的 code)。支持 MCP Apps 的宿主还可以接收选定的应用回调工具,以确保嵌入式界面正常工作。NCP 会选择性地添加应用工具;如果应用组存在冲突,则会省略这些组,而不是重命名应用可能会按名称调用的回调。

  • find - 搜索任意工具、技能或 Photon:“我需要读取文件”→ 自动找到合适的工具
  • code - 直接执行 TypeScript:await github.create_issue({...})(默认启用代码模式)
  • run - 单独执行工具(禁用代码模式时)

在幕后,NCP 管理所有 50 多个工具、技能和 Photons:路由请求、发现合适的能力、执行代码、安排任务、管理运行状况,以及缓存响应。

宿主决定可以使用哪些可选功能。NCP 会公布 MCP Apps、Skills 和 Tasks 能力,而不支持扩展的客户端仍可使用核心工具和现有请求流程。

NCP 转换流程

为何重要:

  • AI 不再分析“该用哪个工具?”,而是开始真正做事
  • 代码模式让 AI 能编写结合工具、技能和计划任务的多步骤 TypeScript 工作流
  • 技能提供特定领域的专业知识:画布设计、PDF 处理、文档生成等
  • Photons支持创建自定义 TypeScript MCP,无需发布到 npm
  • 按需发现让初始工具范围保持精简;实际的上下文使用取决于宿主、启用的 NCP 工具和已连接的服务
  • **你的 AI 将变得专注。**不再焦躁不安。

🚀 **新功能:**项目级配置——每个项目都可以自动定义自己的 MCP

**什么是 MCP?**Anthropic 推出的 Model Context Protocol 可让 AI 助手连接外部工具和数据源。可以将 MCP 想象成赋予 AI 超能力的“插件”,例如访问文件、搜索网页、使用数据库等。


📑 快速导航


😤 MCP 悖论:从助手到不堪重负

你给 AI 助手提供了 50 个工具,希望它能力更强。结果,它却不堪重负:

  • 选择困难(“我应该用 read_file 还是 get_file_content?”)
  • 还没开始就筋疲力尽(“我光是分析该用哪个工具就耗尽了上下文限额”)
  • 成本飙升(50 多个工具架构会在任何实际工作开始前消耗大量令牌)
  • 询问多于行动(原本果断,如今却不断要求澄清)

🧸 为什么工具太多会让系统不堪重负

可以这样想:

只有一个玩具的孩子 → 珍惜它、熟练掌握它,用它创造无穷无尽的游戏
有 50 个玩具的孩子 → 无法全部拿在手里,不知所措,最后干脆不玩了

你的 AI 就是那个孩子。 MCP 就是玩具。越多不一定越好。

最有创造力的人往往在限制条件下表现出色,而不是面对无限选项时。让诗人“随便写点什么”,他可能会陷入创作瓶颈;让他“写一首关于雨的俳句”,灵感就会立刻涌现。

你的 AI 也一样。 给它一个恰到好处的工具 → 立即行动。给它 50 个工具 → 认知过载。NCP 提供按需工具发现,让你的 AI 在需要时恰好获得所需工具。


📊 使用前后的实际效果

使用 NCP 前:不堪重负的助手 😵‍💫

当你的 AI 助手直接管理 50 个工具时:

🤖 AI Assistant Context:
├── Filesystem MCP (12 tools)
├── Database MCP (8 tools)
├── Web Search MCP (6 tools)
├── Email MCP (15 tools)
├── Shell MCP (10 tools)
├── GitHub MCP (20 tools)
└── Slack MCP (9 tools)

💀 Total: 80 tool schemas compete for attention before useful work begins

会发生什么:

  • AI 会消耗 50% 以上的上下文,只为弄清有哪些工具
  • 花 5-8 秒分析该使用哪个工具
  • 常因架构混淆而选错工具
  • 在对话中途达到上下文限额
使用 NCP 后:执行助理 ✨

由 NCP 担任幕僚长:

🤖 AI Assistant Context:
└── NCP gateway tools → discover and run the tools needed for this request

🎯 Behind the scenes: NCP manages all 80 tools
📈 Tool discovery happens on demand
🎪 AI behavior: Confident, focused, decisive

NCP 减少了预先将所有下游工具架构加载到宿主中的需求。节省的上下文量以及对响应时间的影响,会因宿主、服务目录和已启用功能而异。


📋 前置条件

  • Node.js 22+(推荐 Node.js 24;CI 使用 24)(在此下载)
  • npm(随 Node.js 一同安装)或用于运行软件包的 npx
  • 命令行访问权限(Mac/Linux 上的 Terminal,Windows 上的 Command Prompt/PowerShell)

🚀 安装

选择你的 MCP 客户端,查看设置说明:

客户端说明设置指南
Claude DesktopAnthropic 官方桌面应用。最适合 NCP——一键安装 .dxt 并自动同步→ 完整指南
Claude Code以终端为核心的 AI 工作流。开箱即用!内置支持
VS Code搭配 Agent Mode 的 GitHub Copilot。使用 NCP 进行语义工具发现→ 设置
Cursor以 AI 为核心、搭载 Composer 的代码编辑器。广受欢迎的 VS Code 替代品→ 设置
WindsurfCodeium 的 AI 原生 IDE,搭载 Cascade。基于 VS Code 构建→ 设置
Cline支持 MCP 的 VS Code 扩展,可辅助 AI 开发→ 设置
Continue搭载 Agent Mode 并支持本地 LLM 的 VS Code AI 助手→ 设置
想了解更多客户端?查看完整的 MCP 兼容客户端和工具列表官方 MCP 客户端 • Awesome MCP
其他客户端通过 npm 使用任意 MCP 兼容客户端快速开始 ↓

快速开始(npm)

适用于高级用户或上方未列出的 MCP 客户端:

步骤 1:安装 NCP

npm install -g @portel/ncp

步骤 2:导入现有 MCP(可选)

ncp config import  # Paste your config JSON when prompted

步骤 3:配置 MCP 客户端

将以下内容添加到客户端的 MCP 配置中:

{
  "mcpServers": {
    "ncp": {
      "command": "ncp"
    }
  }
}

✅ 完成! 你的 AI 可以通过 NCP 发现并运行工具。支持 MCP Apps 的宿主还可能收到选定的应用回调工具。

NCP 列表概览


🧪 试用:亲自感受差异

想体验 AI 所体验的内容吗?NCP 提供了便于人类使用的 CLI:

🔍 智能发现
# Ask like your AI would ask:
ncp find "I need to read a file"
ncp find "help me send an email"
ncp find "search for something online"

NCP 查找命令

注意: NCP 理解的是意图,而不只是关键词。就像你的 AI 所需要的一样。

📋 生态概览
# See your complete MCP ecosystem:
ncp list --depth 2

# Get help anytime:
ncp --help

NCP 帮助命令

⚡ 直接测试
# Test any tool safely:
ncp run filesystem read_file --path "/tmp/test.txt"

这很重要,因为: 你可以直接调试和测试工具,就像 AI 使用它们一样。

✅ 验证一切正常
# 1. Check NCP is installed correctly
ncp --version

# 2. Confirm your MCPs are imported
ncp list

# 3. Test tool discovery
ncp find "file"

# 4. Test a simple tool (if you have filesystem MCP)
ncp run filesystem read_file --path "/tmp/test.txt" --dry-run

✅ 成功标志:

  • NCP 显示版本号
  • ncp list 显示你导入的 MCP
  • ncp find 返回相关工具
  • 你的 AI 客户端会显示 NCP 的网关工具;支持 Apps 的宿主还可能显示选定的应用回调工具

💪 从工具到自动化:真正的威力

你已经了解了 find(发现工具)和 code(执行 TypeScript)。单独使用时,它们都很有用。结合调度功能后,它们就能成为强大的自动化利器。

一个真实示例:MCP 会议抓取器

为了准备即将发布的版本,我们希望及时掌握与 MCP 相关的会议和研讨会信息。我们没有每天手动查看网站,而是请 Claude:

“设置一个每日抓取器,查找 MCP 会议并将其保存到 CSV 文件中”

Claude 做了什么:

  1. 使用 code 编写自动化程序:

    // Search the web for MCP conferences
    const results = await web.search({
      query: "Model Context Protocol conference 2025"
    });
    
    // Read each result and extract details
    for (const url of results) {
      const content = await web.read({ url });
      // Extract title, deadline, description...
      // Save to ~/.ncp/mcp-conferences.csv
    }
    
  2. 使用 schedule 实现自动运行:

    ncp schedule create code:run "every day at 9am" \
      --name "MCP Conference Scraper" \
      --catchup-missed
    

如何自行设置:

首先,安装 web photon(提供搜索和读取功能):

# Install from the official photons repo
ncp photon add https://raw.githubusercontent.com/portel-dev/photons/main/web.photon.ts

然后让 Claude 创建抓取器——它会自动使用 web photon。

现在会发生什么:

  • 每天早上 9 点,抓取器都会自动运行
  • 搜索新的 MCP 活动,并将其添加到 CSV 文件中
  • 如果我们早上 9 点时合上了笔记本电脑,它会在我们打开电脑后补上
  • 我们醒来时就能看到最新的会议数据,无需手动操作

关键所在: find 和 code 让 AI 能够编写自动化程序。schedule 让程序持续运行。这就是强大的自动化利器。


💡 NCP 如何改变你的 AI 使用体验

🧠 从绝望到授权
  • 绝望的助手:“我看到 50 个工具……该用哪个……让我想想……”
  • 高效的助手:“我需要文件访问权限。搞定。”(NCP 负责处理细节)
💰 聚焦的工具发现
  • NCP 让宿主按需搜索更大的工具目录
  • 对上下文的影响取决于你的宿主和已启用的工具范围
🎯 消除选择困难
  • **绝望的助手:**AI 陷入停滞、选错工具,还要请求澄清
  • **高效的助手:**NCP 的 Chief of Staff 立即找到正确的工具
🚀 自信行动
  • **之前:**延迟 8 秒、犹豫不决,还会问“我该用哪个工具?”
  • **之后:**立即决策、马上执行,毫不迟疑

归根结底:你的 AI 将从绝望的助手变成高效的助手。


⚡ 强大功能

下面具体介绍 NCP 如何增强你的 MCP:

功能作用重要意义
🔍 工具发现按意图和关键词搜索工具无需一次性暴露所有下游工具架构,即可找到相关工具
📦 按需加载在需要时发现下游工具让初始工具范围保持聚焦;节省的上下文因配置而异
⏰ 自动定时按 cron 计划或自然语言时间运行任意工具无需保持 AI 会话开启即可在后台自动运行
🔌 MCP 客户端支持兼容常见 MCP 客户端,包括 Claude Desktop、Claude Code、Cursor 和 VS Code核心网关功能广泛可用;扩展支持取决于宿主
💾 智能缓存智能缓存工具架构和响应消除重复索引——节能又快速

结果:你的 MCP 将从零散的工具变成一个统一的智能系统,让 AI 真正高效地使用它们。


🛠️ 面向高级用户:手动设置

更喜欢从头搭建?手动添加 MCP:

# Add the most popular MCPs:

# AI reasoning and memory
ncp add sequential-thinking npx @modelcontextprotocol/server-sequential-thinking
ncp add memory npx @modelcontextprotocol/server-memory

# File and development tools
ncp add filesystem npx @modelcontextprotocol/server-filesystem ~/Documents  # Path: directory to access
ncp add github npx @modelcontextprotocol/server-github                       # No path needed

# Search and productivity
ncp add brave-search npx @modelcontextprotocol/server-brave-search           # No path needed

NCP 添加命令

**💡 专业提示:**浏览 Smithery.ai(2,200 多个 MCP)或 mcp.so,发现满足特定需求的工具。


🎯 与 NCP 搭配效果出色的热门 MCP

🔥 下载量最高
# Community favorites (download counts from Smithery.ai):
ncp add sequential-thinking npx @modelcontextprotocol/server-sequential-thinking  # 5,550+ downloads
ncp add memory npx @modelcontextprotocol/server-memory                            # 4,200+ downloads
ncp add brave-search npx @modelcontextprotocol/server-brave-search                # 680+ downloads
🛠️ 开发必备
# Popular dev tools:
ncp add filesystem npx @modelcontextprotocol/server-filesystem ~/code
ncp add github npx @modelcontextprotocol/server-github
ncp add shell npx @modelcontextprotocol/server-shell
🌐 效率与集成
# Enterprise favorites:
ncp add gmail npx @mcptools/gmail-mcp
ncp add slack npx @modelcontextprotocol/server-slack
ncp add google-drive npx @modelcontextprotocol/server-gdrive
ncp add postgres npx @modelcontextprotocol/server-postgres
ncp add puppeteer npx @hisma/server-puppeteer

🤖 内部 MCP

NCP 内置了强大的内部 MCP,可通过外部工具编排扩展功能:

Scheduler MCP - 自动运行任意工具

使用 cron 或自然语言计划,安排任意 MCP 工具自动运行。

# Schedule a daily backup check
ncp run schedule:create --params '{
  "name": "Daily Backup",
  "schedule": "every day at 2am",
  "tool": "filesystem:list_directory",
  "parameters": {"path": "/backups"}
}'

功能:

  • ✅ 自然语言计划(“每天上午 9 点”、“每周一”)
  • ✅ 标准 cron 表达式,支持高级控制
  • ✅ 计划安排前自动验证
  • ✅ 执行历史记录和监控
  • ✅ 即使 NCP 未运行也能工作(集成系统 cron)

→ Scheduler 完整指南

MCP Management MCP - 通过 AI 安装 MCP

通过自然语言动态安装和配置 MCP。

# AI can discover and install MCPs for you
ncp find "install mcp"
# Shows: mcp:add, mcp:remove, mcp:list

功能:

  • ✅ 从注册表搜索和发现 MCP
  • ✅ 无需手动配置即可安装 MCP
  • ✅ 以编程方式更新和移除 MCP
  • ✅ AI 可自行扩展新能力
Skills Management MCP - 使用插件扩展 Claude

管理 Anthropic Agent Skills——为 Claude 添加专业知识和工具的模块化扩展。

// Discover skills using vector search
const results = await skills.find({ query: "canvas design" });

// Install a skill
await skills.add({ skill_name: "canvas-design" });

// List installed skills
const installed = await skills.list();

// Read skill resources
const template = await skills.read_resource({
  skill_name: "canvas-design",
  file_path: "resources/templates.md"
});

功能:

  • ✅ 基于向量的技能语义搜索
  • ✅ 从官方市场一键安装
  • ✅ 渐进式披露(元数据 → 完整内容 → 资源)
  • ✅ 集成 Anthropic 官方市场
  • ✅ 支持自定义市场
  • ✅ 自动加载已安装的技能

→ Skills 完整指南

Analytics MCP - 可视化使用情况与性能

在聊天中直接查看使用统计数据、节省的令牌和性能指标。

# View usage overview with ASCII charts
ncp run analytics:overview --params '{"period": 7}'

功能:

  • ✅ 使用趋势和最常用的工具
  • ✅ 令牌节省分析(Code-Mode 效率)
  • ✅ 性能指标(响应时间、错误率)
  • ✅ 便于 AI 使用的 ASCII 格式图表

配置: 内部 MCP 默认处于禁用状态。请在个人资料设置中启用:

{
  "settings": {
    "enable_schedule_mcp": true,
    "enable_mcp_management": true,
    "enable_skills": true,
    "enable_analytics_mcp": true
  }
}

🔧 高级功能

智能健康监控

NCP 会自动检测失效的 MCP,并绕过它们进行路由:

ncp list --depth 1    # See health status
ncp config validate   # Check configuration health

🎯 结果: 你的 AI 永远不会因工具失效而卡住。

多配置组织

按项目或环境整理 MCP:

# Development setup
ncp add --profile dev filesystem npx @modelcontextprotocol/server-filesystem ~/dev

# Production setup
ncp add --profile prod database npx production-db-server

# Use specific profile
ncp --profile dev find "file tools"
🚀 项目级配置

新增: 按项目配置 MCP 并自动检测,非常适合团队和云端 IDE:

# In any project directory, create local MCP configuration:
mkdir .ncp
ncp add filesystem npx @modelcontextprotocol/server-filesystem ./
ncp add github npx @modelcontextprotocol/server-github

# NCP automatically detects and uses project-local configuration
ncp find "save file"  # Uses only project MCPs

工作原理:

  • 📁 存在本地 .ncp 目录 → 使用项目配置
  • 🏠 不存在本地 .ncp 目录 → 回退到全局 ~/.ncp
  • 🎯 无需管理配置文件 → 所有内容都写入默认的 all.json

适用于:

  • 🤖 Claude Code 项目(项目专属 MCP 工具)
  • 👥 团队一致性(将 .ncp 文件夹随代码库一同提交)
  • 🔧 项目专属工具(每个项目自行定义 MCP)
  • 📦 环境隔离(避免全局 MCP 冲突)
# Example project structures:
frontend-app/
  .ncp/profiles/all.json   # → playwright, lighthouse, browser-context
  src/

api-backend/
  .ncp/profiles/all.json   # → postgres, redis, docker, kubernetes
  server/
远程 MCP 传输方式与休眠支持

NCP 同时支持 stdio(本地)和 HTTP/SSE(远程)MCP 服务:

Stdio 传输方式(传统):

# Local MCP servers running as processes
ncp add filesystem npx @modelcontextprotocol/server-filesystem ~/Documents

Streamable HTTP(远程):

{
  "mcpServers": {
    "remote-mcp": {
      "url": "https://mcp.example.com/api",
      "transport": "streamableHttp",
      "auth": {
        "type": "bearer",
        "token": "your-token-here"
      }
    }
  }
}

对于旧版 HTTP/SSE 端点,请设置 "transport": "sse"。如果旧版配置文件包含 URL 但没有 transport,NCP 会继续使用旧版 SSE 行为。新的注册表导入默认选择 Streamable HTTP。协议版本协商与传输方式选择相互独立,不会自动发现其他端点。

OAuth 2.1 与 PKCE(MCP 2025-03-26 规范):

{
  "mcpServers": {
    "oauth-mcp": {
      "url": "https://mcp.example.com/api",
      "auth": {
        "type": "oauth",
        "oauth21": {
          "scopes": ["read", "write"],
          "callbackPort": 9876,
          "clientId": "optional-pre-registered-client-id",
          "clientSecret": "optional-client-secret"
        }
      }
    }
  }
}

OAuth 2.1 功能:

  • ✅ PKCE(代码交换证明密钥) - OAuth 2.1 的安全要求
  • ✅ 动态客户端注册(RFC 7591) - 未提供 clientId 时自动注册
  • ✅ 令牌存储与自动刷新 - 令牌保存至 ~/.ncp/auth/,并自动刷新
  • ✅ 浏览器授权流程 - 打开浏览器以征求用户同意
  • ✅ 无头环境回退方案 - 为服务器/CI 环境提供手动输入代码的方式
  • ✅ 受保护资源发现(RFC 9728) - 自动发现 OAuth 端点

首次设置流程:

  1. NCP 在浏览器中打开授权 URL
  2. 你授予权限
  3. 浏览器重定向至本地回调地址(http://localhost:9876)
  4. NCP 通过 PKCE 将代码交换为访问令牌
  5. 令牌会自动保存,并在后续请求中自动刷新

🔋 支持休眠的服务:

NCP 会自动支持启用休眠功能的 MCP 服务(例如 Cloudflare Durable Objects 或 Metorial):

  • 无需任何配置 - 休眠功能可透明运行
  • 自动唤醒 - NCP 发出请求时,服务会按需唤醒
  • 状态保留 - 服务状态会在休眠周期之间保持
  • 节省成本 - 仅在 MCP 正在处理请求时付费

工作原理:

  1. 服务空闲时进入休眠状态(不消耗资源)
  2. NCP 发送请求 → 服务立即唤醒
  3. 服务处理请求并响应
  4. 空闲超时后,服务重新进入休眠状态

适用于:

  • 💰 成本优化 - 仅需为活跃处理时间付费
  • 🌐 云托管 MCP - Metorial、Cloudflare Workers、无服务器平台
  • ♻️ 资源效率 - 无需承担服务器空闲成本
  • 🚀 缩至零 - 无需服务时会自动休眠

注意: 休眠是服务端功能。NCP 的远程 MCP 客户端无需特殊配置,即可与传统服务和支持休眠的服务配合使用。

现代 MCP 扩展和结果处理

NCP 会在发现和 run 过程中保留下游工具描述符和原生 MCP 结果,包括结构化内容、错误状态、元数据,以及文本、图像、音频、资源和资源链接块。如果集成此前解析的是编码了结果块数组的 JSON 文本,请更新它,使其读取原生 MCP 结果字段。

当主机声明支持 MCP Apps 时,NCP 会有选择地公开下游应用启动工具和应用回调,并提供它们的 ui:// 资源。主机控制是否向模型提供仅限应用的回调。工具名称或 UI 资源冲突会导致受影响的应用组被省略;其常规工具仍可通过 find 和 run 使用。

Skills 扩展可按需公开本地和兼容的远程技能清单,包括清单字节的 SHA-256 摘要。Tasks 扩展为兼容的现代主机提供持久句柄,用于 run 和 code,并支持 tasks/get、tasks/update 和 tasks/cancel。重启后,未完成的工作会报告为中断,而不会重新执行;只有在 NCP 能确认工作进程已停止时,才会报告取消。没有 Tasks 支持的主机仍使用现有的同步或多轮请求流程。

响应缓存有容量限制,私有缓存条目按服务配置和凭据身份进行分区。服务端缓存时限和工具列表变更通知会指导刷新。有关传输、SDK、注册表、扩展和兼容性详情,请参阅 MCP 兼容性说明。

Photon Runtime(CLI 与 DXT)

TypeScript Photon Runtime 默认启用,但根据运行 NCP 的方式,开关位置有所不同:

  • **CLI / npm 安装:**编辑 ~/.ncp/settings.json(或运行 ncp config),并将 enablePhotonRuntime 设为 true 或 false。也可以临时覆盖设置:NCP_ENABLE_PHOTON_RUNTIME=true ncp find "photon"。
  • DXT / 客户端包(Claude Desktop、Cursor 等):这些构建版本不会读取 ~/.ncp/settings.json。要配置 photons,请在客户端配置中设置环境变量:
{
  "mcpServers": {
    "ncp": {
      "command": "ncp",
      "env": {
        "NCP_ENABLE_PHOTON_RUNTIME": "true"
      }
    }
  }
}

如果禁用 Photon Runtime,内部 MCP 仍会继续工作,但 .photon.ts 文件会被忽略,直到重新启用该开关。

随处导入
# From clipboard (any JSON config)
ncp config import

# From specific file
ncp config import "~/my-mcp-config.json"

# From Claude Desktop (auto-detected paths)
ncp config import

🛟 故障排除

导入问题
# Check what was imported
ncp list

# Validate health of imported MCPs
ncp config validate

# See detailed import logs
DEBUG=ncp:* ncp config import
AI 未使用工具
  • 检查连接:ncp list(应显示你的 MCP)
  • 测试发现:ncp find "your query"
  • **验证配置:**确保你的 AI 客户端指向 ncp 命令
性能问题
# Check MCP health (unhealthy MCPs slow everything down)
ncp list --depth 1

# Clear cache if needed
rm -rf ~/.ncp/cache

# Monitor with debug logs
DEBUG=ncp:* ncp find "test"

🌓 我们为何构建它

就像阴阳一样,一切都依赖于事物之间的平衡。

计算赋予我们精确性和确定性。 AI赋予我们创造力和概率性。

我们相信,将这些力量按恰当比例结合,就能创造出突破性产品。

NCP 如何体现这种平衡:

NCP 的功能AI(创造力)计算(精确性)平衡之道
工具发现在语义上理解“读取文件”确定性地路由至确切工具自然请求 → 精确执行
编排灵活响应你的意图可靠地执行工具自然流程 → 确定结果
运行状况监控根据模式进行调整监控连接、自动故障转移智能适应 → 稳定运行

纯 AI(过于难以预测)和纯计算(过于僵化)都不可取。

你的 AI 保持创造力,精确性则由 NCP 负责。


📚 深入了解:工作原理

可复现的网关基准测试可测量序列化负载大小、本地延迟、工作流完成情况和结果保真度。运行 npm run benchmark:mcp;其基于字节的 Token 估算值会与实际分词器测量结果分开标注。

想了解技术细节?这里有 Token 分析、架构图和性能基准测试:

📖 阅读技术指南 →

了解以下内容:

  • 向量相似度搜索算法
  • N 对 1 编排架构
  • 真实场景下的 Token 使用量对比
  • 健康监控和故障转移系统

🤝 参与贡献

帮助 NCP 变得更好:


📄 许可证

Elastic License 2.0 - 完整许可证

**简而言之:**免费用于所有用途,包括商业用途。不得作为托管服务提供给第三方。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。