书签管理服务器

Linkding MCP服务器是一个与自托管书签管理器Linkding无缝集成的模型上下文协议(MCP)服务器,使AI助手能够通过标准化的MCP工具与您的Linkding书签进行交互。

  • by chickenzord
  • Go
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 chickenzord/linkding-mcp

使用说明

链接MCP服务器

一个模型上下文协议(MCP)服务器,提供与 链接,一个自托管书签管理器。该服务器使像Claude这样的人工智能助手能够通过标准化的MCP工具与您的链接书签进行交互。

特性

  • 🔍 搜索书签 -通过可自定义限制的查询查找书签
  • ➕ 创建书签 -添加带有标题、描述和标签的新书签
  • 🏷️ 管理标签 -检索并使用书签标签
  • 🚀 双模式支持 -通过stdio(MCP标准)或HTTP服务器运行
  • 🐳 Docker就绪 -基于阿尔卑斯山的多级集装箱
  • 🔒 安全 -以非root用户身份运行,依赖性最小

可用工具

search_bookmarks

搜索您的链接书签。

参数:

  • query (字符串,可选):搜索短语以过滤书签
  • limit (数字,可选):返回的最大结果数(默认值:20)

create_bookmark

在链接中创建新书签。

参数:

  • url (字符串,必填):书签的URL
  • title (字符串,可选):书签的标题
  • description (字符串,可选):书签的描述
  • tags (字符串数组,可选):与书签关联的标签

get_tags

从Linkding检索可用标签。

参数:

  • limit (number,可选):要返回的最大标记数(默认值:50)

安装

先决条件

  • 链接 实例正在运行且可访问
  • 链接API令牌(在链接管理面板中生成)

选项1:Docker(推荐)

# Pull the image
docker pull ghcr.io/chickenzord/linkding-mcp:latest

# Run in stdio mode (for MCP clients)
docker run --rm -i \
  -e LINKDING_URL="https://your-linkding.example.com" \
  -e LINKDING_API_TOKEN="your-api-token" \
  ghcr.io/chickenzord/linkding-mcp:latest stdio

# Run in HTTP mode  
docker run --rm -p 8080:8080 \
  -e LINKDING_URL="https://your-linkding.example.com" \
  -e LINKDING_API_TOKEN="your-api-token" \
  -e BIND_ADDR=":8080" \
  ghcr.io/chickenzord/linkding-mcp:latest http

选项2:自制(macOS/Linux)

# Add the tap
brew tap chickenzord/tap

# Install linkding-mcp
brew install linkding-mcp

# Install latest development version
brew install --HEAD linkding-mcp

选项3:去安装

go install github.com/chickenzord/linkding-mcp/cmd/linkding-mcp@latest

选项4:从源代码构建

git clone https://github.com/chickenzord/linkding-mcp.git
cd linkding-mcp
go build -o linkding-mcp ./cmd/linkding-mcp

配置

环境变量

  • LINKDING_URL (必填):您的链接实例URL
  • LINKDING_API_TOKEN (必需):链接管理面板中的API令牌
  • BIND_ADDR (可选):HTTP服务器绑定地址(默认:“:8080”)

获取您的链接API令牌

  1. 登录您的Linkding实例
  2. 转到“设置”→ 集成
  3. 生成新的API令牌
  4. 复制令牌以用于此MCP服务器

MCP客户端配置

克劳德桌面

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "linkding": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "LINKDING_URL=https://your-linkding.example.com",
        "-e", "LINKDING_API_TOKEN=your-api-token",
        "ghcr.io/chickenzord/linkding-mcp:latest",
        "stdio"
      ]
    }
  }
}

或者,如果使用本地二进制文件:

{
  "mcpServers": {
    "linkding": {
      "command": "linkding-mcp",
      "args": ["stdio"],
      "env": {
        "LINKDING_URL": "https://your-linkding.example.com",
        "LINKDING_API_TOKEN": "your-api-token"
      }
    }
  }
}

带有MCP扩展的VS代码

{
  "mcp.servers": [
    {
      "name": "linkding",
      "command": "linkding-mcp",
      "args": ["stdio"],
      "env": {
        "LINKDING_URL": "https://your-linkding.example.com", 
        "LINKDING_API_TOKEN": "your-api-token"
      }
    }
  ]
}

其他MCP客户端

对于任何兼容MCP的客户端,请使用:

  • 命令: linkding-mcp stdio (或Docker等效工具)
  • 运输:stdio
  • 环境:设置 LINKDING_URL 和 LINKDING_API_TOKEN

使用示例

一旦配置了MCP客户端,您就可以使用自然语言命令:

  • “搜索关于golang的书签”
  • “为创建书签https://example.com标题为“示例站点”,标签为“引用”、“工具”
  • “显示我的所有标签”
  • “查找与kubernetes相关的书签”

发展

本地运行

# Set environment variables
export LINKDING_URL="https://your-linkding.example.com"
export LINKDING_API_TOKEN="your-api-token"

# Run in stdio mode
go run ./cmd/linkding-mcp stdio

# Run in HTTP mode  
go run ./cmd/linkding-mcp http

测试

# Run tests
go test ./...

# Test with a real Linkding instance
go run ./cmd/linkding-mcp stdio < test-requests.json

建筑

# Build binary
go build -o linkding-mcp ./cmd/linkding-mcp

# Build Docker image
docker build -t linkding-mcp .

Docker编写示例

version: '3.8'
services:
  linkding-mcp:
    image: ghcr.io/chickenzord/linkding-mcp:latest
    environment:
      - LINKDING_URL=https://your-linkding.example.com
      - LINKDING_API_TOKEN=your-api-token
      - BIND_ADDR=:8080
    ports:
      - "8080:8080"
    command: ["http"]

api参考

HTTP模式在以下位置公开MCP端点:

  • POST /mcp/v1/initialize -初始化MCP会话
  • POST /mcp/v1/tools/list -列出可用工具
  • POST /mcp/v1/tools/call -调用工具

请参阅 MCP规范 API的详细文档。

故障排除

常见问题

认证错误:验证您的 LINKDING_API_TOKEN 正确且具有适当的权限。

连接错误:确保您的 LINKDING_URL 可访问,并包含协议(https://)。

权限不足:如果运行Docker,请确保容器可以访问您的Linkding实例(检查防火墙/网络)。

调试模式

集 LINKDING_DEBUG=true 对于详细日志记录:

LINKDING_DEBUG=true linkding-mcp stdio

日志

容器日志:

docker logs <container-id>

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

相关项目

支持


内置于❤️ 对于MCP生态系统