accueil / serveurs / Recherche & Web / io.github.trip2g/trip2g
io.github.trip2g/trip2g
serveur MCP (Model Context Protocol) · trip2g-mcp 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.trip2g/trip2g est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.trip2g/trip2g » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 11 outils
- expand≈ 606 tokens
Walk a note's table of contents level by level (progressive disclosure). Canonical call: expand(path=<result.note_path>, toc_path=[...]) — copy path verbatim from a search result's note_path field. Returns the direct children of a TOC node: omit toc_path (or pass []) for the top-level sections, or pass a toc_path to list that section's subsections. Each child has title, level, path, and has_children. A section with subsections lists them; a section without subsections is returned in full (what note_html gives for that toc_path, plus section_html in the payload), so no second call is needed to read a leaf. This cannot be turned off, and a client that wants only structure never triggers it: has_children on each listed child says where descending would turn into reading.
Paramètres, retour & exemple (7)
Paramètrespid· number · optionnel
Non-negative integer (uint64) note id, copied verbatim from a search result's note_id field. Not a path, slug, or match_id. Prefer pathhref· string · optionnel
String note href, copied verbatim from a search result's href fieldlast· number · optionnel
List only this many of the newest subsections instead of all of them. A note that gains a dated section a day has hundreds of them after a year, and reading the whole listing to reach the latest few is the cost this avoids. The summary, total_children and omitted say what was left out, so a bounded listing never reads as a complete one. Bounds that meet or overlap return everything rather than repeating a run.path· string · optionnel
String note path, e.g. "concepts/maska-i-glubina.md" — copy verbatim from a search result's note_path field. The default, preferred way to reference a notefirst· number · optionnel
List only this many of the oldest subsections. Pair it with last to get how a subject started and where it stands now, leaving out the middle; the summary marks the gap where it falls.note_id· number · optionnel
Same as pid: non-negative integer (uint64) note id, copied verbatim from a search result's note_id field. Not a path, slug, or match_id. Prefer pathtoc_path· array · optionnel
Breadcrumb path to the node to expand, e.g. ["Chapter 1"]. Omit or [] for the top level.
Exemple d'appel{"name": "expand", "arguments": {"pid": 1, "href": "texte", "last": 1, "path": "texte", "first": 1, "note_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - federated_asset≈ 248 tokens
Get one attachment of a remote note — a file, not text. Canonical loop: federated_note_html(kb_id, path) -> for each name in its assets: federated_asset(kb_id, note_path=<that path>, name=<name>). Returns the asset's size and sha256 and a short-lived download URL on this server that streams the file from the remote base; fetch it with curl (the URL needs no other credential) and check the sha256. The file itself never comes back in the tool result. Only a directly connected base: kb_id without '/'.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
One name from that note's assets, copied verbatim, e.g. "files/attach.zip"kb_id· string · requis
Directly connected knowledge base id, as in federated_note_htmlnote_path· string · requis
The remote note's path, exactly as passed to federated_note_html
Exemple d'appel{"name": "federated_asset", "arguments": {"name": "texte", "kb_id": "texte", "note_path": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - federated_expand≈ 484 tokens
Walk a remote note's table of contents level by level inside a connected knowledge base (progressive disclosure), same as expand. Canonical call: federated_expand(kb_id=..., path=<result.note_path>, toc_path=[...]). Omit toc_path for the top level, or pass a toc_path to list that node's subsections. A section with subsections lists them; a section without subsections is returned in full, as federated_note_html would return it — has_children on each listed child says where that happens.
Paramètres, retour & exemple (8)
Paramètrespid· number · optionnel
Non-negative integer (uint64) remote note id, copied verbatim from a federated_search result's note_id field. Prefer pathhref· string · optionnel
String remote note href, copied verbatim from a federated_search result's href fieldlast· number · optionnel
List only this many of the newest subsections instead of all of them, as expand does. The summary, total_children and omitted say what was left out.path· string · optionnel
String remote note path, copied verbatim from a federated_search result's note_path fieldfirst· number · optionnel
List only this many of the oldest subsections, as expand does.kb_id· string · requis
Target knowledge base id; nested bases use '/' (e.g. "philosophers/nietzsche" routes through the 'philosophers' peer, recursively). Federation nests up to 3 levels deep (kb_id path segments); a deeper path is rejected.note_id· string · optionnel
Same remote note id as pid, but as a STRING (uint64) — stringify the federated_search result's note_id field. Prefer pathtoc_path· array · optionnel
Breadcrumb path to the node to expand. Omit or [] for the top level.
Exemple d'appel{"name": "federated_expand", "arguments": {"kb_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - federated_instructions≈ 138 tokens
Fetch the instructions/guidance for a federated knowledge base by kb_id (e.g. "philosophers/nietzsche") — read a base's own conventions before searching it. Nested bases are addressed with '/' and the call routes through each peer recursively.
Paramètres, retour & exemple (1)
Paramètreskb_id· string · requis
Target knowledge base id; nested bases use '/' (e.g. "philosophers/nietzsche" routes through the 'philosophers' peer, recursively)
Exemple d'appel{"name": "federated_instructions", "arguments": {"kb_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - federated_note_html≈ 573 tokens
Read a remote note inside a connected knowledge base. Canonical call, copying fields verbatim from a federated_search result: federated_search(kb_id="philosophers/<author>", query) -> federated_note_html(kb_id="philosophers/<author>", path=<result.note_path>) — the standard way to descend into a leaf corpus and read real content there, not hub cards. federated_note_html(kb_id=..., match_id=<match.match_id>) reads just the focused chunk around a hit. Only pass pid/note_id if you already copied that exact id from a result. path is a string like "concepts/x.md"; match_id is "p<pid>:c<chunk>"; a value like ":" or "/hub/goethe.md" is a PATH, not a note_id.
Paramètres, retour & exemple (7)
Paramètrespid· number · optionnel
Non-negative integer (uint64) remote note id, copied verbatim from a federated_search result's note_id field. Not a path, slug, or match_id. Prefer path or match_idhref· string · optionnel
String remote note href or absolute URL, copied verbatim from a federated_search result's href fieldpath· string · optionnel
String remote note path, copied verbatim from a federated_search result's note_path fieldkb_id· string · requis
Target knowledge base id; nested bases use '/' (e.g. "philosophers/nietzsche" routes through the 'philosophers' peer, recursively). Federation nests up to 3 levels deep (kb_id path segments); a deeper path is rejected.note_id· string · optionnel
Same remote note id as pid, but as a STRING (uint64) — stringify the federated_search result's note_id field. Not a path, slug, or match_id. Prefer path or match_idmatch_id· string · optionnel
String chunk id of the form "p<pid>:c<chunk>", copied verbatim from a remote search match's match_id field; alone it is enough to resolve the notetoc_path· array · optionnel
Breadcrumb path to a specific section, e.g. ["Chapter 1", "Introduction"]. Use toc_path from a federated_search match, or a child path from federated_expand. Wins over match_id when both are given. Without either the whole note comes back.
Exemple d'appel{"name": "federated_note_html", "arguments": {"kb_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - federated_search≈ 677 tokens
Search connected knowledge bases. Returns snippets with heading breadcrumbs (title > section > subsection) and a precise toc_path per match, same as search; results also carry an absolute kb_id (string) to use verbatim on follow-up calls. Pass kb_id for one base, kb_ids for selected bases, or omit both to fan out. Nested bases are addressed with '/': kb_id "philosophers/nietzsche" routes through the 'philosophers' peer to the base it federates (recursive), up to 3 levels deep. Canonical call: federated_search(kb_id="philosophers/<author>", query) -> federated_note_html(kb_id="philosophers/<author>", path=<result.note_path>) — the standard way to descend into a leaf corpus and read real content, not hub cards. The optional fields each run an extra search whose results are merged with the main one; fill them to find more.
Paramètres, retour & exemple (8)
Paramètreskb_id· string · optionnel
Target knowledge base id; nested bases use '/' (e.g. "philosophers/nietzsche" routes through the 'philosophers' peer, recursively). Federation nests up to 3 levels deep (kb_id path segments); a deeper path is rejected.limit· number · optionnel
Max number of results to return (default 6)query· string · requis
The user's question exactly as they asked it. Do not rewrite it.kb_ids· array · optionnel
Target knowledge base ids; each accepts the same nested 'peer/base' form as kb_idshort_query· string · optionnel
Optional. 2-3 words in English that the answering note is sure to contain: the main term and one qualifier, in dictionary form (nominative singular, infinitive). A short phrase, not a list; no punctuation. Keyword search needs every word to match, so fewer precise words beat many.detail_limit· number · optionnel
How many results include full snippet matches; results beyond this are returned as lightweight previews (title, path, score) to save context (default 3)expected_answer· string · optionnel
Optional. One or two sentences in English that the answering note itself could contain, written the way the notes state facts (e.g. 'To reset a password, open Settings and select Security.'). Not a description of what the note covers, not a question. If unsure of details, stay general but keep it a statement of fact.rephrased_query· string · optionnel
Optional. The question asked another way in English: different words, and the canonical name of what it asks about if you know it. One sentence.
Exemple d'appel{"name": "federated_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - federated_similar≈ 303 tokens
Find remote notes similar to a known note reference inside a connected knowledge base. Preferred: path (a federated_search result's note_path field).
Paramètres, retour & exemple (6)
Paramètrespid· number · optionnel
Non-negative integer (uint64) remote note id, copied verbatim from a federated_search result's note_id field. Prefer pathhref· string · optionnel
String remote note href, copied verbatim from a federated_search result's href fieldpath· string · optionnel
String remote note path, copied verbatim from a federated_search result's note_path fieldkb_id· string · requis
Target knowledge base id; nested bases use '/' (e.g. "philosophers/nietzsche" routes through the 'philosophers' peer, recursively). Federation nests up to 3 levels deep (kb_id path segments); a deeper path is rejected.limit· number · optionnel
Max number of resultsnote_id· string · optionnel
Same remote note id as pid, but as a STRING (uint64) — stringify the federated_search result's note_id field. Prefer path
Exemple d'appel{"name": "federated_similar", "arguments": {"kb_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - instructions≈ 33 tokens
Full tool reference for the trip2g documentation base
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "instructions", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - note_html≈ 550 tokens
Read a note. Canonical calls, copying fields verbatim from a search result: search(query) -> note_html(path=<result.note_path>) reads the whole note; search(query) -> note_html(match_id=<match.match_id>) reads just the focused chunk around a hit (cheaper, targeted); expand(path=<result.note_path>, toc_path=[...]) -> note_html(path=<result.note_path>, toc_path=[...]) reads one exact section. Only pass pid/note_id if you already copied that exact integer from a result's note_id field — never invent one. path is a string like "concepts/x.md"; match_id is "p<pid>:c<chunk>"; a value like ":" or "/hub/goethe.md" is a PATH, not a note_id.
Paramètres, retour & exemple (7)
Paramètrespid· number · optionnel
Non-negative integer (uint64) note id, copied verbatim from a search result's note_id field. Not a path, slug, or match_id — a value like ":" or "/hub/goethe.md" is a path, not a note id. Prefer path or match_idhref· string · optionnel
String note href or absolute URL, copied verbatim from a search result's href fieldpath· string · optionnel
String note path, e.g. "concepts/maska-i-glubina.md" — copy verbatim from a search result's note_path field. The default, preferred way to open a notenote_id· number · optionnel
Same as pid: non-negative integer (uint64) note id, copied verbatim from a search result's note_id field. Not a path, slug, or match_id. Prefer path or match_idmatch_id· string · optionnel
String chunk id of the form "p<pid>:c<chunk>" (e.g. "p32:c4"), copied verbatim from a search match's match_id field. Alone it is enough to resolve the note and reads a focused window around that hittoc_path· array · optionnel
Breadcrumb path to a specific section, e.g. ["Chapter 1", "Introduction"]. Use toc_path from a search match, or a child path from expand. Wins over match_id when both are given: match_id is only used when toc_path is absent.context_words· number · optionnel
Optional future hint for expanding focused reads
Exemple d'appel{"name": "note_html", "arguments": {"pid": 1, "href": "texte", "path": "texte", "note_id": 1, "match_id": "texte", "toc_path": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search≈ 582 tokens
Search notes by query. Returns snippets with a heading breadcrumb (title > section > subsection) that locates the approximate section, plus a precise toc_path per match. Each result carries note_path (string) and note_id (integer); each match carries match_id (string, form "p<pid>:c<chunk>"). Drill-down workflow: 1) search to find the approximate section via the breadcrumb; 2) call note_html(path=<result.note_path>, toc_path=[...]) to read the matched section, or expand(path=<result.note_path>, toc_path=[...]) to navigate the note's structure level by level; 3) note_html(path=<result.note_path>, match_id=<match.match_id>) for a focused chunk window. Each match also carries section_url — a link straight to that heading, for citing the section rather than the whole note. The optional fields each run an extra search whose results are merged with the main one; fill them to find more.
Paramètres, retour & exemple (6)
Paramètreslimit· number · optionnel
Max number of results to return (default 6)query· string · requis
The user's question exactly as they asked it. Do not rewrite it.short_query· string · optionnel
Optional. 2-3 words in English that the answering note is sure to contain: the main term and one qualifier, in dictionary form (nominative singular, infinitive). A short phrase, not a list; no punctuation. Keyword search needs every word to match, so fewer precise words beat many.detail_limit· number · optionnel
How many results include full snippet matches; results beyond this are returned as lightweight previews (title, path, score) to save context (default 3)expected_answer· string · optionnel
Optional. One or two sentences in English that the answering note itself could contain, written the way the notes state facts (e.g. 'To reset a password, open Settings and select Security.'). Not a description of what the note covers, not a question. If unsure of details, stay general but keep it a statement of fact.rephrased_query· string · optionnel
Optional. The question asked another way in English: different words, and the canonical name of what it asks about if you know it. One sentence.
Exemple d'appel{"name": "search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - similar≈ 276 tokens
Find related notes from a known note reference. Preferred: path (a search result's note_path field). Use this after opening a promising note when you need nearby context.
Paramètres, retour & exemple (5)
Paramètrespid· number · optionnel
Non-negative integer (uint64) note id, copied verbatim from a search result's note_id field. Not a path, slug, or match_id — a value like ":" or "/hub/goethe.md" is a path, not a note id. Prefer pathhref· string · optionnel
String note href, copied verbatim from a search result's href fieldpath· string · optionnel
String note path, e.g. "concepts/maska-i-glubina.md" — copy verbatim from a search result's note_path field. The default, preferred way to reference a notelimit· number · optionnel
Max number of results (default 10)note_id· number · optionnel
Same as pid: non-negative integer (uint64) note id, copied verbatim from a search result's note_id field. Not a path, slug, or match_id. Prefer path
Exemple d'appel{"name": "similar", "arguments": {"pid": 1, "href": "texte", "path": "texte", "limit": 1, "note_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - wiki≈ 26 tokens
Wiki Knowledge Base Instructions
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "wiki", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».