内容
# Stremio MCP 服务器
Stremio 插件协议的MCP服务器。使 AI 助手(Claude Desktop,Claude Code,…)能够搜索电影和电视节目,读取元数据,并查询任何 Stremio 插件。
## 工具
### 公共(无需登录)
| 工具 | 描述 |
|---|---|
| `stremio_search` | 按名称搜索电影/系列 |
| `stremio_get_meta` | 通过 IMDb ID 获取标题的元数据(描述,类型,演员,导演,剧集列表) |
| `stremio_browse_catalog` | 浏览目录 – 热门标题,按类型或年份筛选 |
| `stremio_get_addon_manifest` | 获取任何插件的清单 |
| `stremio_get_streams` | 从任何插件获取标题的流列表 |
### 用户账户和库(需要登录)
| 工具 | 描述 |
|---|---|
| `stremio_login` | 使用电子邮件和密码登录 |
| `stremio_get_library` | 获取用户的库 |
| `stremio_add_to_library` | 将电影或系列添加到库 |
| `stremio_remove_from_library` | 从库中删除标题 |
## 安装
需要 Python 3.10+。
**macOS**
```bash
git clone https://github.com/yourusername/stremio-mcp.git
cd stremio-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
**Windows**
```cmd
git clone https://github.com/yourusername/stremio-mcp.git
cd stremio-mcp
python -m venv .venv
.venv\Scripts\activate.bat
pip install -r requirements.txt
```
## Claude Desktop 设置(全局)
打开(或创建) `claude_desktop_config.json` 并添加 `stremio` 条目。使用 `.venv` 中 Python 二进制文件的**绝对路径**和 `stremio_mcp.py`。
配置文件位置:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**macOS**
```json
{
"mcpServers": {
"stremio": {
"command": "/absolute/path/to/stremio-mcp/.venv/bin/python3",
"args": ["/absolute/path/to/stremio-mcp/stremio_mcp.py"]
}
}
}
```
**Windows**
```json
{
"mcpServers": {
"stremio": {
"command": "C:\\absolute\\path\\to\\stremio-mcp\\.venv\\Scripts\\python.exe",
"args": ["C:\\absolute\\path\\to\\stremio-mcp\\stremio_mcp.py"]
}
}
}
```
保存后重启 Claude Desktop。
## Claude Code 设置(按项目)
在项目根目录中创建 `.mcp.json`:
```json
{
"mcpServers": {
"stremio": {
"command": "/absolute/path/to/stremio-mcp/.venv/bin/python3",
"args": ["/absolute/path/to/stremio-mcp/stremio_mcp.py"]
}
}
}
```
> `.mcp.json` 被列入 `.gitignore`,因此凭证(如果添加)永远不会被提交。
## 身份验证
访问用户库的工具需要 Stremio 账户。有三种提供凭证的方式:
**选项 A – 通过工具登录**(最简单):
使用电子邮件和密码调用 `stremio_login`。会话在服务器进程的生命周期内持续。
**选项 B – 环境变量**:
```bash
STREMIO_AUTH_KEY=your_key python stremio_mcp.py
```
通过调用 `stremio_login` 一次并从响应中复制 `auth_key` 来获取密钥。
**选项 C – 配置文件中的凭证**(推荐 – 自动登录):
将 `env` 块添加到 `claude_desktop_config.json` 或 `.mcp.json` 中:
```json
{
"mcpServers": {
"stremio": {
"command": "/absolute/path/to/.venv/bin/python3",
"args": ["/absolute/path/to/stremio_mcp.py"],
"env": {
"STREMIO_EMAIL": "your@email.com",
"STREMIO_PASSWORD": "yourpassword"
}
}
}
}
```
## 备注
- 标题通过 IMDb ID(例如 `tt1375666`)标识。`stremio_search` 和目录工具都返回它。
- Cinemeta 仅提供元数据,**不提供流** – 对于 `stremio_get_streams`,请提供支持 `stream` 资源的插件的 URL。
- 服务器接受 `stremio://` 深度链接 URL – 它们会自动转换为 `https://`。
- 只读工具(搜索,元数据,目录)不需要身份验证。