69
/ 100
6 days ago
glama

scheduler-mcp

Self-hosted scheduler using Notion as control plane and Docker container with SQLite ledger, executing scheduled notifications, scripts, and LLM agents with MCP tools.

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
🔐
You'll be asked for 3 credentials: ANTHROPIC_API_KEY, NOTION_TOKEN, MCP_AUTH_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
🔐 secretANTHROPIC_API_KEYLeast privilege / securite : Bitwarden (bw) est exclu du toolset, jamais auto-attribue a un job agent. Sans , le client est absent et le job ressort en failure explicite. Aucun secret n'est logge.
🔐 secretNOTION_TOKENBest effort : sans / base Journal le Journal est desactive ; une erreur Notion n'echoue jamais un run (deja cloture cote ledger).
configNOTION_VERSION
configNOTION_PROGRAMMATION_DS
configNOTION_JOURNAL_DBParent de page : data_source_id si NOTION_JOURNAL_DS est renseigne (API 2025-09-03), sinon database_id ().
configSQLITE_PATHAu demarrage, le service ouvre le ledger (, volume /data), applique les migrations et active WAL avant de lancer les boucles.
configTICK_INTERVAL_SECONDSLe module scheduler_mcp/tick.py declenche les jobs. Toutes les (defaut 60s), un tick (tick_once) :
configNOTION_SYNC_INTERVAL_SECONDS
configMAX_CONCURRENT_RUNS3. Lance un worker par job verrouille, borne par un semaphore ().
configLOCK_TTL_SECONDS2. Pour chaque job, tente le verrou (acquire_lock, TTL , defaut 900s). Un job deja verrouille est saute : pas de double dispatch, meme si un tick se chevauche ou apres un redemarrage.
configSCRIPT_TIMEOUT_SECONDS
configLLM_MODELLe modele utilise est (configurable), avec LLM_MAX_TOKENS par defaut (surchargeable par le payload).
configLLM_MAX_TOKENSLe modele utilise est LLM_MODEL (configurable), avec par defaut (surchargeable par le payload).
configLOG_LEVEL
configNOTION_JOURNAL_DSParent de page : data_source_id si est renseigne (API 2025-09-03), sinon database_id (NOTION_JOURNAL_DB).
🔐 secretMCP_AUTH_TOKENToken long-lived seede : , injecte tel quel dans les serveurs sans token propre. Le secret n'est jamais committe (.env / Bitwarden) ni logge.
configMCP_OAUTH_PROXY_URL
configMCP_AUTH_REFRESH_DAYS
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/raphyduck-scheduler-mcp-oipqfj)](https://m8ven.ai/mcp/raphyduck-scheduler-mcp-oipqfj)
commit: afd110bf366164f80008073228b9d5d231fc951c
code hash: d6a53f2d249f477aee7fbf70fc3a6c7400af1d190d137f9c44a454ff5177b4cb
verified: 6/21/2026, 10:11:41 AM
view raw JSON →
scheduler-mcp · M8ven Trust Score | M8ven