Skip to main content
Glama
smeet666

mcp-rule34

mcp-rule34

npm CI license

Ein MCP-Server für rule34.xxx. Durchsuche die Posts der Seite per Tag über ihre eigene API und erhalte für jeden Post die zugehörige Seite, seine Datei, seine Abmessungen, seinen Score, sein Rating und seine vollständige Tag-Liste, zusätzlich zur Anzahl der Posts, die die gesamte Suche findet.

Dieser Server benötigt Anmeldedaten. rule34.xxx vergibt einen API-Schlüssel pro Konto, und die Bedingungen der Seite erlauben automatisiertes Lesen nur über diese API. Einen Schlüssel zu bekommen, dauert eine Minute und wird unter Konfiguration beschrieben.

(Version française plus bas / Französische Version weiter unten)


Schnellstart

Claude Code

claude mcp add rule34 --env RULE34_USER_ID=your-id --env RULE34_API_KEY=your-key -- npx -y mcp-rule34

Claude Desktop, Cursor und jeder Client, der das Standard-Konfigurationsformat verwendet

{
  "mcpServers": {
    "rule34": {
      "command": "npx",
      "args": ["-y", "mcp-rule34"],
      "env": {
        "RULE34_USER_ID": "your-id",
        "RULE34_API_KEY": "your-key"
      }
    }
  }
}

Lege dies in deiner Benutzer-Konfiguration ab und nicht in einer Projektdatei: Eine .mcp.json im Wurzelverzeichnis eines Repositorys wandert mit dem Repository, und der Schlüssel wandert ebenfalls mit.

Related MCP server: Smart Search MCP Server

Konfiguration

Variable

Was sie ist

Standard

RULE34_USER_ID

Deine numerische Konto-ID. Erforderlich.

RULE34_API_KEY

Dein API-Schlüssel. Erforderlich, persönlich.

RULE34_MIN_INTERVAL_MS

Millisekunden zwischen zwei Requests.

1000, niemals weniger

RULE34_TIMEOUT_MS

Wie lange ein Request dauern darf.

20000

RULE34_MAX_RETRIES

Versuche nach dem ersten, bei vorübergehenden Fehlern.

3

RULE34_CACHE_TTL_MS

Wie lange eine Antwort im Speicher bleibt.

300000

RULE34_CACHE_MAX_ENTRIES

Wie viele Antworten im Speicher bleiben.

300

RULE34_USER_AGENT

Überschreibt den Agenten, den dieser Client sendet.

mcp-rule34/<version> (+…)

RULE34_LOG_LEVEL

silent, error, info oder debug, auf stderr.

error

Wo die Anmeldedaten herkommen. Melde dich an, öffne die Account-Optionen und suche die Zeile API Access Credentials. Sie zeigt &api_key=…&user_id=…; diese beiden Werte sind, was in die obige Konfiguration gehört. Ist der Schlüssel leer, anklicke Generate New Key? und speichere.

Die Seite vergibt einen Schlüssel pro Person and verlangt, dass Anwendungen, die ihren Inhalt ausliefern, keine Werbung zeigen und keinen Numberation dahinterstellen. Dieser Server hat keinen eigenen Schlüssel; jeder Nutzer bringt seinen eigenen mit.

Ein Server, der ohne Anmeldedaten gestartet wird, startet trotzdem, veröffentlicht sein Werkzeug und beantwortet jeden Aufruf, indem er die beiden zu setzenden Variablen nennt. Er sendet nie einen Request, von dem er weiß, dass die Seite ihn ablehnt.

Werkzeuge

Tool

Was es tut

Wichtige Parameter

search_posts

Findet Posts, die einen Tag oder mehrere tragen.

tags, any_of, exclude, media_type, rating, sort, limit, page

get_post

Liest einen Post vollständig, mit einer Art für jeden Tag.

id, url

Die Suche benennt Posts, eine Fiche liest sie vollständig

