sniff-mcp (Sniffscore/sniff-mcp) is an MCP server listed on the M8ven Trust Index. It scores 43 out of 100, grade D. It declares 17 tools. No publisher has claimed this listing.

D
Warning
43/100

sniff-mcp

Agent-callable canine genomics API providing breed-stratified allele frequencies, pathogenicity predictions, and variant-gene-breed-disease knowledge graph for dog DNA.

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

Code 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

Sniffscore

Source: Glama

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
🚨
Secret credentials may flow to a network call
2 flows detected: AZURE_OPENAI_KEY, SNIFF_SEARCH_KEY. We can’t prove the destination matches the brand the credential belongs to.
🚨
Reads files from sensitive locations
Touches: /home/ubuntu/.sniff_openai.env
🔐
You'll be asked for 3 credentials: R2_SECRET_ACCESS_KEY, SNIFF_SEARCH_KEY, AZURE_OPENAI_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes17 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

ask

Ask Sniff a natural-language canine-genetics question and get a GROUNDED, CITED answer (or an honest abstain). Covers inherited diseases (OMIA) and their human homologs (the dog<->human disease bridge), breed disease/carrier risk, variant pathogenicity grades (AVCG; Boeykens et al. 2024, curated in

disease_bridge

The fused OMIA disease layer as cited atoms. Give a `disease` (name or 'OMIA:001870-9615') for its genes, inheritance, human homolog (OMIM/Mondo bridge), and variant pathogenicity grade (AVCG, ACMG/AMP 5-tier, curated in OMIA) when graded. Or give a `breed` (e.g. 'doberman_pinscher') for the inherit

ask_variant_context

THE headline query. Given a CanFam4 position (e.g. '5:56189113'), return the variant's global + popmax frequency, breed-stratified cross-breed frequencies, ESM2/Pangolin/phyloP pathogenicity, gene context, linked diseases (v1.1), provenance, and deep links — in one call. Pass breed_context to also g

variant_lookup

Single-variant lookup by CanFam4 position: ref/alt, global + popmax AF, consequence, gene, ESM2/Pangolin/phyloP, deleteriousness tier, canonical URL, provenance.

breed_variant_frequency

Breed-stratified allele frequency. Give a breed (e.g. 'bernese_mountain_dog') plus either a variant position or a gene symbol. Returns AF (+ rank) for the variant, or per-variant AFs in the gene.

gene_summary

Variants in a gene (by gene symbol), ranked by impact then ESM2 damage. Paginated (limit, default 25); returns total_variants. Use af_min to filter by global AF.

breed_summary

Breed profile: top damaging common variants (ESM2<=-5 & breed AF>=5%), n_dogs, breed group. Descriptive only — not a health ranking.

variant_search

Filtered discovery over all 9.67M variants. Predicates (combine freely): esm_max (ESM2 LLR <=), phylop_min (phyloP >=), popmax_min (popmax AF >=), gene_in (list of gene symbols), consequence, impact (HIGH/MODERATE/LOW/MODIFIER). Returns total_count + a capped list (max 200). Note: popmax may be in a

nearest_breeds

Genetically nearest breeds to the given breed (top-10-PC Euclidean in canine genetic space). Answers 'what breeds are most genetically similar to X?' via the PCA-256 breed co-embedding.

breed_similarity

Genetic distance between two breeds (top-10-PC Euclidean). Lower = more genetically similar.

semantic_search

Faceted hybrid + semantic-ranker search over the whole knowledge base (diseases, breeds, Scout discoveries). Use for fuzzy/thematic intent ('drug sensitivity in herding dogs', 'breeds prone to eye disease', 'genetically diverse breeds'). entity_type filters to 'disease'|'breed'|'discovery'. filters

disease_links

A canine inherited disease (name or OMIA id) -> its governed OMIA clinical record: mode of inheritance, causal gene(s), curated description (summary / clinical features / molecular genetics / pathology / prevalence), clinical signs as HP/MP phenotype terms (-> Monarch), the human OMIM analog + Mondo

disease_lookup

Look up a canine inherited disease by name or OMIA id -> its governed OMIA clinical record (inheritance, causal gene(s), curated description, clinical signs, human OMIM analog + Mondo id, evidence base). Sourced to OMIA (CC-BY); returns a canonical sniff.world URL. Dog-only. For candidate disambigua

search_diseases

Search the canine disease catalogue by free text -> ranked candidates [{omia_id, disease, url, score}]. Use before disease_lookup when the exact name is unknown. Dog-only.

breeds_in_atlas

List all 188 breeds with breed-stratified frequencies in the atlas.

genes_indexed

Top genes by number of variants in the atlas (discovery aid).

metadata

Atlas metadata: release, DOI, assembly, variant/breed counts, scope banner, and the RPC catalog.

// 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.
configSNIFF_MCP_URL
configSNIFF_BRAIN_URL
configSNIFF_BREEDDIM
configSNIFF_EMB
configSNIFF_SEARCH_ENDPOINT
configSNIFF_SEARCH_KEY_FILE
configSNIFF_SEARCH_INDEX
configSNIFF_KGDIR
configSNIFF_PLAIN
configSNIFF_DISCOVERIES
configSNIFF_MASTER
configSNIFF_BREEDAF
configSNIFF_STORE
configSNIFF_RELEASE
configSNIFF_OMIA_DIR
configSNIFF_DATA
configR2_BUCKET
configR2_ACCOUNT_ID
configR2_ACCESS_KEY_ID
🔐 secretR2_SECRET_ACCESS_KEY
🔐 secretSNIFF_SEARCH_KEY
configAZURE_OPENAI_ENDPOINT
🔐 secretAZURE_OPENAI_KEY
configSNIFF_EMBED_DEPLOY
configSNIFF_COMPANION_CTX
configSNIFF_DOGDIM
configSNIFF_BREED_NEIGHBORS
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// 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

17/17 tools missing one or more hints — ask (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); disease_bridge (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); ask_variant_context (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +14 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.

Tests exist

No test files found

Add tests that exercise each declared tool.

No access to sensitive paths

Reads sensitive paths: /home/ubuntu/.sniff_openai.env

Remove reads of sensitive system paths. If you genuinely need them, document why in the README.

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 4 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/sniffscore/sniff-mcp?variant=verified)](https://m8ven.ai/mcp/sniffscore/sniff-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: ef0129a479088ab500d6860f66f8608557bbc691
code hash: 5290fd196faf5e8e9ce080c48f477e716b4829aef93f2f9c3d9d715947d1de74
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