accueil / serveurs / Dev & Code / io.github.ysalitrynskyi/opn-mcp
io.github.ysalitrynskyi/opn-mcp
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.github.ysalitrynskyi/opn-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.ysalitrynskyi/opn-mcp » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. 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.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 24 outils
- shorten_url≈ 416 tokens
Create a short link on opn.onl. Supports scheduling, click limits, folders, tags and one-time (burn-after-reading) links. Returns the short URL and its code.
Paramètres, retour & exemple (12)
Paramètresurl· string · requis
The destination URL to shortenalias· string · optionnel
Custom alias / slug (optional). Use check_alias_available first to avoid collisions.notes· string · optionnel
Private notes for the link (optional)title· string · optionnel
Private title for the link (optional)tag_ids· array · optionnel
Tag ids to attach to the link (optional)password· string · optionnel
Password-protect the link (optional)folder_id· integer · optionnel
Place the link in this folder id (optional)starts_at· string · optionnel
ISO-8601 timestamp before which the link is inactive (optional)expires_at· string · optionnel
ISO-8601 timestamp after which the link stops working (optional)max_clicks· integer · optionnel
Deactivate the link after this many clicks (optional)burn_after_reading· boolean · optionnel
One-time link: destroy it after the first successful visit (optional)safe_link_interstitial· boolean · optionnel
Show a safety interstitial page before redirecting (optional)
Exemple d'appel{"name": "shorten_url", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - shorten_urls_bulk≈ 139 tokens
Shorten many URLs in one call. Returns the created links plus any per-URL errors.
Paramètres, retour & exemple (2)
Paramètresurls· array · requis
Destination URLs to shorten (up to 500)folder_id· integer · optionnel
Place all created links in this folder id (optional)
Exemple d'appel{"name": "shorten_urls_bulk", "arguments": {"urls": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_links≈ 184 tokens
List your short links (most recent first). Filter by folder, tag or free-text search.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
Max links to return (server default applies if omitted)offset· integer · optionnel
Pagination offsetsearch· string · optionnel
Filter by text in the URL, title, notes or codetag_id· integer · optionnel
Only links carrying this tag idfolder_id· integer · optionnel
Only links in this folder id
Exemple d'appel{"name": "list_links", "arguments": {"limit": 1, "offset": 1, "search": "texte", "tag_id": 1, "folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_link≈ 410 tokens
Update a link's destination, title, notes, scheduling, click limit, folder or protections. Use the remove_* flags to clear a field.
Paramètres, retour & exemple (16)
Paramètresid· integer · requis
The link idurl· string · optionnel
New destination URLnotes· string · optionnel
New private notestitle· string · optionnelpassword· string · optionnel
New passwordfolder_id· integer · optionnel
Move the link to this folder idstarts_at· string · optionnel
New ISO-8601 activation timestampexpires_at· string · optionnel
New ISO-8601 expiry timestampmax_clicks· integer · optionnel
New maximum click countbio_visible· boolean · optionnel
Show/hide this link on your public link-in-bio pageremove_password· boolean · optionnel
Remove password protectionremove_starts_at· boolean · optionnel
Clear the activation timestampremove_expiration· boolean · optionnel
Clear the expiry so the link never expiresremove_max_clicks· boolean · optionnel
Clear the click limitburn_after_reading· boolean · optionnel
Toggle one-time (burn-after-reading) behavioursafe_link_interstitial· boolean · optionnel
Toggle the safety interstitial page
Exemple d'appel{"name": "update_link", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_link≈ 69 tokens
Delete a short link.
Paramètres, retour & exemple (1)
Paramètresid· integer · requis
The link id
Exemple d'appel{"name": "delete_link", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clone_link≈ 88 tokens
Duplicate an existing link (same destination and settings) under a fresh short code.
Paramètres, retour & exemple (1)
Paramètresid· integer · requis
The id of the link to clone
Exemple d'appel{"name": "clone_link", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - toggle_link_pin≈ 88 tokens
Pin or unpin a link (pinned links surface first in the dashboard). Toggles the current state.
Paramètres, retour & exemple (1)
Paramètresid· integer · requis
The link id
Exemple d'appel{"name": "toggle_link_pin", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_alias_available≈ 91 tokens
Check whether a custom alias/slug is available before shortening with it.
Paramètres, retour & exemple (1)
Paramètresalias· string · requis
The custom alias / slug to check
Exemple d'appel{"name": "check_alias_available", "arguments": {"alias": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - export_links_csv≈ 52 tokens
Export all your links as CSV (returns the raw CSV text).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "export_links_csv", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_link_routing_rules≈ 90 tokens
Get the smart-routing rules for a link (device/OS/country/language targeting and A/B weighting).
Paramètres, retour & exemple (1)
Paramètresid· integer · requis
The link id
Exemple d'appel{"name": "get_link_routing_rules", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_link_routing_rules≈ 349 tokens
Replace ALL smart-routing rules for a link. Each rule sends visitors matching the given device/OS/country/language to its destination; empty match fields mean 'any'. Send an empty array to clear all rules.
Paramètres, retour & exemple (2)
Paramètresid· integer · requis
The link idrules· array · requis
The full rule set (replaces any existing rules)
Exemple d'appel{"name": "set_link_routing_rules", "arguments": {"id": 1, "rules": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_link_stats≈ 124 tokens
Get click analytics for a link (clicks, unique visitors, geography, cities, devices, browsers, OS, referrers).
Paramètres, retour & exemple (2)
Paramètresid· integer · requis
The link iddays· integer · optionnel
Window in days to aggregate over (optional; server default is 30)
Exemple d'appel{"name": "get_link_stats", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_dashboard_stats≈ 64 tokens
Get account-wide analytics across all your links: totals, top links, and aggregate click breakdowns.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_dashboard_stats", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_qr_code≈ 154 tokens
Get the QR code for a link, optionally branded with a colour, centre logo, and PNG/SVG format.
Paramètres, retour & exemple (4)
Paramètresid· integer · requis
The link idlogo· boolean · optionnel
Overlay the brand logo in the centrecolor· string · optionnel
Hex foreground colour, e.g. 2f37d8format· string · optionnel · png | svg
Image format (default png)
Exemple d'appel{"name": "get_qr_code", "arguments": {"id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_url_health≈ 92 tokens
Check whether a destination URL is reachable (status + timing) before shortening it.
Paramètres, retour & exemple (1)
Paramètresurl· string · requis
The URL to check
Exemple d'appel{"name": "check_url_health", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - build_utm_url≈ 193 tokens
Append UTM campaign parameters to a URL. Returns the tagged URL (does not create a link).
Paramètres, retour & exemple (6)
Paramètresurl· string · requis
The base URL to tagutm_term· string · optionnel
utm_term (paid-search keyword)utm_medium· string · optionnel
utm_medium, e.g. emailutm_source· string · optionnel
utm_source, e.g. newsletterutm_content· string · optionnel
utm_content (A/B variant)utm_campaign· string · optionnel
utm_campaign, e.g. launch-2026
Exemple d'appel{"name": "build_utm_url", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - preview_url_metadata≈ 104 tokens
Fetch Open Graph metadata (title, description, image, site name) for a URL — handy for auto-titling a link before shortening it.
Paramètres, retour & exemple (1)
Paramètresurl· string · requis
The URL to inspect
Exemple d'appel{"name": "preview_url_metadata", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_tags≈ 47 tokens
List your tags (each with its link count).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_tags", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_tag≈ 100 tokens
Create a tag for organizing links.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Tag namecolor· string · optionnel
Hex colour for the tag, e.g. 2f37d8 (optional)
Exemple d'appel{"name": "create_tag", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_tags_to_link≈ 106 tokens
Attach one or more existing tags to a link.
Paramètres, retour & exemple (2)
Paramètresid· integer · requis
The link idtag_ids· array · requis
Tag ids to attach
Exemple d'appel{"name": "add_tags_to_link", "arguments": {"id": 1, "tag_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove_tags_from_link≈ 106 tokens
Detach one or more tags from a link.
Paramètres, retour & exemple (2)
Paramètresid· integer · requis
The link idtag_ids· array · requis
Tag ids to remove
Exemple d'appel{"name": "remove_tags_from_link", "arguments": {"id": 1, "tag_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_folders≈ 49 tokens
List your folders (each with its link count).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_folders", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_folder≈ 102 tokens
Create a folder for grouping links.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Folder namecolor· string · optionnel
Hex colour for the folder, e.g. 2f37d8 (optional)
Exemple d'appel{"name": "create_folder", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - move_links_to_folder≈ 116 tokens
Move one or more links into a folder.
Paramètres, retour & exemple (2)
Paramètreslink_ids· array · requis
Link ids to move into the folderfolder_id· integer · requis
Destination folder id
Exemple d'appel{"name": "move_links_to_folder", "arguments": {"link_ids": [], "folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.github.ysalitrynskyi--opn-mcp)
<a href="https://dokore.fr/serveur/io.github.ysalitrynskyi--opn-mcp"><img src="https://dokore.fr/badge/io.github.ysalitrynskyi--opn-mcp.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
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é ».
Source
opn-mcp@1.2.0