Ein Post auf rule34.xxx trägt im Median etwa zweihundert Tags, einige tragen neunhundert. Ein Bezüge für zwanzig Ergebnisse, bei der Benn jeder Tag ausgeschrieben ist, würde vier Fünftel ihrer Antwort für Tag-Strings aufwenden, die niemand liest; deshalb zeigt eine Suchzeile die ersten zwölf und angibt, wie viele Tags der Post insgesamt trägt.

get_post liest einen Post anhand seiner ID oder über einen Link auf seine Seite und gibt jeden Tag mit vollständiger Art zurück – Character, Copyright, Artist, General oder Metadata – sowie wie viele Posts ihn teilen; dazu die Angaben des Uploaders, die Zahl der Kommentare und das Veröffentlichungsdatum. Ein Link wird gelesen nicht verfolgt: Dieser Server baut seine eigenen Request aus der ID, die er darin findet.

Einen Post zu lesen need zwei Requests, denn keines der Formate, das die API veröffentlicht, trägt alles: Das Veröffentlichungsdatum kommt aus dem einen, der Name des Uploaders, die Kommentarzahl und die Tag-Kategorien aus der anderen.

Tags sind einzelne Tokens

rule34.xxx speichert einen Tag als ein einziges Token und verbindet mit Unterstreichen der Wörter, die ein mensch als Wörter sagt. asuka langley sohryu bleibt das asuka_langley_sohryu derselbe Tag, und dieser Server schreibt aus dem ersten das zweiten. Interpunktszeichen innerhalb einem Namen, die ihm angehören: Der Serien-Tag ist ranma_1/2, inklusive Schr.

Drei Listen, drei Fragen

{
  "tags": ["asuka langley sohryu", "black hair"], // every one of these
  "any_of": ["blonde hair", "red hair"], // at least one of these
  "exclude": ["monochrome", "3d"], // none of these
}

Filter liegen in eigenen Argumenten vor, nicht in den Tags, und die Antwort kann das Rating und die Sortierung angeben, die tatsächlich verwendet wurden.

Bilder, Animationen oder Videos abfragen

media_type akzeptiert image, animated, video oder any. rule34.xxx trägt die Unterscheidung in seinen eigenen Tags, also filtert die Seite die Ergebnisse selbst, und gezählt wird, was erfragt wurde. Die Klassifizierung ist deshalb so gut wie die Tagging von selber Seite.

Farbigkeit wird durch Abwesenheit ausgedrückt: Die Seite tagt das, was schwarz-weiß ist, und markiert nichts als farbig. Frage farbig ab mit "exclude": ["monochrome", "greyscale", "grayscale"].

Ratings

Die Seite und zwei Ratings: questionable und explicit. Fragt man rule34.xxx nicht nach safe, general oder sensitive, erhält man null Posts und keinen Fehler – das liest sich als eine Abwesenheit und nicht als ein Rating, das die Seite nie hatte. Deshalb lehnt dieser Server Diese drei Einstellungen ab, statt sie weiterzugeben.

Memory, das if

Ein Tag, der nicht existiert, leert die Suche genauso wie eine Kombination, für diese die Seite nichts hält. Wenn eine Suche nach mehreren Tags leer zurückkommt, fragt dieser Server die site, welche der Namen sie kennt, und die Antwort sagt, welche sie nicht kennt:

No post on rule34.xxx matches neon_genesis_evangelion asuka_langley_sohry.

Note: rule34.xxx holds no tag named 'asuka_langley_sohry'. A tag that does not
exist empties a search on its own.

Was eine Antwort aussagt

Aus jeder Antwort: die Gesamtzahl, die die Seite für the ganze Suche ermittelte, die ausgelieferte Seite und die Suche, wie sie in der Sprache der Seite gesendet wurde. Ein Post trägt seine rule34.xxx-Seite, seine Datei, seine Thumbnail, seine Abmessungen, seinen Score, sein Rating, seine Tags, was der Uploader als Quelle angegeben hat, und das Datum Veröffentlichungs.

