MCP服务器损坏
 ](https://github.com/donlothario/stash_mcp_server/actions/workflows/docker_image.yml)

MCP(模型上下文协议)服务器,提供一组简洁的工具来查询和分析 隐藏 实例具有可组合的高精度过滤器、优化的缓存以实现更快的查询、执行者/场景分析的自动化智能以及基于使用情况和偏好的个性化建议。
提示
| 提示 | 说明 | 参数 |
|---|---|---|
| 分析执行者 | 完整的执行者分析和见解 | performer_name: str |
| 图书馆见解 | 对整个图书馆的战略见解 | -- |
| 推荐场景 | 个性化场景推荐 | preferences: str |
| 发现表演者 | 按标准发现执行者 | criteria: str |
资源
表演者资源
| 资源 | 描述 | URI |
|---|---|---|
| 所有表演者 | 所有最喜欢的表演者列表及其基本信息 | stash://performer/all |
| 表演者信息 | 特定执行者的详细信息 | stash://performer/{name} |
| 按国家分列的表演者 | 按国家筛选的表演者列表 | stash://performer/country/{country} |
| 按种族分列的表演者 | 按种族筛选的表演者列表 | stash://performer/ethnicity/{ethnicity} |
| 表演者统计 | 所有执行者的统计摘要 | stash://performer/stats |
工作室资源
| 资源 | 描述 | URI |
|---|---|---|
| 所有工作室 | 所有喜爱的工作室列表及其基本信息 | stash://studio/all |
| 工作室信息 | 关于特定工作室的详细信息 | stash://studio/{name} |
| 工作室统计 | 所有工作室的统计摘要 | stash://studio/stats |
标记资源
| 资源 | 描述 | URI |
|---|---|---|
| 所有标签 | 包含基本信息的所有收藏夹标签列表 | stash://tag/all |
| 标签信息 | 特定标签的详细信息 | stash://tag/{name} |
| 标签统计 | 所有标签的统计摘要 | stash://tag/stats |
工具
| 工具 | 说明 | 参数 |
|---|---|---|
| 高级性能分析 | 深入分析进展和记录 | performer_name: str, include_similar: bool, deep_scene_analysis: bool |
| batch_performer_洞察 | 来自多个执行者的汇总见解 | performer_names: List[str], max_performers: int |
| 健康检查 | 基本连接/缓存状态 | -- |
| get_perform_info | 详细的表演者信息 | performer_name: str |
| get_all_performers | 使用高级筛选列出执行者 | favorites_only: bool=True,高级过滤器(请参阅“高级过滤器”部分) |
| get_all_scenes_from_performer | 表演者的场景 | performer_name: str, organized_only: bool=True |
| get_all_scenes | 列出所有具有可选过滤器的场景 | 高级过滤器(请参阅“高级过滤器”部分) |
高级过滤器 get_all_performers
此工具现在支持按多种物理和人口统计标准进行高级过滤:
基本过滤器
favorites_only: bool = True-仅限喜爱的表演者country: str-按国家筛选ethnicity: str-按种族筛选eye_color: str-按眼睛颜色过滤hair_color: str-按头发颜色过滤measurements: str-按身体测量值过滤piercings: str-按穿孔过滤tattoos: str-按纹身筛选
带修饰符的数字过滤器
height_cm: int-按高度(厘米)过滤weight: int-按重量过滤
过滤器修改器
每个过滤器都支持不同比较类型的修饰符:
EQUALS(默认)-完全匹配NOT_EQUALS-不相等GREATER_THAN-大于(仅数字)LESS_THAN-小于(仅数字)BETWEEN-在两个值之间(仅限数字,需要_value2)NOT_BETWEEN-不在两个值之间(仅限数字,需要_value2)
量程参数
对于 BETWEEN 和 NOT_BETWEEN 过滤器:
height_cm_value2: int-高度范围的第二个值weight_value2: int-重量范围的第二个值
表演者信息资源
服务器提供专用资源,以多种格式访问表演者信息:
资源URI
stash://performer/all-列出所有喜爱的表演者及其基本信息
- 返回:姓名、国家、种族、身高、体重和相关标签 - 用例:快速浏览所有喜爱的表演者
stash://performer/{name}-特定执行者的详细信息
- 参数: {name} -确切的表演者姓名 - 回报:完整的个人资料,包括人口统计、身体特征、生物和标签 - 用例:获取特定执行者的全面信息
stash://performer/country/{country}-按国家筛选表演者
- 参数: {country} -国家名称或代码(例如“美国”、“ES”) - 返回:来自指定国家的具有种族的表演者列表 - 用例:发现来自特定国家的表演者
stash://performer/ethnicity/{ethnicity}-按种族筛选表演者
- 参数: {ethnicity} -种族名称(例如,“高加索人”、“亚洲人”) - 返回:具有指定种族和国家的表演者列表 - 用例:查找符合特定种族特征的表演者
stash://performer/stats-执行者数据库的统计摘要
- 退货: - 最喜欢的表演者总数 - 地理分布(国家和计数) - 民族分布 - 物理统计(平均身高和体重范围) - 用例:分析你的表演者集合的组成和多样性
配置
服务器支持通过环境变量进行灵活配置:
| 变量 | 默认值 | 描述 |
|---|---|---|
STASH_ENDPOINT | http://localhost:6969 | 停滞的服务器端点 |
STASH_API_KEY | - | 必需的API密钥(必需) |
STASH_CONNECT_RETRIES | 3 | 初始连接重试 |
STASH_CONNECT_DELAY_SECONDS | 1.5 | 重试之间的延迟(秒) |
FAVORITES | true | 仅按收藏夹筛选资源 |
LOG_LEVEL | INFO | 日志级别:调试、信息、警告、错误 |
环境设置
- 复制示例环境文件:
cp .env.example .env- 编辑
.env使用您的设置:
STASH_ENDPOINT=http://localhost:9999
STASH_API_KEY=YOUR_API_KEY安装
使用紫外线进行安装(推荐)
克隆存储库并使用uv安装:
git clone https://github.com/donlothario/stash_mcp_server.git
cd stash_mcp_server
cp .env.example .env
# Edit .env file with your Stash settings
uv sync或者直接从存储库安装:
uv add git+https://github.com/donlothario/stash_mcp_server.git使用pip安装
在以下模式下安装软件包:
git clone https://github.com/donlothario/stash_mcp_server.git
cd stash_mcp_server
cp .env.example .env
# Edit .env file with your Stash settings
python3 -m pip install .或者直接从存储库安装:
python3 -m pip install git+https://github.com/donlothario/stash_mcp_server.git码头工人
塑造形象
塑造形象:
docker build -t stash_mcp_server:latest .拉取图像
从Docker注册表中提取最新映像:
docker pull ghcr.io/donlothario/stash_mcp_server:latest用法
用紫外线跑步
uv run stash_mcp_server使用pip安装运行
python3 -m stash_mcp_serverClaude桌面/光标/VCode的配置示例
将此配置添加到应用程序的设置中(mcp.json):
使用紫外线(推荐)
"stash mcp server": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/stash_mcp_server",
"stash_mcp_server"
],
"env": {
"STASH_ENDPOINT": "http://localhost:9999",
"STASH_API_KEY": "YOUR_API_KEY",
}
}使用pip安装
"stash mcp server": {
"type": "stdio",
"command": "python3",
"args": [
"-m",
"stash_mcp_server"
],
"env": {
"STASH_ENDPOINT": "http://localhost:9999",
"STASH_API_KEY": "YOUR_API_KEY",
}
}使用Docker
"stash mcp server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--env-file",
"${workspaceFolder}/.env",
"ghcr.io/donlothario/stash_mcp_server"
]
}技术说明
- 与Stash的连接是通过可配置的重试来执行的。
- 如果缺少API密钥,则服务器将生成错误并不会启动。
- 查询使用的GraphQL片段集中在代码中(
FRAGMENTS). - 改进的缓存架构:缓存函数与MCP装饰器分开,以避免与Pydantic模式生成冲突。
- 高级过滤:强大的过滤系统,带有修饰符和复杂查询的范围处理。
- 增强日志记录:有关活动筛选器和查询结果的详细信息,以便更好地进行调试。
