odysseus-showcase (OdWar420/odysseus-showcase) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 14 tools. No publisher has claimed this listing.

C
Warning
74/100

odysseus-showcase

Self-hosted AI workspace.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

OdWar420

Source: github_code

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. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Code appears obfuscated
2 files are unreadable to a human reviewer. Cannot audit what they do.
🔐
You'll be asked for 8 credentials: IMAP_PASSWORD, HF_TOKEN, HUGGING_FACE_HUB_TOKEN, ODYSSEUS_ADMIN_PASSWORD, ODYSSEUS_INTERNAL_TOKEN, CARDDAV_PASSWORD, EMBEDDING_API_KEY, OPENAI_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configALLOWED_ORIGINS
configREQUEST_HARD_TIMEOUT
configAUTH_ENABLEDAPP_BIND, APP_PORT, , DATABASE_URL, or a pre-seeded admin password.
configLOCALHOST_BYPASSKeep =false outside local development.
configOLLAMA_BASE_URL
configOLLAMA_URL
configODYSSEUS_INPROCESS_TASKS
configOAUTH_REDIRECT_BASE_URL
configAPP_PUBLIC_URL
configEMAIL_SOCKET_TIMEOUT
configIMAP_HOST
configIMAP_PORT
configIMAP_USER
🔐 secretIMAP_PASSWORD
configIMAP_SSL
configIMAP_STARTTLS
configEMAIL_FROM
configARCHIVE_FOLDER
configTRASH_FOLDER
configODYSSEUS_DISABLE_MCP
🔐 secretHF_TOKEN
🔐 secretHUGGING_FACE_HUB_TOKEN
configODYSSEUS_ADMIN_USERis set) and prints a temporary password in the terminal.
🔐 secretODYSSEUS_ADMIN_PASSWORD
configODYSSEUS_SKIP_ADMIN_PROMPT
configODYSSEUS_SKIP_RUN_HINT
configAPP_PORTAPP_BIND, , AUTH_ENABLED, DATABASE_URL, or a pre-seeded admin password.
🔐 secretODYSSEUS_INTERNAL_TOKEN
configComSpec
configSECURE_COOKIESUse =true when Odysseus is served through HTTPS by a trusted reverse proxy or private access gateway.
configODYSSEUS_FALLBACK_OWNER
configODYSSEUS_SINGLE_USER
configCARDDAV_URL
configCARDDAV_USERNAME
🔐 secretCARDDAV_PASSWORD
configCARDDAV_BLOCK_PRIVATE_IPS
configHUGGINGFACE_HUB_CACHE
configHF_HOME
configODYSSEUS_IMAP_TIMEOUT_SECONDS
configODYSSEUS_INPROCESS_POLLERS
configFASTEMBED_MODEL
configEMBEDDING_URLOpenAI-compatible embeddings endpoint
configEMBEDDING_MODEL
configEMBEDDING_BLOCK_PRIVATE_IPS
🔐 secretEMBEDDING_API_KEY
configODYSSEUS_GALLERY_UPLOAD_MAX_BYTES
configODYSSEUS_GALLERY_TRANSFORM_UPLOAD_MAX_BYTES
configIMAGE_BLOCK_PRIVATE_IPS
configODYSSEUS_MEMORY_IMPORT_MAX_BYTES
configREMINDER_WEBHOOK_BLOCK_PRIVATE_IPS
configODYSSEUS_PERSONAL_UPLOAD_MAX_BYTES
configHF_HUB_DISABLE_PROGRESS_BARS
configHF_HUB_DOWNLOAD_MAX_WORKERS
configTERM
configCOLORTERM
configODYSSEUS_SCRIPT_HOST
configODYSSEUS_ALLOW_PRIVATE_CALDAV
configCHATGPT_SUBSCRIPTION_BASE_URL
configCHROMADB_CONNECT_TIMEOUT
configCHROMADB_HOSTChromaDB host for vector memory. Docker overrides this to chromadb.
configCHROMADB_PORTChromaDB port for manual host runs. Docker overrides this to 8000.
configODYSSEUS_DATA_DIR
configODYSSEUS_MAIL_ATTACHMENTS_DIR
configFASTEMBED_CACHE_PATH
configLLM_HOSTYour LLM server (e.g. llm-host.local:8000)
configLLM_HOSTSComma-separated list for model discovery
🔐 secretOPENAI_API_KEYOptional OpenAI key. Prefer adding providers in the app unless pre-seeding.
configSEARXNG_INSTANCESearXNG URL. Docker overrides this to http://searxng:8080.
configCLEANUP_ENABLED
configCLEANUP_INTERVAL_HOURS
configODYSSEUS_INTERNAL_BASE
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deploySMTP_HOST
deploySMTP_PORT
deploySMTP_SECURITY
deploySMTP_USER
deploySMTP_PASSWORD
deploySMTP_STARTTLS
deploySMTP_SSL
deployDATABASE_URL
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

14/14 tools missing one or more hints — list_email_accounts (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_emails (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); download_attachment (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +11 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

No eval / new Function

1 eval() or new Function() call — dynamic code execution

Replace eval / Function with explicit parsing or safer alternatives.

Readable source code

2 files are minified or bundled, which is usually build output rather than concealment

Ship unminified, readable source.

Secrets not logged

1 secret value sent to print

Redact or omit secret values from log output.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// 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 Verified](https://m8ven.ai/badge/mcp/odwar420/odysseus-showcase?variant=verified)](https://m8ven.ai/mcp/odwar420/odysseus-showcase)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 8e494cc1c4b238799acb2d27a328817d6f44dba8
code hash: 2582399aa8b7de5c24423dd9e7fcf1f9b3d9a6b897d1c4e7a05a412de7000d9e
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client