Shiori MCP
MCP server for Shiori bookmark management and tag workflows.
Que pouvez-vous faire avec Shiori MCP ?
- Verify Shiori connectivity and authentication
- List bookmarks
- Search bookmarks by title, URL, excerpt, and tag
- Get one bookmark by id or exact URL from the bookmark list
- Add bookmarks with Shiori's required tag-object format
- Update bookmarks via either a full-bookmark payload or common field parameters
- Delete bookmarks by id list
- List tags and bookmark counts
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
shiori-mcpclaude mcp add shiori-mcp -e 'SHIORI_BASE_URL=<SHIORI_BASE_URL>' -e 'SHIORI_SESSION_ID=<your shiori_session_id>' -e 'SHIORI_USERNAME=<SHIORI_USERNAME>' -e 'SHIORI_PASSWORD=<your shiori_password>' -- uvx shiori-mcp==0.1.0
{
"mcpServers": {
"shiori-mcp": {
"command": "uvx",
"args": [
"shiori-mcp==0.1.0"
],
"env": {
"SHIORI_BASE_URL": "<SHIORI_BASE_URL>",
"SHIORI_SESSION_ID": "<your shiori_session_id>",
"SHIORI_USERNAME": "<SHIORI_USERNAME>",
"SHIORI_PASSWORD": "<your shiori_password>"
}
}
}
}
Variables d'environnement
SHIORI_BASE_URLobligatoire Base URL of the Shiori instance, e.g. https://shiori.example.comSHIORI_SESSION_IDsecret Existing Shiori session id; skips login if providedSHIORI_USERNAMEShiori username; required unless SHIORI_SESSION_ID is setSHIORI_PASSWORDsecret Shiori password; required unless SHIORI_SESSION_ID is set
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
Shiori MCP
A Model Context Protocol (MCP) server for Shiori, the self-hosted bookmark and read-it-later manager.
Capabilities
- Verify Shiori connectivity and authentication
- List bookmarks
- Search bookmarks by title, URL, excerpt, and tag
- Get one bookmark by id or exact URL from the bookmark list
- Add bookmarks with Shiori's required tag-object format
- Update bookmarks via either a full-bookmark payload or common field parameters
- Delete bookmarks by id list
- List tags and bookmark counts
- Rename tags
- List accounts visible to the authenticated session
Installation
pipx install git+https://github.com/rusty4444/shiori-mcp.git
Or from a checkout:
python -m venv .venv
source .venv/bin/activate
pip install -e .
Configuration
| Variable | Required | Description |
|---|---|---|
SHIORI_BASE_URL | Yes | Base URL of the Shiori instance, e.g. https://shiori.example.com |
SHIORI_SESSION_ID | Optional | Existing Shiori session id; skips login if provided |
SHIORI_USERNAME | Required unless session id is set | Shiori username |
SHIORI_PASSWORD | Required unless session id is set | Shiori password |
SHIORI_TIMEOUT | No | HTTP timeout in seconds, default 20 |
MCP client config
{
"mcpServers": {
"shiori": {
"command": "shiori-mcp",
"env": {
"SHIORI_BASE_URL": "https://shiori.example.com",
"SHIORI_USERNAME": "your-username",
"SHIORI_PASSWORD": "your-password"
}
}
}
}
Tools
| Tool | Purpose |
|---|---|
shiori_health_check | Verify API connectivity/authentication |
shiori_list_bookmarks | List bookmarks with client-side limit/offset |
shiori_search_bookmarks | Search bookmarks by text and/or tag |
shiori_get_bookmark | Get one bookmark by id from the bookmark list |
shiori_get_bookmark_by_url | Get one bookmark by exact URL |
shiori_add_bookmark | Add a bookmark with optional tags/archive/public flags |
shiori_update_bookmark | Update a bookmark using full Shiori bookmark JSON |
shiori_update_bookmark_fields | Update common fields without manually constructing full JSON |
shiori_delete_bookmark | Delete one bookmark id |
shiori_delete_bookmarks | Delete bookmark ids from a JSON array |
shiori_list_tags | List tags and bookmark counts |
shiori_rename_tag | Rename a tag |
shiori_list_accounts | List accounts visible to this session |
Development and validation
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e '.[dev]'
ruff check .
pytest
python scripts/live_docs_test.py
live_docs_test.py validates Shiori public API documentation and repository pages without credentials. Authenticated read/write API behaviours are covered with mocked HTTP tests.
Optional LLM validation can be run with any configured OpenAI-compatible endpoint. For local Aeon validation, set AEON_BASE_URL and optionally AEON_MODEL / AEON_API_KEY before running python scripts/model_validate.py.
API note
This server targets Shiori's documented legacy API under /api/* because the new API v1 is still documented as in development and self-documented at /swagger/index.html on running instances.
Safety
The write-capable tools mutate a Shiori bookmark database. Keep credentials in environment variables or a secret manager, never in source control.
This project was developed with the assistance of AI tools.
Questions fréquentes
Qu'est-ce que Shiori MCP ?
MCP server for Shiori bookmark management and tag workflows.
Comment installer Shiori MCP ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add shiori-mcp -e 'SHIORI_BASE_URL=<SHIORI_BASE_URL>' -e 'SHIORI_SESSION_ID=<your shiori_session_id>' -e 'SHIORI_USERNAME=<SHIORI_USERNAME>' -e 'SHIORI_PASSWORD=<your shiori_password>' -- uvx shiori-mcp==0.1.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Shiori MCP ?
Oui. Il attend SHIORI_BASE_URL, SHIORI_SESSION_ID, SHIORI_PASSWORD, à renseigner dans sa configuration.
Shiori MCP est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Shiori MCP ?
Il est publié par rusty4444. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.