Token导航 LogoToken导航

MCP Server · AI代理

Slskd MCP

一个基于slskd OpenAPI规范的MCP服务器,为AI代理提供对Soulseek客户端的全面控制功能,包括搜索、下载、浏览对等节点和管理传输等。

stdio官方级别未说明来源级核验工具 0
PythonClaudeAI代理

快速开始

作者 / 组织
abl030
提供方
abl030
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Slskd MCP 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

AI代理

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

uv run python -m generator # produces generated/server.py

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

slskd MCP服务器

MCP(模型上下文协议)服务器,使AI代理能够完全控制 slskd,现代Soulseek客户。根据slskd OpenAPI规范自动生成(70条路径,93次操作)。

由于通过手动搜索Soulseek而构建 podman exec wget 链条是 花费我们代币的60%。这使代理可以直接访问搜索、下载、浏览对等体、监控传输和管理slskd实例——Lidarr中缺失的部分→ 灵魂追寻→ Plex音乐管道。

整个项目——生成器、服务器、测试套件和此README——由AI(Claude)构建,旨在供AI代理安装和使用。

安装

选项1:镍片(推荐)

# flake.nix
{
  inputs.slskd-mcp.url = "github:abl030/slskd-mcp";
}
# Use the package
environment.systemPackages = [ inputs.slskd-mcp.packages.${pkgs.system}.default ];

# Or in an MCP server config
{
  command = "${inputs.slskd-mcp.packages.${pkgs.system}.default}/bin/slskd-mcp";
  env = {
    SLSKD_URL = "http://localhost:5030";
    SLSKD_API_KEY = "your-api-key";
  };
}

无需安装即可快速测试:

SLSKD_URL=http://localhost:5030 SLSKD_API_KEY=your-key nix run github:abl030/slskd-mcp

选项2:uv(非Nix)

git clone https://github.com/abl030/slskd-mcp.git
cd slskd-mcp
uv sync
uv run python -m generator    # produces generated/server.py

配置您的MCP客户端

克劳德代码:

# Nix
claude mcp add slskd -- \
  env SLSKD_URL=http://YOUR_SLSKD_HOST:5030 \
  SLSKD_API_KEY=YOUR_API_KEY \
  slskd-mcp

# Non-Nix
claude mcp add slskd -- \
  env SLSKD_URL=http://YOUR_SLSKD_HOST:5030 \
  SLSKD_API_KEY=YOUR_API_KEY \
  uv run --directory /path/to/slskd-mcp fastmcp run generated/server.py

克劳德桌面 (claude_desktop_config.json):

{
  "mcpServers": {
    "slskd": {
      "command": "slskd-mcp",
      "env": {
        "SLSKD_URL": "http://YOUR_SLSKD_HOST:5030",
        "SLSKD_API_KEY": "YOUR_API_KEY",
        "SLSKD_MODULES": "searches,transfers,users,files,rooms,server"
      }
    }
  }
}

环境变量

变量默认值描述
SLSKD_URLhttp://localhost:5030slskd基本URL
SLSKD_API_KEY*(必填)*API密钥(“设置”>“常规”>“API密钥”)
SLSKD_MODULES*(所有模块)*以逗号分隔的要启用的模块列表
SLSKD_READ_ONLYfalse删除所有突变工具(POST/PUT/DELETE)

模块过滤

默认情况下,所有工具都已注册。集 SLSKD_MODULES 只加载您需要的内容:

模块它涵盖了什么
searches创建搜索、列出结果、获取响应、删除搜索
transfers下载/上传管理,队列下载,取消,清除完成
users浏览对等共享,获取用户信息/状态/端点,请求目录
files下载/不完整文件管理,删除文件/目录
conversations私信——发送、阅读、确认消息
rooms聊天室--加入、离开、列表、发送消息、查看成员
server服务器状态——连接、断开连接、状态
application应用程序信息、版本、关机、重启、GC、转储
options运行时配置——获取/设置YAML配置
shares本地共享管理——列表、重新扫描、获取内容
session身份验证——登录、会话检查
telemetry指标、转移报告、排行榜
relay中继代理/控制器管理
events服务器发送事件,引发事件
logs应用程序日志