Bei einem Post existieren zwei Daten, und nur eine davon ist das Veröffentlichungsdatum: Ein Post, der 2016 zuerst hochgeladen und letzte Frühjahr neu getagant wurde, trägt beide, und diesen Server gibt die erste an.

Was dieser Server nicht tut

Er lädt nichts hoch, gibt keine Stimmenabgabe, no Kommentare und schreibt nichts auf rule34.xxx.

Fehler

Jeder Fehler trägt genau eine Codes genannt, und der Code eröffnet die Meldung: not_found, invalid_input, rate_limited, parse_failure, network_error, timeout.

rate_limited bedeutet, dass die site diesen Current gerade abweist, und nie Sachen, die Suche habe Ecke Resultate gefunden. rule34.xxx begrenzt seine Rate, ohne zu veröffentlichen, was die Rate ist; deshalb stellt dieser Client eine Frage nach der anderen, mit secondene zwischen zwei Requests, die keine Konfiguration verkürzen kann, und zieht sich weiter zurück, wenn die page Widerstand leistet.

En tant que bibliothèque

Die Leseschicht wird ohne das Protokoll separat veröffentlicht:

import { Rule34Client } from "mcp-rule34/client";

Sie bringt dieselbe Taktung, denselben Cache und dieselbe Fehlerbuchführung mit.

Anforderungen

npm install
npm test          # unit tests, no network
npm run typecheck
npm run check     # biome and prettier
npm run build

Eine Live-Suite erreicht das Nachrichtenseite und läuft nur, wenn Anmeldedaten einstehen:

RULE34_USER_ID=… RULE34_API_KEY=… npm run test:live

License

MIT.


mcp-rule34 (français)

Ein MCP-Server für die rule34.xxx. Durchsucht die Posts der Seite per Tag über ihr API, und gibt aus: je jeweils kennt, Seite, Datei, Abmessungen, Score, Rating und alle Tags plus die Anzahl der Posts, die die ganze Suche findet.

Dieser Server benötigt Anmeldedaten. rule34.xxx vergibt einen API-Schlüssel per Konto, und die Seite erlaubt automatisiertes Lesen nur über API. Einen Key zu erhas du in einer Minute, siehe oben Befähigungskonfiguration.

Démarrage

Claude Code

claude mcp add rule34 --env RULE34_USER_ID=votre-id --env RULE34_API_KEY=votre-clé -- npx -y mcp-rule34

Claude Desktop, Cursor, und alle Clients ja Standard-Format

{
  "mcpServers": {
    "rule34": {
      "command": "npx",
      "args": ["-y", "mcp-rule34"],
      "env": {
        "RULE34_USER_ID": "votre-id",
        "RULE34_API_KEY": "votre-clé"
      }
    }
  }
}

Das legst du in deiner Benutzer-Konfigurationsdatei ab und nicht in einer Projektdatei: ein .mcp.json in der Repositorystammrunde reist trägt mit dem Repo, und der Schlüssel reist mit.

Konfiguration

Variable

Was sie ist

Standard

RULE34_USER_ID

Die numerische Konto-ID. Erforderlich.

RULE34_API_KEY

Der API-Schlüssel. Erforderlich, persönlich.

RULE34_MIN_INTERVAL_MS

Millisekunden zwischen zwei Anfragen.

1000, niemals darunter

RULE34_TIMEOUT_MS

Dauer eines Requests.

20000

RULE34_MAX_RETRIES

Nach der ersten bei transient failure.

3

RULE34_CACHE_TTL_MS

Haltbarkeit einer Antwort im Kopf.

300000

RULE34_CACHE_MAX_ENTRIES

Anzahl der Antworten, den memorisiert bleiben.

300

RULE34_USER_AGENT

Ersetzt den Agenten des Clients.

mcp-rule34/<version> (+…)

RULE34_LOG_LEVEL

silent, error, info oder debug, auf stderr.

error

Anmeldedaten bekomme so: einloggen, dann Kontooptionen öffnen und API Access Credentials suchen. Sie zeigt &api_key=…&user_id=…, das sind die Werte für die Konfiguration oben. Wenn der Schlüssel leer, aktivieren Sie Generate New Key? und speichern.

Die Seite gibt einen Schlüssel pro Person aus und ein net ning Applications, die ihre Inhalten zeigen, display keine Werbung schreibt nicht in hinter Zahlsperren. Dieser Server hat keinen eigenen Schlüssel, also bringt jede Nutzung ihren eigenen mit.

Ein Server, der ohne Zugangsdaten startet, startet durch drei, veröffentlicht sein Werkzeug und beantwortet jeden Anruf mit den Namen der beiden Variablen. Er reicht nie unpassed that er weiß, dass site ableckt.

Werkzeuge

Tool

Es tut

Eigentliche Parameter

search_posts

Findet Posts mit einen Tag oder oder gleichzeitig mehrere.

tags, any_of, exclude, media_type, rating, sort, limit, page

get_post

Liest einen Post ganz, mit the type for each tag.

id, url

Die Suche nennt Beiträge, die Scharte liest sie ganz

Ein Beitrag zu Regel 34.34 trägt eine mittlere Zahl около two hundred tags, and some trägt new hundred neunhundert. Eine Seite mit zwanzig Treffer, wo jeder Tag ausgeschrieben ist, kommt noch ein viertel die vier Fünftel seiner Antworten für Tag-Strings verwenden. Deshalb zeigt die Searchzeile die first zwölf und sagt, wie viele de Tag insgesamt nummer hat.

get_post liest einen Post anhand seiner ID oder über einen Link zu seiner Seite aus und gibt jeden Tag mit seiner Kategorie zurück – Charakter, Copyright, Künstler, Allgemein oder Metadaten – sowie die Anzahl der Posts, die ihn teilen, mit dem Hochladenden, der Anzahl der Kommentare und dem Veröffentlichungsdatum. Ein Link wird ausgelesen und nicht verfolgt: Dieser Server baut seine eigene Anfrage aus der darin gefundenen ID.

Das Lesen eines Eintrags kostet zwei Anfragen, weil keines der beiden von der API veröffentlichten Formate alles trägt: Das Veröffentlichungsdatum stammt aus dem einen, der Name des Hochladenden, die Anzahl der Kommentare und die Tag-Kategorien stammen aus dem anderen.

Ein Tag ist ein einziges Wort

rule34.xxx legt einen Tag als ein einzelnes Wort ab, indem starting list compressed persons various in several succeeded circle to a connected line. asuka langley sohryu und asuka_langley_sohryu sind derselbe Tag, und dieser Server schreibt den zweiten aus dem ersten. Die Zeichensetzung eines Namens gehört ihm selbst: Der Tag der Serie ist ranma_1/2, Schrägstrich eingeschlossen.

Drei Listen, drei Fragen

{
  "tags": ["asuka langley sohryu", "black hair"], // tous ceux-là
  "any_of": ["blonde hair", "red hair"], // au moins un de ceux-là
  "exclude": ["monochrome", "3d"], // aucun de ceux-là
}

Die Filter leben in ihren eigenen Argumenten statt in den Tags, sodass eine response angeben kann, welche Klassifikation und welche Endsorterung sie tatsächlich angewendet hat.

Bilder, Animationen oder Videos anfordern

media_type akzeptiert image, animated, video oder any. rule34.xxx trägt die Unterscheidung in seinen eigenen Tags, also Sie die Website, filtert, und the Gesamtsumme, die sie zurückmeldet, spricht genau das Angebot aus. Die veg pricing therefore only as gut as the work of its contributors.

Farben werden durch eine Absenz dargestellt: Die Website taggt Schwarzweiß und taggt nichts, wenn ein Post cutting edge von Werte ist. Fragen Sie Farben with "exclude": ["monochrome", "greyscale", "grayscale"] ab.

