Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
Search scenes, performers, studios and tags across the public stash-box catalogues.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
STASHBOX_STASHDB_KEY, STASHBOX_TPDB_KEY, STASHBOX_FANSDB_KEY, STASHBOX_PMV_KEY, STASHBOX_JAVSTASH_KEY, SB_USER_AGENT, SB_MIN_INTERVAL_MS, SB_TIMEOUT_MS, SB_MAX_RETRIES, SB_CACHE_TTL_MS, SB_CACHE_MAX_ENTRIES, SB_LOG_LEVEL必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。
ターミナルでこれを実行します
claude mcp add stashbox --env STASHBOX_STASHDB_KEY=your-value --env STASHBOX_TPDB_KEY=your-value --env STASHBOX_FANSDB_KEY=your-value --env STASHBOX_PMV_KEY=your-value --env STASHBOX_JAVSTASH_KEY=your-value --env SB_USER_AGENT=your-value --env SB_MIN_INTERVAL_MS=your-value --env SB_TIMEOUT_MS=your-value --env SB_MAX_RETRIES=your-value --env SB_CACHE_TTL_MS=your-value --env SB_CACHE_MAX_ENTRIES=your-value --env SB_LOG_LEVEL=your-value -- npx -y mcp-stashbox動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"stashbox": {
"command": "npx",
"args": [
"-y",
"mcp-stashbox"
],
"env": {
"STASHBOX_STASHDB_KEY": "your-value",
"STASHBOX_TPDB_KEY": "your-value",
"STASHBOX_FANSDB_KEY": "your-value",
"STASHBOX_PMV_KEY": "your-value",
"STASHBOX_JAVSTASH_KEY": "your-value",
"SB_USER_AGENT": "your-value",
"SB_MIN_INTERVAL_MS": "your-value",
"SB_TIMEOUT_MS": "your-value",
"SB_MAX_RETRIES": "your-value",
"SB_CACHE_TTL_MS": "your-value",
"SB_CACHE_MAX_ENTRIES": "your-value",
"SB_LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"stashbox": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-stashbox"
],
"env": {
"STASHBOX_STASHDB_KEY": "your-value",
"STASHBOX_TPDB_KEY": "your-value",
"STASHBOX_FANSDB_KEY": "your-value",
"STASHBOX_PMV_KEY": "your-value",
"STASHBOX_JAVSTASH_KEY": "your-value",
"SB_USER_AGENT": "your-value",
"SB_MIN_INTERVAL_MS": "your-value",
"SB_TIMEOUT_MS": "your-value",
"SB_MAX_RETRIES": "your-value",
"SB_CACHE_TTL_MS": "your-value",
"SB_CACHE_MAX_ENTRIES": "your-value",
"SB_LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
STASHBOX_STASHDB_KEY envSTASHBOX_TPDB_KEY envSTASHBOX_FANSDB_KEY envSTASHBOX_PMV_KEY envSTASHBOX_JAVSTASH_KEY envSB_USER_AGENT envSB_MIN_INTERVAL_MS envSB_TIMEOUT_MS envSB_MAX_RETRIES envSB_CACHE_TTL_MS envSB_CACHE_MAX_ENTRIES envSB_LOG_LEVEL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント smeet666 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.1.0)がレジストリに届いたのは9 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.js, MCPBも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A stash-box is a shared metadata catalogue: it records scenes, the performers credited on them, the studios that released them, and the tags they are filed under, each curated by submission and review. A catalogue holds no media — a record names where something was published and carries nothing of it — and it identifies a file by the fingerprints computed from it. Five such catalogues run independently, each issuing its own key to a registered account.
This server connects a chat client to all of them at once. You can search the scenes, performers, studios and tags of every catalogue you hold a key for, read one record as a single card assembled from every catalogue that holds it, identify a file from its fingerprints, and ask what each catalogue was measured answering. It needs a key per catalogue, and reads only the catalogues it has one for.
_Version française_
One-click install
Claude Code
claude mcp add stashbox --env STASHBOX_STASHDB_KEY=your-key -- npx -y mcp-stashbox
Claude Desktop, Cursor, and any client using the standard config format
{
"mcpServers": { "stashbox": { "command": "npx", "args": ["-y", "mcp-stashbox"], "env": { "STASHBOX_STASHDB_KEY": "your-key" } } } }
Node 24 or later is required. Set a key for each catalogue you want read; the others are named as absent from every answer.
{
"mcpServers": { "stashbox": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "STASHBOX_STASHDB_KEY", "ghcr.io/smeet666/mcp-stashbox:2.1.0" ] } } }
-i keeps stdin open, which is where the protocol travels, and -t is left out because a TTY rewrites the stream. The container needs outbound HTTPS to the catalogues you hold keys for, and the keys from your environment: no volume, no port.
Download mcp-stashbox-2.1.0.mcpb from the latest release and open it. A client that supports MCP bundles installs it on its own, with no npm to run. The keys are still set in the client's configuration.
The ordinary path runs from a search to a card: a row carries an id written instance:uuid, and the record tool reads it on every catalogue that holds it.
| Catalogue | Address | Key |
|---|---|---|
| StashDB | stashdb.org | STASHBOX_STASHDB_KEY |
| TPDB | theporndb.net | STASHBOX_TPDB_KEY |
| FansDB | fansdb.cc | STASHBOX_FANSDB_KEY |
| PMV Stash | pmvstash.org | STASHBOX_PMV_KEY |
| JAVStash | javstash.org | STASHBOX_JAVSTASH_KEY |
They answer different surfaces: StashDB answers every route this server knows, and the others answer fewer. get_sources states what each was measured answering and the day it was measured. A catalogue with no key is named as absent from every answer, so an answer holding rows from some of them is never read as the whole.
| Tool | What it does |
|---|---|
get_sources | States what each catalogue answers, and which keys are held. |
search_scenes | Searches the scenes of every configured catalogue. |
search_performers | Searches the performers. |
search_studios | Searches the studios. |
search_tags | Searches the tags. |
get_scene | Reads one scene as a single card. |
get_performer | Reads one performer as a single card. |
get_studio | Reads one studio as a single card. |
get_tag | Reads one tag as a single card. |
find_by_fingerprint | Identifies a file from the hashes held for it. |
Every search takes two exclusive paths. query runs each catalogue's own text index, which reads the words as a union. The typed arguments narrow as an intersection. Writing both is refused.
get_sourcesStates what each configured catalogue was measured answering, and the day its surface was read. It reaches no catalogue and takes no argument.
In return: one entry per catalogue with its name, its identifier prefix, whether a key is held for it in this install, the variable to set when none is, and the routes it answers. Whether a key is held is a fact about this install and changes nothing about what the catalogue does.
search_scenesSearches the scenes.
| Argument | Type | Required | What it does |
|---|---|---|---|
query | string | no | Words for each catalogue's own text index. |
title | string | no | Words a title carries. |
code | string | no | The studio's own reference for the release. |
alias | string | no | Another title the release is known by. |
date | a calendar day | no | The release date to compare against. |
date_compare | on, before or after | no | How that date is read. |
performer_ids | list of identifiers | no | Performers credited on it. |
studio_ids | list of identifiers | no | Studios that released it. |
parent_studio_id | an identifier | no | A studio the releasing studio sits under. |
tag_ids | list of identifiers | no | Tags it is filed under. |
match | all or any | no | How a list of identifiers is read. |
sort | title, date, duration, trending, popularity, created_at or updated_at | no | The order the catalogue applies. |
direction | asc or desc | no | Which way that order runs. |
page | integer, 1 to 1000 | no | Which page of each catalogue's own order. |
limit | integer, 1 to 100 | no | Rows one page of one catalogue carries. |
sources | list of catalogues | no | Read these catalogues alone. |
In return: rows carrying the id written instance:uuid, which get_scene takes, and what names the record. A row leaves the synopsis, the link lists and the editing stamps to the card, since none of those separates two releases. The answer says per catalogue which of three it met: a failure, a catalogue nobody asked, or an emptiness it established. Counts are never added across catalogues. A search written with words alone reads the first rows each text index answers with, since those routes take no page.
search_performersSearches the performers.
| Argument | Type | Required | What it does |
|---|---|---|---|
query | string | no | Words for each catalogue's own text index. |
name | string | no | Words a name carries. |
alias | string | no | Another name they are known by. |
disambiguation | string | no | What the catalogue adds to tell two apart. |
gender | one of the values the catalogue records |
冒頭だけを表示しています。続きはリポジトリで読めます