WithContext MCP服务器
](https://www.npmjs.com/package/with-context-mcp) 
让你的AI编码代理直接写入你的笔记应用程序。 WithContext为使用Obsidian的AI代理提供项目范围的笔记管理,使他们能够在编码时创建文档、跟踪更改和组织知识。
为什么是WithContext?
你的AI编码代理需要一个地方来存储文档、会议笔记和项目更新。WithContext允许他们通过以下方式直接访问您的黑曜石保险库:
- 自动项目范围界定 -每个项目都有自己的文件夹,没有交叉污染
- 智能编辑 -代理可以更新frontmatter、替换部分、添加/追加内容
- 会话跟踪 -使用变更日志和待办事项跟踪代理所做的更改
- 智慧型组织 -内置预设,用于保持金库清洁
- 模板系统 -用于一致文档的专业模板
你设置过一次。你的AI代理处理其余的事情。
快速设置
1.安装Obsidian REST API插件
- 打开黑曜石设置→ 社区插件→ 浏览
- 搜索 “本地REST API” 并安装
- 启用插件并复制您的API密钥
2.使用上下文进行安装
npm install -g with-context-mcp3.配置您的AI客户端
将此添加到AI客户端的MCP配置中:
OpenCode (opencode.jsonc):
{
"mcp": {
"with-context": {
"type": "local",
"command": "npx",
"args": ["-y", "with-context-mcp"],
"environment": {
"OBSIDIAN_API_KEY": "{env:OBSIDIAN_API_KEY}",
"OBSIDIAN_API_URL": "{env:OBSIDIAN_API_URL}",
"OBSIDIAN_VAULT": "{env:OBSIDIAN_VAULT}",
"PROJECT_BASE_PATH": "{env:PROJECT_BASE_PATH}",
},
"enabled": true,
},
},
}其他客户:
4.设置环境变量
export OBSIDIAN_API_KEY="your_api_key_here"
export OBSIDIAN_API_URL="https://127.0.0.1:27124"
export OBSIDIAN_VAULT="MyVault"
export PROJECT_BASE_PATH="Projects"就是这样! 您的AI代理现在可以访问33多种工具来管理笔记 MyVault/Projects/.
你的代理人能做什么
配置后,您的AI编码代理可以:
- 创建和更新文档 当它编写代码时
- 跟踪更改 具有自动更改日志和待办事项
- 整理保险库 使用智能预设
- 编辑YAML frontmatter 添加标签和元数据
- 搜索和更新现有笔记 按内容或文件名
- 从模板生成注释 格式一致
- 替换特定部分 在markdown文件中按标题
你不需要学习工具。 当您的AI代理需要记录某些内容、跟踪更改或组织笔记时,它会自动使用它们。
工作流示例
当你的AI代理处理某个功能时,它可能会:
- 启动会话:
start_session({ project_folder: 'my-app' }) - 创建API文档:
write_note({ path: 'docs/api.md', content: '...' }) - 跟踪更改:
add_changelog_entry({ type: 'feature', message: 'Add user API' }) - 添加到一切:
add_todo({ content: 'Write integration tests' }) - 更新元数据:
update_frontmatter({ path: 'docs/api.md', frontmatter: { status: 'draft' } })
您的保管库会自动保持有序:
MyVault/Projects/my-app/
├── docs/api.md
└── CHANGELOG.md文档
v3.0.6的新增功能
- 前置模式 -在笔记的开头添加内容
- update_front -使用合并/替换模式编辑YAML frontmatter
- 模糊发现 -通过匹配突出显示快速搜索文件
- replace_section -按标题编辑特定的标记部分
可用工具
您的AI代理有权访问 33工具 分为6类:
| 类别 | 工具 |
|---|---|
| 核心 | 写入、读取、列出、搜索、删除、批写入、获取元数据 |
| 编辑 | update_front,replace_section |
| 会话 | 开始、暂停、恢复、结束、状态、更改日志、待办事项、提交建议 |
| 组织 | 分析结构、生成计划、重组 |
| 配置 | 设置、验证、预览、摄取、传送、同步 |
| 模板 | list_templates,create_from_template |
故障排除
连接问题? 确保Obsidian正在运行,本地REST API插件已启用,并且 OBSIDIAN_API_URL 匹配插件端口(默认值:27124)
身份验证失败? 验证 OBSIDIAN_API_KEY 从插件设置中检查是否有多余的空格
路径错误? 仅使用相对路径(否 ../ 或绝对路径)-所有路径都是相对于您的项目文件夹的
安全
- 项目范围界定 -操作仅限于配置的项目文件夹
- 路径验证 -防止目录遍历攻击
- 超文本传输安全协议 -安全连接到Obsidian本地REST API
- API密钥验证 -所有操作都需要
贡献
欢迎投稿!分叉存储库,创建功能分支,添加测试,并提交拉取请求。
链接
______________________________________________________________________
专为人工智能编码代理和与它们一起工作的人而设计
