Token导航 LogoToken导航TokenDH.com
My Obsidian MCP logo
文档知识未说明官方级别未说明来源级核验

My Obsidian MCP

MCP Server

一个基于C#实现的Obsidian笔记管理协议服务器,提供搜索、读取、创建笔记及任务管理功能,实现与GitHub Copilot的无缝集成。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
知识管理.NET开发C#VS Code任务跟踪VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

RazorAnt

提供方

RazorAnt

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MyObsidianMcp

C#中一个实用的模型上下文协议(MCP)服务器实现,提供了与黑曜石保险库交互的工具。本项目演示了如何使用构建MCP服务器。NET,并作为博客文章的伴侣而创建 让Copilot按你的方式工作:用C构建MCP服务器#.

概述

MCP服务器是强大的工具,使GitHub Copilot能够访问您的系统、数据和工作流。MyObsidianMcp通过标准MCP界面公开您的黑曜石保险库,允许Copilot搜索笔记、阅读内容、管理日常笔记、创建新笔记和跟踪任务——所有这些都无需离开您的编辑器。

构建自己的MCP服务器的美妙之处在于,你不局限于别人认为有用的东西。你可以让Copilot按照你想要的方式工作。这个项目解决了一个真正的问题:用黑曜石语保存数千条笔记,但能够在不切换编码环境的情况下搜索和访问它们。

特性

核心工具

  • 搜索备注 -在vault中的所有标记文件中搜索与查询匹配的内容
  • 阅读笔记 -按文件路径读取特定笔记的完整内容
  • 列表最近备注 -列出最近修改的注释(默认值:10)
  • GetDailyNote -检索特定日期(“今天”、“昨天”或“YYYY-MM-DD”)的每日笔记
  • 创建注释 -使用可选标签和文件夹组织创建新的标记注释
  • MarkTask -用状态标记任务(已完成、正在进行、已转发、已计划、打开)
  • 将任务添加到每日 -将新任务添加到每日笔记的短列表部分

入门指南

先决条件

  • .NET 10.0或更高版本
  • 黑曜石保险库目录

快速开始

创建新的MCP服务器项目:

dotnet new console -n MyMCP
dotnet add package ModelContextProtocol --prerelease
dotnet add package Microsoft.Extensions.Hosting

构建此项目

  1. 克隆此存储库
  2. 构建项目:
   dotnet build
  1. 对于生产使用,创建发布版本:
   dotnet build -c Release

编译后的DLL将位于 bin/Release/net10.0/MyObsidianMcp.dll

配置

将MCP服务器添加到您的 mcp.json 配置文件。配置将取决于您的设置:

选项1:直接使用项目

{
  "servers": {
    "myobsidianmcp": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "/path/to/MyObsidianMcp/MyObsidianMcp.csproj",
        "/path/to/your/obsidian/vault"
      ]
    }
  }
}

选项2:使用已发布的DLL(建议用于多台计算机)

{
  "servers": {
    "myobsidianmcp": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "/path/to/MyObsidianMcp.dll",
        "/path/to/your/obsidian/vault"
      ]
    }
  }
}

替换 /path/to/your/obsidian/vault 带有黑曜石保管库目录的实际路径。

启用Copilot中的工具

  1. 点击VS Code中的工具图标
  2. 单击MyObsidianMcp工具旁边的复选框以启用它
  3. 开始在副驾驶对话中使用这些工具

项目结构

MyObsidianMcp/
├── ObsidianService.cs    # Core service with all MCP tools
├── Program.cs            # MCP server setup and initialization
├── MyObsidianMcp.csproj  # Project configuration
└── README.md             # This file

使用示例

搜索包含“项目”的笔记

SearchNotes(query: "project")

获取今天的每日笔记

GetDailyNote(date: "today")

创建带有标签的新笔记

CreateNote(
  title: "New Idea",
  content: "This is an interesting concept...",
  tags: ["brainstorm", "ideas"],
  folder: "projects/personal"
)

将任务标记为已完成

MarkTask(
  taskText: "Call MetEd",
  status: "Completed",
  filePath: "dailies/2025-12-06.md"
)

将任务添加到今天的短列表中

AddTaskToDaily(
  taskText: "Review proposal",
  date: "today"
)

任务状态值

  • 完成 -任务已完成(复选框: [x])
  • 进行中 -正在处理任务(复选框: [/])
  • 转发 -任务已转发给其他人(复选框: [>])
  • 预定 -计划稍后执行的任务(复选框: [<])
  • 打开 -任务尚未启动(复选框: [ ])

项目结构

MyObsidianMcp/
├── ObsidianService.cs    # Core service with all MCP tools
├── Program.cs            # MCP server setup and initialization
├── MyObsidianMcp.csproj  # Project configuration
├── .gitignore            # Git ignore file
└── README.md             # This file

建筑

调试建立

dotnet build

输出: bin/Debug/net10.0/MyObsidianMcp.dll

发布版本

dotnet build -c Release

输出: bin/Release/net10.0/MyObsidianMcp.dll

跨平台设置

该项目旨在跨多台机器工作。以下是推荐的工作流程:

  1. 为您的目标平台构建 使用上面的publish命令
  2. 存储已发布的DLL 在同步位置(例如,您的黑曜石保险库)
  3. 更新您的mcp.json 在每台计算机上指向相应平台的DLL
  4. 配置您的Copilot指令 指导您希望如何使用MCP服务器

博客文章

该项目附带了博客文章“使用C#的个人MCP”,其中包括:

  • 理解模型上下文协议
  • 为什么要构建自己的MCP服务器
  • 用C#逐步构建MCP服务器
  • 与GitHub Copilot集成
  • 跨平台部署策略
  • 工具设计和错误处理的最佳实践

这篇博客文章从一个简单的“GetGreeting”工具到一个功能齐全的Obsidian集成,展示了您可以应用于自己项目的模式。

作者

由Al Nyveldt(与GitHub Copilot合作)创建,作为C#中实用MCP服务器开发的演示。

目录标签

目录标签

知识管理.NET开发C#VS Code任务跟踪笔记管理本地部署GitHubCopilot集成

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP