OneNote MCP服务器

该项目实现了一个简单的MCP服务器,用于通过Microsoft Graph Explorer访问OneNote笔记内容,并采用TOON格式减少输出令牌数量。

  • by Kalm004
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Kalm004/learning-onenote-mcp-server

使用说明

学习-MCP服务器-OneNote

关于这个项目

这个项目的目标是通过创建一个用于OneNote的MCP服务器的简单实现来记录我自己对MCP的了解。

免责声明: 这并不是OneNote MCP服务器的全面实现。

此项目使用Microsoft Graph Explorer获取OneNote信息。您可以在此处获取您的访问令牌: 图形资源管理器

运行此项目

一 .env 需要在内部创建文件 .src 文件夹。需要在那里定义以下环境变量:

名称 描述
ONENOTE_TOKEN 具有读取ONENOTE笔记权限的图形资源管理器令牌

TOON使用

此项目使用TOON作为getNotes工具的响应格式,这只是测试TOON的一种方式。对于TOON编码,此项目使用: Toon Python.

使用TOON,我看到MCP工具的输出令牌数量减少了30%。

用法

要将此MCP服务器添加到游标,请编辑您的 ~/.cursor/mcp.json 并添加以下内容:

    "onenote": {
      "command": "<venv-path>/python.exe",
      "args": ["<this-project-path>/src/server.py"],
      "description": "This MCP server provides access to the user's OneNote notes."
    }

主控程序

MCP是一种为LLM提供工具、提示和资源的协议。

在这个协议中,有服务器和客户端。

服务器提供:

  • 工具
  • 提示词
  • 资源

客户提供:

  • 采样
  • 根
  • 引出

MCP文件

MCP使用JSON-RPC。

客户端-主机-服务器架构。主机是管理客户端和上下文的主机,每个客户端连接到一个服务器。