使用说明
nexus mcp
包装MCP服务器 纽带 CLI,为AI代理提供跨会话内存、语义搜索、偏好学习和智能上下文注入。
工具
核心工具(会话和项目管理)
| 工具 | 说明 |
|---|---|
context |
导出完整的项目上下文(会话、笔记、运行状况、git状态) |
resume |
显示最近提交和更改的最后一个会话 |
note |
将注释保存到项目上下文中 |
search |
跨会话和笔记的全文搜索 |
where |
查找与查询匹配的项目或文件 |
report |
生成活动摘要(周/月) |
projects |
列出具有健康状态的跟踪项目 |
show |
详细的项目信息,包括会议和笔记 |
sessions |
列出会话历史记录并进行筛选 |
持久记忆工具(语义搜索和首选项)
| 工具 | 说明 |
|---|---|
recall |
使用向量嵌入在会话、笔记和偏好之间进行语义搜索 |
remember |
将偏好、模式或决策与类别和来源一起保存 |
preferences |
列出、创建、更新或删除首选项 |
inject |
构建智能3遍上下文(项目状态+语义回忆+偏好) |
设置
npm install
需要 nexus PATH(或set)上的二进制文件 NEXUS_BIN env变量)。
用法
npm start
服务器使用MCP stdio传输——它被设计为由MCP客户端启动,而不是独立运行。
配置
开源代码
将nexus MCP服务器添加到全局OpenCode配置中(~/opencode.json 或 ~/.config/opencode/opencode.json):
{
"mcp": {
"nexus": {
"type": "local",
"command": ["node", "/path/to/nexus-mcp/index.js"],
"environment": {
"NEXUS_AGENT": "opencode"
},
"enabled": true
}
}
}
克劳德代码
添加到您的Claude Code MCP设置中:
{
"mcpServers": {
"nexus": {
"command": "node",
"args": ["/path/to/nexus-mcp/index.js"],
"env": {
"NEXUS_AGENT": "claude"
}
}
}
}
代理隔离
这 NEXUS_AGENT 环境变量将所有nexus操作范围限定到特定的代理命名空间:
| 代理 | 数据库路径 |
|---|---|
claude (默认) |
~/.nexus/claude/nexus.db |
opencode |
~/.nexus/opencode/nexus.db |
这意味着Claude Code和OpenCode保持 完全独立的内存存储。一个代理保存的首选项、会话和笔记对另一个代理不可见。
代理指令
创建指令文件(例如。 ~/.config/opencode/instructions/nexus.md)并在配置中引用它:
{
"instructions": ["~/.config/opencode/instructions/nexus.md"]
}
推荐指导内容:
# Nexus Memory — Cross-Session Context
On first session in a project directory, call the `nexus inject` MCP tool with
the project name to load past work, preferences, and patterns. Use the returned
context to understand what has been done before and how this project is
structured.
At session end, call `nexus remember` to save any new preferences, decisions,
or patterns observed during the session so they are available in future sessions.
工具参考
上下文
导出当前目录的完整项目上下文。
输入: 无(使用当前工作目录) 输出: Markdown格式的项目上下文,包括最近的会话、笔记和git状态。
简历
展示一下你上次在做什么。
输入: 无 输出: 上次会话摘要、最近提交和文件更改。
笔记
将自由格式的注释保存到当前项目。
输入:
{
"text": "Remember to update the API docs before release"
}
搜索
在会话摘要和笔记中进行全文搜索。
输入:
{
"query": "authentication system",
"project": "myproject"
}
哪里
查找与查询匹配的项目或文件。
输入:
{
"query": "database migration"
}
报告
生成活动摘要。
输入:
{
"period": "week"
}
时期: week (默认), month
项目
列出所有跟踪的项目及其运行状况。
输入:
{
"filter": "active"
}
过滤器: all (默认), active, dirty, stale
展示
详细的项目信息。
输入:
{
"project": "myproject"
}
会话
列出具有可选筛选功能的会话历史记录。
输入:
{
"project": "myproject",
"limit": 10,
"since": "7d"
}
召回
使用向量嵌入在会话、笔记和偏好之间进行语义搜索。如果Ollama不可用,则返回FTS5关键字搜索。
输入:
{
"query": "authentication system",
"limit": 5,
"types": ["session", "note", "preference"],
"project": "myproject"
}
类型: session, note, preference (默认值:全部)
输出: 用相似性得分对结果进行排名:
[
{
"source_type": "session",
"source_id": 1,
"content": "Implemented JWT auth system with rate limiting",
"score": 0.92
}
]
记住
保存偏好、模式或决定。
输入:
{
"content": "Always run tests before committing",
"category": "workflow",
"source": "stated",
"project": "myproject"
}
类别: workflow, style, tool, preference, pattern
来源: stated (默认), observed, inferred
置信度根据来源自动分配:陈述=1.0,观察=0.7,推断=0.4。
偏好
列出、创建、更新或删除首选项。
列表(无操作或操作=列表):
{
"action": "list",
"project": "myproject",
"category": "workflow"
}
创建(操作=创建):
{
"action": "create",
"content": "Prefer Go for backend services",
"category": "tool",
"source": "stated",
"project": "myproject"
}
更新(操作=更新):
{
"action": "update",
"id": 42,
"content": "Updated preference content",
"confidence": 0.9
}
删除(操作=删除):
{
"action": "delete",
"id": 42
}
注入
为会话开始或会话中期项目切换构建智能上下文。分三步组装上下文:
- 项目状态 --当前分支、状态、上次提交、最近会话
- 语义回忆 --基于任务描述的矢量相似以往工作
- 偏好 --主动偏好(置信度>0.3,未被取代)
输入:
{
"project": "myproject",
"task_description": "adding rate limiting to auth endpoints"
}
输出: Markdown格式的上下文已准备好粘贴到AI对话中。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
NEXUS_AGENT |
claude |
用于数据库隔离的代理命名空间 |
NEXUS_BIN |
nexus (PATH) |
连接二进制文件的路径 |
NEXUS_TIMEOUT |
30 |
nexus CLI调用超时(秒) |
建筑
nexus-mcp是一个围绕nexus CLI的精简包装:
- MCP客户端调用工具(例如。
recall) - nexus-mcp将工具调用转换为
nexusCLI命令 - 这
NEXUS_AGENTenv-var被转发为--agent所有CLI调用 - nexus-mcp解析CLI输出并将其返回给mcp客户端
所有命令都以可配置的超时(默认30秒)运行,以防止挂起。
写入前探测
当 nexus serve 正在运行,CLI命令(capture, note)通过HTTP API进行通信。当服务器不运行时,它们会回退到直接数据库写入。这意味着无论MCP工具是否工作 nexus serve 是活跃的。
API端点(nexus-serve)
跑步时 nexus serve,以下REST端点在上可用 http://127.0.0.1:7600:
| 端点 | 方法 | 目的 |
|---|---|---|
/api/capture |
POST | 从项目目录中捕获会话 |
/api/notes |
GET、POST | 列出/创建笔记 |
/api/preferences |
GET、POST | 列出/创建首选项 |
/api/preferences/{id} |
点击、删除 | 更新/删除首选项 |
/api/recall |
POST | 语义搜索(FTS5回退) |
/api/inject |
POST | 构建智能3遍上下文 |
/api/embed/status |
GET | 嵌入队列状态 |
所有端点都支持CORS。MCP服务器在可用于更快通信时使用这些端点。
技术栈
- Node.js (>=18)
@modelcontextprotocol/sdk--MCP协议实现- 萨德 --工具输入的模式验证
- 炮弹发射到
nexus具有可配置超时的二进制文件
故障排除
“nexus:找不到命令”
确保nexus二进制文件在您的PATH上,或已设置 NEXUS_BIN:
{
"environment": {
"NEXUS_BIN": "/home/digitalghost/go/bin/nexus"
}
}
召回无结果
- 确保Olama正在运行:
curl http://localhost:11434/api/tags - 确保
nomic-embed-text模型被拉取:ollama pull nomic-embed-text - 如果Ollama不可用,召回将退回到FTS5关键字搜索(质量较低,但仍然有效)
注射时不显示首选项
- 检查首选项是否存在:使用
preferences带工具action=list - 置信度<0.3的偏好被排除在外(它们可能已经衰减)
- 确保您使用的是正确的
NEXUS_AGENT--每个代理都有一个单独的数据库
代理隔离混淆
数据已保存 NEXUS_AGENT=claude 对不可见 NEXUS_AGENT=opencode 反之亦然。这是故意的。检查您正在使用哪个代理命名空间。
