Token导航 LogoToken导航TokenDH.com
Lanyard MCP Server logo
AI代理stdio官方级别未说明来源级核验

Lanyard MCP Server

MCP Server

一个通过Lanyard API提供Discord用户实时状态信息的MCP服务器,包括在线状态、Spotify活动、Discord活动和自定义KV数据。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

NNTin

提供方

NNTin

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python lanyard_server.py

详细介绍

系索MCP服务器

一种模型上下文协议(MCP)服务器,通过Lanyard API提供Discord用户存在信息。

目的

此MCP服务器为AI助手提供了一个安全的接口,用于通过Lanyard服务检索实时Discord状态数据,包括在线状态、Spotify活动、Discord活动以及Discord用户的自定义KV数据。

特性

当前实施情况

  • get_user_presence -获取完整的Discord状态信息,包括状态、平台信息、Spotify、活动和KV数据
  • get_user_spotify -获取包含曲目详细信息和时间戳的详细Spotify收听信息
  • get_user_kv -检索用户设置的自定义系索KV(键值)数据集

所有工具包括:

  • Discord用户ID的输入净化和验证
  • 格式化的、人类可读的输出,带有表情符号
  • API故障的正确错误处理
  • 速率限制检测
  • 超时处理

先决条件

  • 启用MCP工具包的Docker桌面
  • Docker MCP CLI插件(docker mcp 命令)
  • 使用Lanyard的用户的用户ID(17-20位数字)不一致

安装

第一步:构建Docker镜像

docker build -t lanyard-mcp-server:latest .

步骤2:配置MCP目录

复制自定义目录配置:

# Copy custom.yaml to your Docker MCP catalogs directory
cp custom.yaml ~/.docker/mcp/catalogs/custom.yaml

步骤3:VS代码集成(可选)

如果使用支持MCP的Visual Studio代码:

# Copy the MCP configuration to your project
cp .vscode/mcp.json /path/to/your/project/.vscode/

步骤4:导入并启用服务器

# Import the catalog
docker mcp catalog import custom.yaml

# Enable the Lanyard server
docker mcp server enable lanyard

代理商提示

当使用有权访问此MCP服务器的AI代理时,您可以使用以下示例命令:

获取用户状态信息

docker mcp tools call get_user_presence user_id=77488778255540224

获取Spotify活动

docker mcp tools call get_user_spotify user_id=77488778255540224

获取自定义KV数据

docker mcp tools call get_user_kv user_id=77488778255540224

使用示例

在Claude Desktop中,您可以问:

  • “用户77488778255540224的Discord状态是什么?”
  • “用户77488778255540224正在收听Spotify吗?”
  • “显示Discord用户77488778255540224的自定义KV数据”
  • “获取用户77488778255540224的当前状态和活动”
  • “用户77488778255540224在Spotify上听什么歌?”

Lanyard是什么?

Lanyard是一个通过REST API和WebSocket公开Discord用户存在数据的服务。用户必须通过加入Lanyard Discord服务器来选择加入。此MCP服务器使用REST API获取用户呈现信息。

建筑

AI 代理→ MCP网关→ 系索MCP服务器→ 拉亚德API↓ Discord状态数据

发展

局部测试

# Run directly
python lanyard_server.py

# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python lanyard_server.py

# Test with a known user ID (Lanyard creator)
echo '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_user_presence","arguments":{"user_id":"94490510688792576"}},"id":2}' | python lanyard_server.py

添加新工具

  1. 将函数添加到lanyard_server.py
  2. 使用@mcp.tool()进行装饰
  3. 遵循以下模式:单行docstring,默认为空字符串,返回格式化字符串
  4. 用新的工具名称更新目录条目
  5. 重建Docker镜像

故障排除

工具未出现

  • 验证Docker镜像构建成功: docker images | grep lanyard
  • 检查目录和注册表文件 ~/.docker/mcp/catalogs/
  • 确保Claude Desktop配置包括自定义目录
  • 完全重新启动克劳德桌面

“找不到用户”错误

  • 验证Discord用户ID是否正确(17-20位数字)
  • 确保用户已加入Lanyard Discord服务器
  • 检查用户是否未选择退出Lanyard

速率限制错误

  • 拉亚德API有费率限制
  • 请稍等片刻,然后重试
  • 如果频繁发出请求,请考虑实现缓存

API 参考

此服务器使用Lanyard REST API:

  • 基本URL:https://api.lanyard.rest/v1
  • 端点:GET/users/:user_id
  • 文档:https://github.com/Phineas/lanyard

安全考虑

  • 无需身份验证(Lanyard API是公共的)
  • 用户ID在使用前经过验证和消毒
  • 在Docker中以非root用户身份运行
  • 请求超时防止挂起
  • 未存储或记录敏感数据

未来增强思路

  • WebSocket支持实时更新
  • 缓存以减少API调用
  • 批量用户查找
  • 历史存在跟踪
  • 活动统计
  • 自定义格式选项

测试

94490510688792576-Phineas(系索创建者) 77488778255540224-b6d(MCP集成)

通过加入Lanyard Discord服务器查找更多用户。

局限性

  • 要求用户通过加入Lanyard Discord来选择加入
  • 受限于Lanyard API费率限制
  • 无实时更新(仅限REST,非WebSocket)
  • 状态数据取决于Discord API的可用性

资源

  • Lanyard GitHub:https://github.com/Phineas/lanyard
  • 系索不协调:https://discord.gg/lanyard
  • MCP文件:https://modelcontextprotocol.io

目录标签

目录标签

PythonClaudeAI代理Discord集成本地部署实时状态API服务用户活动追踪MCP协议

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP