返回市场
麦普 Reddit

麦普 Reddit

作者:wllcnm9 星标更新:2025-01-02

项目介绍

MCP Reddit Server

English | Chinese Description

<h2 id="chinese">中文说明</h2>

1. 项目介绍

这是一个基于MCP(模型上下文协议)协议的Reddit服务器,特别设计用于与像Claude这样的大型语言模型进行交互。通过此服务,您可以使用AI助手帮助浏览和分析Reddit上的内容。

1.1 主要功能

  • 在特定的subreddit中搜索帖子
  • 获取帖子的详细信息和评论
  • 浏览subreddit中的热门帖子

1.2 项目结构

nangeAGICode/reddit_chat_claude/
├── .github/
│   └── workflows/
│       └── docker.yml # GitHub Actions工作流配置
├── src/
│   ├── init.py
│   └── server.py # MCP服务器核心代码
├── .gitignore # Git忽略文件配置
├── Dockerfile # Docker构建文件
├── LICENSE # MIT许可证
├── README.md # 项目说明文档
└── requirements.txt # Python依赖包列表

2. 安装和配置

2.1 预备条件

  • Docker(必需)
  • Python 3.12+(本地开发用)
  • Reddit API凭证(必需)

2.2 获取Reddit API凭证

  1. 访问 https://www.reddit.com/prefs/apps
  2. 点击 '创建另一个应用...'
  3. 选择 '脚本'
  4. 填写必要的信息
  5. 获取客户端ID和客户端密钥

2.3 环境变量配置

需要设置以下环境变量:

REDDIT_CLIENT_ID=你的client_id
REDDIT_CLIENT_SECRET=你的client_secret
REDDIT_USER_AGENT=你的user_agent

2.4 Docker安装

Mac用户: 1. 访问Docker官方网站:https://www.docker.com/products/docker-desktop 2. 点击“下载适用于Mac” 3. 选择对应您Mac芯片的版本(Apple Silicon或Intel) 4. 下载并安装.dmg文件

5. 验证安装:

# 检查 Docker 版本
docker --version

# 运行测试容器
docker run hello-world

6. 确保Docker服务正在运行:

# 检查 Docker 服务状态
docker ps

3. 使用说明

3.1 在Claude桌面客户端中使用

在您的claude_desktop_config.json中添加以下配置:

{
  "mcpServers": {
    "reddit": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "REDDIT_CLIENT_ID=你的client_id",
        "-e", "REDDIT_CLIENT_SECRET=你的client_secret",
        "-e", "REDDIT_USER_AGENT=你的user_agent",
        "ghcr.io/nangeplus/mcp-reddit:latest"
      ]
    }
  }
}

3.2 可用工具

  1. search_subreddit 在特定的subreddit中搜索帖子

    • 参数
      • subreddit: subreddit名称
      • query: 搜索关键词
      • limit: 返回结果的最大数量(默认:5)
  2. get_post_details 获取特定帖子的详细信息

    • 参数
      • post_id: Reddit帖子ID
      • comment_limit 要获取的评论最大数量(默认:1_0)
  3. get_subreddit_hot 获取subreddit中的热门帖子

    • 参数
      • subreddit: subreddit名称
      • limit 返回帖子的最大数量(默认:5)

3.3 使用示例

在Claude中,您可以这样使用工具:

{
  "tool": "get_subreddit_hot",
  "arguments": {
    "subreddit": "Python",
    "limit": 3
  }
}

示例对话:

用户:请帮我检查Python subreddit中最受欢迎的前3个帖子。

Claude:好的,让我帮你检查一下。我将使用get_subreddit_hot工具:

{
  "tool": "get_subreddit_hot",
  "arguments": {
    "subreddit": "Python",
    "limit": 3
  }
}

[Claude将返回帖子信息]

用户:请帮我检查第一个帖子的详细内容和评论。

Claude:我将使用get_post_details工具:

{
  "tool": "get_post_details",
  "arguments": {
    "post_id": "返回的帖子ID"
  }
}

4. 本地开发

4.1 克隆仓库

git clone https://github.com/nangeplus/mcp-reddit.git
cd mcp-reddit

4.2 安装依赖

pip install -r requirements.txt

4.3 运行服务器

python src/server.py

4.4 Docker构建

docker build -t mcp-reddit .
docker run -i --rm \
  -e REDDIT_CLIENT_ID=你的client_id \
  -e REDDIT_CLIENT_SECRET=你的client_secret \
  -e REDDIT_USER_AGENT=你的user_agent \
  mcp-reddit

5. 注意事项

  1. 安全

    • 请确保您的Reddit API凭证安全且保密
    • 不要在公共场合分享您的个人资料
    • 建议使用环境变量而不是硬编码凭证
  2. 使用限制

    • Reddit API对调用频率有限制
    • 默认情况下返回评论的数量限制为10
    • 默认情况下搜索结果的数量限制为5项
  3. 故障排除

    • 检查API凭证是否正确
    • 确保网络连接正常
    • 查看日志输出以获取详细的错误信息

6. 贡献指南

  1. 分叉项目
  2. 创建特性分支(git checkout -b feature/AmazingFeature
  3. 提交更改(git commit -m 'Add some AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开拉取请求

7. 许可证

本项目采用MIT许可证 - 查看LICENSE文档详情