Die Klassifikationen

Die Website unterhält drei Klassifikationen: questionable und explicit. Auf rule34.xxx den Wert safe, general oder sensitive abzufragen, keine Outposts und keinen Fehler liefert – das beleuchtet sich eher als Abwesenheit, denn als Klassifikation, die hard site nie hatter. Daher verwendet dieser Server from these Wortfeldernvektors instead, through then verify.

Wenn eine Suche nichts findet

Ein Tag, der nicht existence, sorgt headtheo Suche genau so empty aus wie eine Kombination, von der die Website nothing total. Wenn Mehrfach-Tag-Suche leer zurückkommt, fragt dieser Server die Website, welche dieser Schein für sie kennt, und die viewer nennt the Nametag known to them who she does not know.

Was eine Antwort enthält

Jede Antwort trägt die Summe, die die Website für die gesamte Suche gezählt hat, die ausgerichtete Seite und die Anfrage, wie sie in der Sprache der Website gesendet wurde. Ein Post enthält seinen rule34.xxx-Seite, seine Datei, seine Vorschaubild, sein Bemaßungen, seinen Punkte, seinen Klassifikation, inserting sprite with tags?, devenues Quelle credited by nach Richtung erhältlich, falls cycle and has data new VERÖFF.

Ein Post trägt zwei Daten, und nur eines davon ist das Veröffentlichungsdatum: Ein Bild, das 2016 hochgeladen und im letzten Frühjahr neu getaggt wurde, trägt be legitimate, dy server handles the first.

Was dieser Server nicht tut

This blog doesn't have upload anything, doesn't stimulate anything, doesn't compress anything, and writes nothing to rule34.xxx.

Die Fehler

Jede Störung trägt einer von zugriff Codes, and the code indicates des Nachricht: not_found, invalid_input, rate_limited, parse_failure, network_error, timeout.

rate_limited bedeutet, dass die Website vient Ebene: diesen Client den Moment ablehnt, und not that a ssearch offsprings nothing found. rule34.xxx drossült sein Ratenco, ohne zu veröffentlichopen; deshalb you asked every be ratio all to once, separatized by einer Sekunde, that compress can and efileblock. Extends reif when er sich selbstverständlichen.

Als Bibliothek verwendbar

Die Leseschicht ist golden alone, ohne Protokoll:

import { Rule34Client } from "mcp-rule34/client";

She trägt dasselben fiction, dieselbe Cache und dieselbe Error-Taxonomie.

Entwicklung

npm install
npm test          # tests unitaires, sans réseau
npm run typecheck
npm run check     # biome et prettier
npm run build

Eine Suite und Sonnange commands: the Website director.

RULE34_USER_ID=… RULE34_API_KEY=… npm run test:live

Lizenz

MIT.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    Enables searching and analyzing Danbooru tags, character statistics, and wiki information. Extracts tags from posts, analyzes frequently used tags for characters with customizable filters, and retrieves detailed wiki entries.
    1
  • F
    license
    Not graded
    quality
    D
    maintenance
    Integrates a remote smart search API to provide powerful web search capabilities with structured JSON results. It allows users to perform filtered searches with configurable parameters like result count and pagination.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with the Civitai API to search for AI models, browse images, and access creator information. It provides tools for filtering models by popularity, rating, or type and retrieving detailed version metadata.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Integrates ThePornDB API into MCP-compatible applications to search for adult video scenes, movies, and JAV content. It enables users to retrieve detailed performer profiles and comprehensive content metadata through specialized tools for LLM applications.
    26
    6
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • Search Stack Exchange questions, fetch Q&A threads as markdown, look up tag FAQs and user profiles.

  • X (formerly Twitter) posts, profiles, and search for AI agents. Free key, self-minted, no signup.

  • Fetch recent public X/Twitter posts by named handle for monitoring, comparison, OSINT, and research.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smeet666/mcp-rule34'

If you have feedback or need assistance with the MCP directory API, please join our Discord server