slskd_get_overview, slskd_search_tools,以及 slskd_report_issue 无论模块选择如何,始终都会注册。

示例配置:

# Music pipeline (search + download + browse peers)
SLSKD_MODULES=searches,transfers,users,files

# Monitoring only
SLSKD_MODULES=server,transfers,telemetry
SLSKD_READ_ONLY=true

# Full control
# (default — all modules enabled)

所得

TODO:工具计数将在生成器Sprint 1完成后填写。

类别示例
搜索创建搜索、列出活动/已完成的搜索、获取响应、删除
转账列出下载/上传,排队从对等端下载,取消,清除完成
用户浏览对等共享,获取用户信息/状态,请求目录列表
文件列出/删除下载的文件,列出/删除不完整的文件
对话发送/阅读私人消息、确认消息
房间加入/离开房间、发送消息、列出成员、可用房间
服务器连接/断开Soulseek,获取服务器状态
股份列出本地共享,重新扫描共享,获取共享内容
遥测传输统计数据、排行榜、异常报告

高级工具(不需要API知识)

工具说明
slskd_get_overview系统摘要:服务器状态、传输计数、搜索活动
slskd_search_tools在所有工具名称/描述中进行关键字搜索
slskd_report_issue生成结构化错误报告

安全:确认门

所有突变都需要 confirm=True。没有它,你会得到一个模拟预览:

# Preview only — nothing changes
slskd_create_search(searchText="xaviersobased Xavier")

# Actually creates the search
slskd_create_search(searchText="xaviersobased Xavier", confirm=True)

列表工具筛选

全部 slskd_list_* 工具支持可选参数:

  • fields --要返回的逗号分隔的字段名(例如。 "username,state")
  • filter --逗号分隔键=行筛选的值对(例如。 "state=Completed")

错误报告

每个工具的文档字符串都促使人工智能消费者调用 slskd_report_issue 意外错误。

运作原理

蟒蛇 发电机 读取slskd OpenAPI 3.0.1规范(70条路径,93次操作),并通过Jinja2模板生成MCP服务器。当slskd更新其API时,使用 SLSKD_SWAGGER=true,拉取新规范,然后重新运行:

# Pull new spec (slskd needs SLSKD_SWAGGER=true to expose it)
docker run -d --name slskd-swagger -e SLSKD_SWAGGER=true -p 15030:5030 slskd/slskd:latest
sleep 5
curl -sf http://localhost:15030/swagger/v0/swagger.json -o spec/openapi.json
docker rm -f slskd-swagger

# Regenerate
nix develop -c python -m generator

