Files
funstat-mcp/docs/QUICK_START_GUIDE.md
2025-11-01 21:58:03 +08:00

695 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Funstat MCP Server - 快速开始教程
欢迎使用 Funstat MCP Server本教程将手把手教你如何在 **5 分钟内** 完成配置,让你能够通过 Claude Code 访问 10 亿+ Telegram 用户数据。
---
## 📋 前置要求检查
在开始之前,请确保你已经具备:
-**macOS** 系统(本教程基于 macOS其他系统类似
-**Python 3.10+** 已安装
-**Claude Code** 已安装
-**Session 文件** 已创建(`funstat_bot_session.session`
### 检查 Python 版本
打开终端,运行:
```bash
python3 --version
```
应该看到类似输出:
```
Python 3.10.0 或更高版本
```
如果 Python 版本过低,请先升级 Python。
---
## 🚀 第一步安装依赖2分钟
### 1.1 打开终端
**方法 1**: 按 `Cmd + Space`,输入 "Terminal",按回车
**方法 2**: 打开 Finder → 应用程序 → 实用工具 → 终端
### 1.2 进入项目目录
在终端中运行:
```bash
cd /Users/lucas/chat--1003255561049/funstat_mcp
```
### 1.3 安装 Python 依赖
运行以下命令:
```bash
pip3 install -r requirements.txt
```
**预期输出**
```
Collecting telethon>=1.34.0
Downloading telethon-1.34.0-py3-none-any.whl
Collecting mcp>=0.9.0
Downloading mcp-0.9.0-py3-none-any.whl
...
Successfully installed telethon-1.34.0 mcp-0.9.0 pydantic-2.5.0
```
**如果遇到权限错误**,使用:
```bash
pip3 install --user -r requirements.txt
```
### 1.4 验证安装
运行:
```bash
python3 -c "import telethon; import mcp; print('✅ 依赖安装成功!')"
```
应该看到:
```
✅ 依赖安装成功!
```
---
## ⚙️ 第二步:配置 Claude Code2分钟
### 2.1 找到 Claude Code 配置文件
Claude Code 的配置文件位于:
```
~/Library/Application Support/Claude/claude_desktop_config.json
```
### 2.2 方法一:使用命令行编辑(推荐)
在终端中运行以下命令:
```bash
# 创建配置文件目录(如果不存在)
mkdir -p ~/Library/Application\ Support/Claude
# 使用 nano 编辑器打开配置文件
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
### 2.3 添加 MCP 配置
**如果文件是空的或不存在**,完整复制以下内容:
```json
{
"mcpServers": {
"funstat": {
"command": "python3",
"args": [
"/Users/lucas/chat--1003255561049/funstat_mcp/server.py"
]
}
}
}
```
**如果文件已经有内容**,在 `mcpServers` 部分添加 `"funstat"` 配置:
```json
{
"mcpServers": {
"现有的MCP服务器配置": {
...
},
"funstat": {
"command": "python3",
"args": [
"/Users/lucas/chat--1003255561049/funstat_mcp/server.py"
]
}
}
}
```
### 2.4 保存并退出
如果使用 nano 编辑器:
1.`Ctrl + O` 保存
2.`Enter` 确认
3.`Ctrl + X` 退出
### 2.5 方法二:使用图形界面编辑(替代方案)
**第 1 步**:在 Finder 中打开配置目录
在终端中运行:
```bash
open ~/Library/Application\ Support/Claude
```
**第 2 步**:找到或创建 `claude_desktop_config.json` 文件
**第 3 步**:用文本编辑器打开,复制上面的配置内容
**第 4 步**:保存文件
### 2.6 验证配置文件格式
运行以下命令验证 JSON 格式是否正确:
```bash
python3 -c "import json; f=open(open('$HOME/Library/Application Support/Claude/claude_desktop_config.json')); json.load(f); print('✅ 配置文件格式正确!')"
```
如果格式错误,会显示具体的错误信息。
---
## 🔄 第三步:重启 Claude Code30秒
### 3.1 完全退出 Claude Code
**方法 1**: 右键点击 Dock 中的 Claude Code 图标 → 退出
**方法 2**: 在 Claude Code 中按 `Cmd + Q`
**重要**: 确保完全退出,而不是只关闭窗口!
### 3.2 重新启动 Claude Code
从应用程序文件夹或 Launchpad 启动 Claude Code
### 3.3 检查 MCP 服务器状态
启动后,在 Claude Code 中输入:
```
你好,请告诉我当前有哪些可用的 MCP 工具?
```
Claude 应该会列出包含 `funstat_` 开头的工具,例如:
- funstat_search
- funstat_topchat
- funstat_balance
---
## ✅ 第四步测试功能1分钟
### 4.1 测试搜索功能
在 Claude Code 中输入:
```
帮我搜索 Python 相关的 Telegram 群组
```
**预期响应**
Claude 会自动调用 `funstat_search` 工具,然后返回类似这样的结果:
```
我帮你搜索了 Python 相关的群组,找到以下结果:
1. ادوات بايثون • Python (152,441 成员)
2. Простой Python | Программирование (143,192 成员)
3. Learn Python (116,063 成员)
4. PythonNotes (109,769 成员)
5. Hacking Python Course Coding (100,134 成员)
...
这些群组都是关于 Python 编程学习和交流的,你想了解哪个群组的更多信息吗?
```
### 4.2 测试其他功能
试试这些命令:
**查看热门群组**
```
获取热门 Telegram 群组列表
```
**查询用户信息**
```
查询这个测试用户 ID: 7745296119
```
**查看积分余额**
```
我的 funstat 积分还有多少?
```
**搜索消息**
```
搜索包含 "GPT-4" 的 Telegram 消息
```
---
## 🎯 完整使用示例
### 示例 1寻找技术交流群
```
你: "我想找一些关于 AI 和机器学习的技术交流群"
Claude: 我帮你搜索了 AI 和机器学习相关的群组:
【AI 相关群组】
1. AI Technology Discussion (500,000+ 成员)
- 链接: https://t.me/...
- 简介: AI 技术讨论...
2. Machine Learning 中文社区 (300,000+ 成员)
- 链接: https://t.me/...
- 简介: 机器学习中文交流...
【机器学习群组】
3. Deep Learning Researchers (200,000+ 成员)
...
你对哪个群组感兴趣?我可以帮你查看更详细的信息。
```
### 示例 2批量查询
```
你: "帮我同时搜索这几个主题的群组区块链、Web3、NFT"
Claude: [自动并行搜索三个关键词]
我已经为你搜索了三个主题,这里是结果汇总:
【区块链相关 - TOP 5】
1. Blockchain Technology (800,000 成员)
2. Crypto Trading 中文 (500,000 成员)
...
【Web3 相关 - TOP 5】
1. Web3 Developers (400,000 成员)
2. Decentralized Apps (300,000 成员)
...
【NFT 相关 - TOP 5】
1. NFT Marketplace (600,000 成员)
2. Digital Art Collectors (350,000 成员)
...
需要我提供更详细的信息吗?
```
### 示例 3深度查询
```
你: "查询用户 @某个用户名 的详细信息"
Claude: [调用 funstat_user_info 工具]
用户信息:
- 用户名: @某个用户名
- 用户 ID: 123456789
- 注册时间: 2020-01-15
- 活跃状态: 活跃
- 加入的群组数: 50+
- 最近活跃: 2 天前
主要活跃群组:
1. Python 编程学习
2. AI 技术讨论
3. 区块链开发者社区
...
需要查看更多信息吗?
```
---
## 🔍 故障排除
### 问题 1MCP 服务器未连接
**症状**: Claude Code 中看不到 funstat 相关工具
**解决方案**
1. **检查配置文件路径**
```bash
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
应该看到包含 `funstat` 的配置
2. **验证 server.py 文件存在**
```bash
ls -l /Users/lucas/chat--1003255561049/funstat_mcp/server.py
```
3. **验证 Python 可以运行**
```bash
python3 /Users/lucas/chat--1003255561049/funstat_mcp/server.py --help
```
4. **查看 Claude Code 日志**
- 在 Claude Code 中按 `Cmd + Option + I` 打开开发者工具
- 查看 Console 标签
- 查找 `funstat` 或 `MCP` 相关的错误信息
### 问题 2Session 文件错误
**症状**:
```
FileNotFoundError: Session 文件不存在
```
**解决方案**
1. **检查 session 文件是否存在**
```bash
ls -l /Users/lucas/chat--1003255561049/funstat_mcp/funstat_bot_session.session
```
2. **如果不存在,重新创建**
```bash
cd /Users/lucas/chat--1003255561049
python3 create_session.py
cp funstat_bot_session.session funstat_mcp/
```
### 问题 3依赖未安装
**症状**:
```
ModuleNotFoundError: No module named 'telethon'
```
**解决方案**
```bash
cd /Users/lucas/chat--1003255561049/funstat_mcp
pip3 install -r requirements.txt
```
### 问题 4响应超时
**症状**:
```
TimeoutError: 等待 BOT 响应超时
```
**可能原因**
1. 网络连接问题
2. Telegram 服务器繁忙
3. BOT 正在处理大量请求
**解决方案**
1. 检查网络连接
2. 稍后重试
3. 如果持续出现,增加超时时间(编辑 `server.py`
### 问题 5速率限制警告
**症状**:
```
INFO: 速率限制: 等待 0.5 秒
```
**说明**: 这是**正常行为**,不是错误!
MCP 服务器自动管理请求速率,确保不超过 Telegram 的限制18请求/秒)。稍等片刻即可。
### 问题 6配置文件格式错误
**症状**:
```
JSONDecodeError: Expecting property name enclosed in double quotes
```
**解决方案**
1. **使用在线 JSON 验证器检查格式**
- 访问https://jsonlint.com/
- 粘贴配置文件内容
- 检查错误提示
2. **常见错误**
- 缺少逗号
- 多余的逗号
- 使用单引号而不是双引号
- 缺少闭合括号
3. **正确格式示例**
```json
{
"mcpServers": {
"funstat": {
"command": "python3",
"args": ["/Users/lucas/chat--1003255561049/funstat_mcp/server.py"]
}
}
}
```
---
## 📊 性能优化建议
### 1. 利用缓存
相同的查询在 1 小时内会直接从缓存返回,速度极快(<100ms
**示例**
```
第一次: "搜索 Python 群组" → 1-2秒
第二次: "搜索 Python 群组" → <100ms缓存
```
### 2. 批量查询
可以在一次对话中要求 Claude 执行多个查询:
```
你: "帮我同时搜索Python、JavaScript、Go 这三种编程语言的学习群组"
Claude: [自动并行执行三次搜索,整理结果]
```
### 3. 精确搜索
使用更具体的关键词可以获得更准确的结果:
❌ 不够精确: "编程"
✅ 更精确: "Python 机器学习"
✅ 最精确: "Python TensorFlow 深度学习"
---
## 🔐 安全最佳实践
### 1. Session 文件安全
⚠️ **重要**: Session 文件相当于你的 Telegram 账号密码
**保护措施**
```bash
# 设置严格的文件权限(只有你能读写)
chmod 600 /Users/lucas/chat--1003255561049/funstat_mcp/funstat_bot_session.session
```
**检查权限**
```bash
ls -l /Users/lucas/chat--1003255561049/funstat_mcp/funstat_bot_session.session
```
应该看到:
```
-rw------- 1 lucas staff ... funstat_bot_session.session
```
### 2. 定期更换 Session
建议每 3-6 个月更换一次:
```bash
# 删除旧 session
rm /Users/lucas/chat--1003255561049/funstat_mcp/funstat_bot_session.session
# 创建新 session
cd /Users/lucas/chat--1003255561049
python3 create_session.py
# 复制到 MCP 目录
cp funstat_bot_session.session funstat_mcp/
# 重启 Claude Code
```
### 3. 使用独立账号
建议注册一个专门用于此项目的 Telegram 账号,不要使用主账号。
---
## 📈 高级配置
### 调整缓存时间
编辑 `server.py`,找到:
```python
CACHE_TTL = 3600 # 默认 1 小时(秒)
```
修改为你需要的值:
```python
CACHE_TTL = 7200 # 2 小时
# 或
CACHE_TTL = 1800 # 30 分钟
```
### 调整速率限制
编辑 `server.py`,找到:
```python
RATE_LIMIT_PER_SECOND = 18 # 每秒最多 18 个请求
```
**注意**: 不建议提高此值,可能导致 Telegram 限流。
### 调整超时时间
编辑 `server.py`,在 `send_command_and_wait` 方法中:
```python
async def send_command_and_wait(
self,
command: str,
timeout: int = 10, # 修改这里10秒超时
use_cache: bool = True
):
```
修改为:
```python
timeout: int = 15, # 15秒超时
```
---
## 🎓 学习资源
### MCP 相关
- **MCP 官方文档**: https://modelcontextprotocol.io/
- **Claude Code 文档**: https://docs.anthropic.com/claude/docs
### Telegram Bot API
- **Telegram Bot API**: https://core.telegram.org/bots/api
- **Telethon 文档**: https://docs.telethon.dev/
### 项目文档
- **本地文档**: `/Users/lucas/chat--1003255561049/funstat_mcp/README.md`
- **MrDoc 文档**: http://202.79.167.23:8081/project-89/
---
## 💡 使用技巧
### 技巧 1组合查询
```
你: "帮我找 Python 和 AI 相关的群组,要求成员数超过 10 万"
Claude: [自动搜索并筛选]
```
### 技巧 2定期查询
```
你: "每周帮我查一次我的 funstat 积分余额"
Claude: [可以设置提醒或定期查询]
```
### 技巧 3数据分析
```
你: "分析一下最近区块链领域最活跃的 10 个群组"
Claude: [搜索并分析数据]
```
---
## 📞 获取帮助
### 自助诊断
运行测试脚本:
```bash
cd /Users/lucas/chat--1003255561049/funstat_mcp
python3 test_server.py
```
### 查看日志
```bash
# 查看最近的日志
tail -f ~/.claude_code/logs/mcp.log
```
### 联系支持
- **查看文档**: http://202.79.167.23:8081/project-89/doc-392/
- **GitHub Issues**: (如果有的话)
---
## ✅ 快速检查清单
在使用前,确保:
- [ ] Python 3.10+ 已安装
- [ ] 依赖已安装(`pip3 install -r requirements.txt`
- [ ] Session 文件存在且有正确权限
- [ ] Claude Code 配置文件已正确修改
- [ ] Claude Code 已完全重启
- [ ] 测试查询成功
---
## 🎉 恭喜!
如果你完成了以上所有步骤,你现在已经可以:
✅ 通过自然语言查询 10 亿+ Telegram 用户数据
✅ 搜索群组、频道、用户
✅ 分析 Telegram 社区趋势
✅ 自动化 Telegram 数据收集
**开始探索吧!** 🚀
---
**文档版本**: 1.0
**最后更新**: 2025-10-26
**适用于**: macOS, Claude Code, Funstat MCP Server v1.0