drasil
A Discord Anti-Spam Bot for servers
Install / Use
claude mcp add BASIC-BIT -- npx -y github:BASIC-BIT/drasilIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
CommunicationSupported Platforms
Our assessment of drasil
drasil scores 42/100 on our quality scale, 401st of 404 Communication skills we index.
Its MCP Server is 7.5 KB long, written without headings and no code examples: a thorough specification that gives an agent plenty to work with.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-10-26. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
drasil compared with similar skills
All 4 of these similar skills score higher than drasil; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| drasil (this skill)by BASIC-BIT | 42 | 0 | — | MCP Server |
| Agent-Reachby Panniantong | 100 | 103.3k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.9k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.6k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 89.9k | today | MCP Server |
Frequently asked questions
- How do I install drasil?
- Run
claude mcp add BASIC-BIT -- npx -y github:BASIC-BIT/drasil. The install tabs above show the steps for each supported agent. - Which AI agents does drasil work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is drasil safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is drasil still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHub{ "name": "drasil", "version": "1.0.0", "private": true, "description": "A Discord bot that leverages GPT-based analysis and heuristic checks to proactively detect and mitigate spammers and scammers in Discord servers.", "main": "dist/index.js", "workspaces": [ "apps/web", "packages/contracts", "packages/application" ], "directories": { "doc": "docs" }, "scripts": { "start": "ts-node src/index.ts", "dev": "node --watch -r ts-node/register src/index.ts", "test": "jest --testPathPattern=src/tests/unit", "test:watch": "jest --watch --testPathPattern=src/tests/unit", "test:coverage": "jest --testPathPattern=src/tests/unit --coverage", "test:integration": "node scripts/run-integration-tests.js", "build": "tsc", "build:watch": "tsc -w", "clean": "rm -rf dist", "dev:env": "node scripts/hydrate-dev-env.js", "postinstall": "node scripts/prisma-generate-if-needed.js", "lint": "eslint . --ext .ts,.js,.mjs", "lint:fix": "eslint . --ext .ts,.js,.mjs --fix", "web:build": "npm --workspace apps/web run build", "web:lint": "npm --workspace apps/web run lint", "web:typecheck": "npm --workspace apps/web run typecheck", "web:test": "npm --workspace apps/web run test", "web:test:coverage": "npm --workspace apps/web run test:coverage", "web:storybook:build": "npm --workspace apps/web run storybook:build", "web:storybook:visual": "npm --workspace apps/web run test:storybook:visual", "web:storybook:visual:update": "npm --workspace apps/web run test:storybook:visual:update", "web:e2e": "npm --workspace apps/web run test:e2e --", "web:e2e:visual": "npm --workspace apps/web run test:e2e:visual", "web:e2e:visual:update": "npm --workspace apps/web run test:e2e:visual:update", "contracts:build": "npm --workspace packages/contracts run build", "contracts:lint": "npm --workspace packages/contracts run lint", "contracts:typecheck": "npm --workspace packages/contracts run typecheck", "contracts:test": "npm --workspace packages/contracts run test", "contracts:test:coverage": "npm --workspace packages/contracts run test:coverage", "code:metrics": "bash scripts/check-metrics.sh", "agent:check": "node scripts/check-agent-tooling.mjs", "format": "prettier --write "/*.{ts,js,json,md,mjs}"", "format:check": "prettier --check "/*.{ts,js,json,md,mjs}"", "check": "npm run lint:fix && npm run build && npm test", "check:full": "npm run format:check && npm run check && npm run test:integration", "check:ci": "npm run format:check && npm run application:build && npm run application:lint && npm run application:typecheck && npm run application:test:coverage && npm run action:boundary && npm run lint && npm run build && npm test && npm run contracts:lint && npm run contracts:typecheck && npm run contracts:test:coverage && npm run web:lint && npm run web:typecheck && npm run test:db:prepare && npm run web:test:coverage && npm run web:build && npm run web:check:packaging && npm run web:check:graph && npm run web:storybook:build && npm run web:e2e:workspace && npm run web:e2e && npm run web:e2e:visual && npm run web:storybook:visual && npm run test:integration && npm run web:test:integration && npm run web:e2e:mcp && npm run db:check:rls", "prisma:generate": "node scripts/prisma-generate.js", "prisma:migrate:deploy": "prisma migrate deploy", "prisma:migrate:dev": "prisma migrate dev", "prisma:db:pull": "prisma db pull", "prisma:studio": "prisma studio", "prisma:format": "prisma format", "db:seed": "prisma db seed", "db:reset:local": "npx supabase db reset --local && node scripts/create-prisma-user.js && prisma migrate reset && npm run db:seed", "db:check:rls": "node scripts/check-public-rls.js", "intel:upload": "node scripts/upload-intel-case.js", "trace:smoke": "node -r ts-node/register src/scripts/langfuseSmoke.ts", "application:build": "npm --workspace packages/application run build", "application:typecheck": "npm --workspace packages/application run typecheck", "application:lint": "npm --workspace packages/application run lint", "application:test": "npm --workspace packages/application run test --", "application:test:coverage": "npm --workspace packages/application run test:coverage --", "prestart": "npm run application:build", "predev": "npm run application:build", "pretest": "npm run application:build", "pretest:watch": "npm run application:build", "pretest:coverage": "npm run application:build", "pretest:integration": "npm run application:build", "prebuild": "npm run application:build", "prebuild:watch": "npm run application:build", "action:boundary": "node --test scripts/check-action-boundary.test.mjs && node scripts/check-action-boundary.mjs", "web:test:integration": "npm --workspace apps/web run test:integration --", "test:db:prepare": "node --test scripts/owned-test-database.test.js && node scripts/prepare-test-database.js", "web:e2e:mcp": "npm run build && node scripts/run-mcp-e2e.js", "web:check:packaging": "NODE_ENV=production node scripts/check-mcp-packaging.mjs", "web:e2e:workspace": "npm --workspace apps/web run test:e2e:workspace --", "web:check:graph": "node scripts/check-workspace-production-graph.mjs" }, "keywords": [ "discord", "bot", "anti-spam", "typescript" ], "author": "", "license": "ISC", "engines": { "node": ">=22.22.0" }, "devDependencies": { "@babel/core": "^7.29.6", "@babel/preset-env": "^7.26.9", "@babel/preset-typescript": "^7.27.0", "@eslint/js": "^9.23.0", "@jest/globals": "^29.7.0", "@types/jest": "^29.5.14", "@types/node": "^22.0.0", "@types/pg": "^8.16.0", "babel-jest": "^29.7.0", "eslint": "^9.23.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^28.11.0", "eslint-plugin-prettier": "^5.2.5", "globals": "^16.0.0", "jest": "^29.5.0", "jest-mock-extended": "4.0.0", "prettier": "^3.5.3", "ts-jest": "^29.3.0", "ts-node": "^10.9.1", "typescript": "^5.0.0", "typescript-eslint": "^8.28.0" }, "dependencies": { "@drasil/application": "file:packages/application", "@drasil/contracts": "file:packages/contracts", "@langfuse/otel": "^5.11.1", "@langfuse/tracing": "^5.11.1", "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "2.8.0", "@opentelemetry/exporter-trace-otlp-http": "0.219.0", "@opentelemetry/sdk-node": "0.219.0", "@opentelemetry/sdk-trace-base": "2.8.0", "@prisma/adapter-pg": "^7.9.0", "@prisma/client": "^7.9.0", "@supabase/supabase-js": "^2.49.3", "captcha-canvas": "3.4.0", "discord.js": "^14.18.0", "dotenv": "^16.4.7", "inversify": "^7.2.0", "openai": "^4.89.0", "pg": "^8.20.0", "posthog-node": "^5.35.1", "prisma": "^7.9.1", "reflect-metadata": "^0.2.2", "zod": "^3.25.76" }, "overrides": { "@opentelemetry/core": "2.8.0", "@opentelemetry/exporter-trace-otlp-proto": "0.219.0", "@opentelemetry/otlp-exporter-base": "0.219.0", "@opentelemetry/otlp-transformer": "0.219.0", "@opentelemetry/propagator-b3": "2.8.0", "@opentelemetry/propagator-jaeger": "2.9.0", "@opentelemetry/resources": "2.8.0", "@opentelemetry/sdk-logs": "0.219.0", "@opentelemetry/sdk-metrics": "2.8.0", "@opentelemetry/sdk-trace-base": "2.8.0", "@opentelemetry/sdk-trace-node": "2.8.0", "js-yaml": "4.3.2", "undici": "6.29.1" } }
Related Skills
Agent-Reach
103.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
77.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.6kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
89.9k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
