用于Discogs API的MCP服务器,支持音乐目录操作、搜索功能等。
如果你只想立即使用这个MCP服务器与Claude桌面应用,并且不关心开发或自己运行服务器,请确保已安装Node.js,并准备好你的Discogs个人访问令牌,然后直接跳转到Claude配置部分。使用该部分中的NPX方法。
此MCP服务器使用FastMCP构建,这是一个用于构建MCP服务器的TypeScript框架。有关MCP及其如何使用MCP服务器的更多信息,请参阅FastMCP文档和官方MCP文档。
查看可用工具列表:TOOLS.md
per_page默认值为50,这可能对某些客户端来说处理起来过多的数据,因此在此项目中设置了discogs.config.defaultPerPage值为5。您可以在提示中请求更多数据,但请注意一些客户端可能难以处理较大的响应。20.x.x,但18.x.x也应能工作)
node --version.env.example在根目录创建一个.env文件.env中设置以下必需的环境变量:
DISCOGS_PERSONAL_ACCESS_TOKEN:您的Discogs个人访问令牌要获取您的Discogs个人访问令牌,请前往您的Discogs设置 > 开发者页面,找到您的令牌或生成一个新的。不要分享您的令牌。OAuth支持将在未来的版本中添加。
.env.example中的其他环境变量是可选的,并具有合理的默认值,除非您有特定需求,否则不需要设置它们。
SERVER_HOST:服务器绑定的主机地址(默认:0.0.0.0)。设置为0.0.0.0以允许来自容器/机器外部的连接,或者设置为127.0.0.1仅限于本地主机。安装依赖:
pnpm install
可用命令:
pnpm run dev:启动带有热重载的开发服务器pnpm run dev:stream:启动带有热重载的HTTP流模式开发服务器pnpm run build:构建生产版本pnpm run start:运行生产构建pnpm run inspect:运行MCP检查器(见检查部分)pnpm run format:检查代码格式化(Prettier)pnpm run lint:运行代码检查器(ESLint)pnpm run test:运行vitestpnpm run test:coverage:运行vitest v8覆盖率pnpm run version:check:检查package.json版本和src/version.ts是否匹配构建Docker镜像:
docker build -t discogs-mcp-server:latest .
运行容器:
docker run --env-file .env discogs-mcp-server:latest
对于HTTP流传输模式:
# 端口应与您的.env文件中的匹配
# 默认情况下,服务器监听0.0.0.0,允许来自容器外部的连接
docker run --env-file .env -p 3001:3001 discogs-mcp-server:latest stream
运行MCP检查器来测试您的本地MCP服务器:
pnpm run inspect
这将在http://127.0.0.1:6274启动MCP检查器。在浏览器中访问此URL以与您的本地MCP服务器交互。
有关MCP检查器的更多信息,请访问官方文档。
未来将添加更多的客户端示例。如果您希望为特定客户端配置,可以通过打开新问题或创建拉取请求自行编辑此README的部分。
在Claude > 设置 > 开发者 > 编辑配置中找到您的claude_desktop_config.json,根据您选择的选项,添加以下内容中的仅一项:
直接从npm注册表运行。
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": [
"-y",
"discogs-mcp-server"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
在使用此方法之前,应该已经安装了依赖项(pnpm install)。
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": [
"tsx",
"/PATH/TO/YOUR/PROJECT/FOLDER/src/index.ts"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
在使用此方法之前,应该已经构建了Docker镜像。
{
"mcpServers": {
"discogs": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/PATH/TO/YOUR/PROJECT/FOLDER/.env",
"discogs-mMCP服务器:latest"
]
}
}
}
对本地代码的任何更改都需要重新启动Claude才能生效。此外,Claude需要人工干预以允许运行MCP工具,因此每次访问新工具时Claude都会要求权限。通常,您只需在每次聊天中为每个工具做一次。如果使用免费版本,长时间聊天可能会导致更频繁的错误尝试运行工具,因为Claude限制了单个聊天中的上下文量。
在librechat.yaml配置文件中,在mcpServers部分下添加以下内容:
discogs:
type: stdio
command: npx
args: ["-y", "discogs-mcp-server"]
env:
DISCOGS_PERSONAL_ACCESS_TOKEN: YOUR_TOKEN_GOES_HERE
进入聊天设置。在程序标签页中有一个默认为安装的下拉菜单。选择编辑mcp.json。在mcpServers部分下添加以下内容:
"discogs": {
"command": "npx",
"args": [
"-y",
"discogs-mcp-server"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_GOES_HERE"
}
}
保存后,在程序标签页中现在应该有一个mcp/discogs切换按钮来启用服务器。在每个聊天框中都有一个集成菜单,您也可以在那里启用MCP服务器。
此MCP服务器根据MIT许可证发布。这意味着您可以自由地使用、修改和分发软件,但需遵守MIT许可证的条款和条件。详情请参阅项目存储库中的LICENSE文件。