该项目使用Go语言实现了一个MCP(模型上下文协议)服务器,用于与小宇宙FM的API进行交互。它允许大型语言模型通过MCP工具访问小宇宙播客的信息。
get_user_profile_by_id:获取用户公开信息。get_user_stats:获取用户统计数据。get_podcast_details:获取播客详细信息。list_podcast_episodes:获取单个播客的剧集列表(支持分页和排序)。get_episode_details:获取单个剧集的详细信息。search_podcasts:根据关键词搜索播客(支持分页)。search_episodes:根据关键词搜索单个剧集,并可以选择在特定播客内搜索(支持分页)。search_users:根据关键词搜索用户(支持分页)。git clone https://github.com/MosesHe/xiaoyuzhoufm-mcp.git
cd xiaoyuzhoufm-mcp
go build -o xiaoyuzhoufm-mcp.exe cmd/xiaoyuzhoufm-mcp/main.go
或者简单地:
go build ./cmd/xiaoyuzhoufm-mcp/...
这将在项目的根目录生成一个可执行文件 xiaoyuzhoufm-mcp.exe(Windows)或 xiaoyuzhoufm-mcp(Linux/macOS)。
首次使用时,需要运行以下命令进行登录认证:
./xiaoyuzhoufm-mcp.exe init
或者在Linux/macOS上:
./xiaoyuzhoufm-mcp init
初始化过程会引导你完成以下步骤:
登录成功后,认证token会被保存在用户的主目录 ~/.mcp/xiaoyuzhoufm-mcp/token.json 文件中。
打开Cherry Studio,进入设置 - MCP服务器,在右上角点击添加服务器。

在设置界面填写名称,选择标准输入输出(STDio)作为类型,输入之前构建的可执行文件路径,并在右上角开启MCP服务器开关。

点击“工具”标签,如果出现工具列表,则设置成功。

在对话窗口中选择此MCP服务器开始对话。

服务器将自动从 ~/.mcp/xiaoyuzhoufm-mcp/token.json 加载认证token。如果token不存在或已过期,服务器会提示你先运行初始化命令。
~/.mcp/xiaoyuzhoufm-mcp/token.json{
"access_token": "...",
"refresh_token": "...",
"uid": "...",
"nickname": "...",
"last_updated_timestamp": 1234567890
}
.
├── cmd/xiaoyuzhoufm-mcp/
│ └── main.go # 主应用程序入口点
├── internal/
│ ├── constants/
│ │ └── constants.go # 定义项目中使用的常量(如API Base URL)
│ ├── server/
│ │ └── server.go # MCP服务器实现,包括工具注册和请求处理
│ ├── tools/ # MCP工具的实现逻辑
│ │ ├── podcast_tool.go
│ │ ├── search_tool.go
│ │ └── user_profile_tool.go
│ └── xyzclient/ # 用于与小宇宙API交互的客户端逻辑
│ ├── auth_api.go # 认证相关API调用
│ ├── http.go # HTTP客户端封装
│ ├── podcast_api.go # 播客相关API调用
│ ├── profile_api.go # 用户资料相关API调用
│ ├── search_api.go # 搜索相关API调用
│ ├── token.go # Token管理
│ └── types.go # API请求和响应的结构体定义
├── .gitignore
├── go.mod
├── go.sum
├── README.md
本项目基于MIT许可证
本项目仅用于学习和研究目的。请遵守所有适用法律及小宇宙播客的服务条款。