Joplin笔记管理服务

一个基于Go的MCP服务器,通过封装Joplin本地REST API,使Claude Code等MCP客户端能够直接读写Joplin笔记。

  • by Pat-Ayres
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 Pat-Ayres/joplin-mcp

使用说明

乔普林

基于Go的 主控程序 包装的服务器 乔普林 本地REST API,使Claude Code(和其他MCP客户端)能够直接读写Joplin注释。

特性

工具 说明
list_notebooks 列出所有笔记本名称和ID
list_notes 列出给定笔记本中的笔记
get_note 按ID获取笔记的完整内容
create_note 在指定的笔记本中创建新笔记
append_to_note 将内容附加到现有注释中
search_notes 在所有笔记中进行全文搜索
create_notebook 创建新笔记本

先决条件

  • 转到1.23+
  • 启用了Web Clipper服务的Joplin桌面应用程序(工具>选项>Web Clipper)
  • Joplin API令牌(可在Web Clipper设置中找到)

构建

go build -o joplin-mcp ./cmd/server

配置

服务器需要Joplin API令牌。通过环境变量进行设置:

export JOPLIN_API_TOKEN="your_token_here"

可选择设置自定义API URL(默认为 http://localhost:41184):

export JOPLIN_API_URL="http://localhost:41184"

使用Claude代码

将服务器添加到您的Claude Code MCP配置中(~/.claude/claude_code_config.json):

{
  "mcpServers": {
    "joplin": {
      "command": "/path/to/joplin-mcp",
      "env": {
        "JOPLIN_API_TOKEN": "your_token_here"
      }
    }
  }
}

然后Claude Code可以使用以下工具 list_notebooks, search_notes, append_to_note等等。

码头工人

docker build -t joplin-mcp .
docker run --rm -e JOPLIN_API_TOKEN="your_token" joplin-mcp

注意:在Docker中运行时,容器需要通过网络访问Joplin API。使用 --network host 或配置 JOPLIN_API_URL 指向主人。

建筑

cmd/server/main.go          Entrypoint: config loading, wiring, stdio server
internal/joplin/client.go   Joplin REST API client (HTTP, pagination)
internal/mcp/tools.go       MCP tool definitions and handlers

服务器运行在 stdio模式,这是Claude Code MCP集成的标准传输。它从stdin读取JSON-RPC消息,并将响应写入stdout。

许可证

看 许可证.