生成的服务器使用FastMCP和单个 SlskdClient 类(httpx+neneneba API密钥验证通过 X-Api-Key 头球每个API操作一个异步工具函数。

建筑

spec/openapi.json              # slskd OpenAPI 3.0.1 spec (input, 70 paths)
generator/                     # Python generator
  __main__.py                  # Entry point: python -m generator
  loader.py                    # Load and parse the OpenAPI spec
  naming.py                    # Convert method+path to tool names
  schema_parser.py             # Extract parameter types from schemas
  context_builder.py           # Build template context, assign modules
  codegen.py                   # Render templates and write output
templates/
  server.py.j2                 # FastMCP server template
generated/
  server.py                    # The MCP server (never hand-edit)
tests/                         # Unit + integration tests
research/                      # Best practices, API notes

测试

单元测试(无需slskd)

nix develop -c python -m pytest tests/ -v

集成测试(需要slskd)

# Start slskd in Docker
docker compose -f docker/docker-compose.yml up -d

# Wait for ready
bash docker/wait-for-ready.sh

# Run integration tests
nix develop -c python -m pytest tests/test_integration.py -v --integration

# Tear down
docker compose -f docker/docker-compose.yml down

Sprint计划

Sprint 1:发电机核心

  • \[\]OpenAPI规范加载器(loader.py)--解析路径、操作、模式
  • \[\]命名约定(naming.py) — method+path 到 slskd_{verb}_{resource}
  • \[\]模式解析器(schema_parser.py)--提取参数类型,句柄 $ref, allOf
  • \[\]上下文生成器(context_builder.py)--分配模块,构建模板上下文
  • \[\]代码生成器(codegen.py)--通过Jinja2渲染server.py
  • \[\]服务器模板(server.py.j2)--带SlskdClient、模块门控、确认门控的FastMCP服务器
  • \[\]生成并验证刀具数量是否符合规格

Sprint 2:质量和正确性

  • \[\]应用MCP最佳实践(参见 research/mcp-server-best-practices.md)

- 对大整数(>=2^53)进行消毒 - 从请求参数中排除只读字段 - 参数描述中的枚举值 - 从描述中删除HTML - PATCH默认为无

  • \[\]列出工具增强功能: fields, filter 参数
  • \[\]高级工具: slskd_get_overview, slskd_search_tools, slskd_report_issue
  • \[\]搜索工作流提示→ 下载→ 进口管道
  • \[\]使用结构化错误字典包装时出错
  • \[\]文件/目录路径参数的Base64编码助手
  • \[\]单元测试:命名、模块、列表工具

Sprint 3:集成测试

  • \[\]Docker为slskd测试实例编写
  • \[\]针对实时slskd的集成测试
  • \[\]用于编排的Makefile
  • \[\]镍片检查与单元测试

Sprint 4:LLM测试

  • \[\]任务配置和自动生成的任务文件
  • \[\]在Docker中对slskd运行银行测试
  • \[\]测试反馈对文档字符串的改进

Sprint 5:文档和发布

  • \[\]在README中填写工具计数
  • \[\]连接到nixoconfig .mcp.json
  • \[\]PyPI打包+MCP注册表提交

slskd特别注意事项

认证

slskd通过 X-Api-Key 头球该规范没有定义安全方案——身份验证由中间件处理。在slskd设置>常规>API密钥中生成API密钥。

Base64编码路径参数

几个文件/目录端点使用base64编码的路径参数(base64SubdirectoryName, base64FileName).生成器应该添加一个自动编码这些内容的助手。

规范中没有操作ID

slskd规范没有 operationId 字段——工具名称必须完全从HTTP方法+路径派生(与lidarr-mcp的方法相同)。

Swagger是一个功能标志

默认情况下,slskd不公开OpenAPI。要重新生成规范,请使用以下命令运行slskd SLSKD_SWAGGER=true (环境变量)或 --swagger (CLI标志)。

音乐管道的关键工作流程

  1. 搜索和下载: slskd_create_search → poll slskd_get_search → 通过浏览结果 slskd_list_search_responses → slskd_create_transfer_download (从特定对等端排队下载)
  2. 浏览同行共享: slskd_get_user_browse → slskd_create_user_directory (获取目录列表)
  3. 监控下载: slskd_list_transfers_downloads → 检查状态→ slskd_delete_transfers_downloads_completed (透明完成)

依赖项

Nix用户: nix run github:abl030/slskd-mcp --一切捆绑。

非Nix用户: Python 3.11+, 紫外线、fastmcp、httpx、jinja2(由安装者安装) uv sync).

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

AI代理控制Python本地部署文件共享音乐管道自动化搜索P2P网络

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Slskd MCP

MCP World · 本页

0stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Slskd MCP 怎么安装?

公开资料给出的安装命令是 uv run python -m generator # produces generated/server.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Slskd MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Slskd MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Slskd MCP 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Slskd MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP