46
/ 100
10 days ago
glama

Selvage

An MCP server that provides a unified hybrid-search interface over Slack, wikis, code, and databases, enabling agents and humans to query scattered knowledge with exact and semantic search.

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
🚨
Secret credentials may flow to a network call
1 flow detected: OPENAI_API_KEY. We can’t prove the destination matches the brand the credential belongs to.
🚨
Known vulnerabilities in dependencies: 1 critical, 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
⚠️
Tests do not pass
Either the test suite is broken or the code regressed. Either way the published behaviour can’t be verified by the publisher’s own tests.
🔐
You'll be asked for 2 credentials: ANTHROPIC_API_KEY, OPENAI_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// known CVEs in dependencies1 critical3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@3.2.0GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

high@modelcontextprotocol/sdk@1.15.0GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.15.0GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.15.0GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
🔐 secretANTHROPIC_API_KEYsynthesized, cited answer) over the same tools; it needs
configDATABASE_URLpostgres://selvage:selvage@localhost:5433/selvage Selvage's own Postgres (matches docker-compose.yml)
🔐 secretOPENAI_API_KEY/ OPENAI_BASE_URL apply only when SELVAGE_EMBEDDINGS=openai.
configOPENAI_BASE_URLOPENAI_API_KEY / apply only when SELVAGE_EMBEDDINGS=openai.
configSELVAGE_ANTHROPIC_MODELclaude-sonnet-5 Model for Ask mode
configSELVAGE_CONFIGpoints at a different config file if you don't want it in the
configSELVAGE_EMBEDDINGSlocal local (ONNX, no account) or openai (any OpenAI-compatible /v1/embeddings)
configSELVAGE_EMBED_DIM384 Embedding dimension
configSELVAGE_EMBED_DTYPEq8 q8 (fast) or fp32; part of the index identity
configSELVAGE_EMBED_MODELXenova/bge-small-en-v1.5 Local embedding model
configSELVAGE_HALF_LIFE_DAYS90 Recency-decay half-life
configSELVAGE_RERANKtrue Cross-encoder rerank of the fused top-N
configSELVAGE_RERANK_DTYPE
configSELVAGE_RERANK_MODELXenova/ms-marco-MiniLM-L-6-v2 Cross-encoder model
configSELVAGE_WEB_PORTnpm run web # http://localhost:3000 (override with )
// 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 8 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/naidx0-selvage-1038yb)](https://m8ven.ai/mcp/naidx0-selvage-1038yb)
commit: f9ae8b9ea62b60995c3a6a964a13800f28342a2a
code hash: 6add81ee42d2f17bb9d923bd9d10e0e4c86080badac87c1a191a160e91f800f0
verified: 7/21/2026, 9:26:25 AM
view raw JSON →