deluge-mcp
A strict, beginner-friendly MCP server for Deluge syntax support, providing tools for validation, health checks, and curated knowledge packs.
README
deluge-mcp
A strict, beginner-friendly MCP server for Deluge syntax support.
Features
- Strict source curation (
www.zoho.com/deluge/help/**only) - Corrupt/noisy snippet rejection
- Tooling for:
deluge_healthdeluge_explaindeluge_validatedeluge_fixdeluge_exampleszoho_crm_js_examples
- MCP resources:
deluge://rules/v1deluge://cheatsheet/beginnerdeluge://topics/v1deluge://snippets/v1deluge://canonical-index/v1deluge://coverage/v1zoho://crm-js-sdk/snippets/v1zoho://crm-js-sdk/topics/v1zoho://crm-js-sdk/canonical-index/v1zoho://crm-js-sdk/coverage/v1
What's New In This PR
- Curated knowledge-pack pipelines for both Deluge and Zoho CRM JavaScript SDK.
- Canonical snippet model with:
canonicalKey,apiFamily,operation,version,stabilityrequiresScopes,requiresModulesampleVsReference,confidence,tier- merged
variantsand canonical index groups
- New retrieval controls in tools:
canonical_keytier(A|B|C)include_variants
- New MCP resources for governance and observability:
deluge://canonical-index/v1deluge://coverage/v1zoho://crm-js-sdk/canonical-index/v1zoho://crm-js-sdk/coverage/v1
deluge_healthnow reports curation metadata (schema version, coverage completion, missing keys, tier counts, variant stats).- Drift-control automation:
- weekly refresh workflows for Deluge and Zoho
- diff reports in
data/reports/ - manual review gate for Tier A canonical changes
- Added curation/retrieval test coverage and scenario-based smoke checks for both knowledge packs.
Setup
npm install
Install git hooks (usually auto-run via prepare on install):
npm run prepare
Project Governance
Repository policy and contribution docs:
CONTRIBUTING.mdCONTRIBUTORS.mdSECURITY.md
GitHub metadata files:
.github/CODEOWNERS.github/pull_request_template.md.github/ISSUE_TEMPLATE/*.github/dependabot.yml.github/labels.json
Code Quality Automation
This repo uses Biome + lint-staged + Husky:
- Pre-commit hook runs on staged
*.ts|*.tsx|*.js|*.mjs|*.cjs - Each staged file is linted and auto-formatted via
biome check --write
Manual commands:
npm run lint
npm run lint:fix
npm run format
Single command for the stable full suite:
npm run verify
Full suite including stdio checks:
npm run verify:full
Sync GitHub labels from repo config:
npm run labels:sync
Release
This repo includes a release helper with flags:
npm run release -- --help
Common release commands:
npm run release:patch
npm run release:minor
npm run release:major
npm run release:alpha
npm run release:beta
npm run release:rc
Flag-based examples:
npm run release -- --type prerelease --preid beta
npm run release -- --type minor --no-push
npm run release -- --type patch --skip-verify
npm run release -- --type patch --dry-run
Supported flags:
--type <patch|minor|major|prerelease>--preid <alpha|beta|rc|...>(used with--type prerelease)--skip-verify(skipnpm run verify)--no-push(create version commit/tag locally only)--allow-dirty(allow release on dirty working tree)--remote <name>(defaultorigin)--dry-run(print planned commands only)
Notes:
- Release flow runs
npm version ...(creates commit + tag), then pushes branch and tags. - This package is marked
"private": true, so this flow manages git versions/tags, not npm publish.
Ingest Context Data
Place your Context7 export in data/raw/context7.md and run:
npm run ingest -- data/raw/context7.md
Output is written to data/processed/snippets.json.
Build/refresh curated Deluge KB metadata (canonical index, tiers, coverage):
npm run kb:deluge
One-click helper:
npm run ingest:oneclick -- data/raw/context7.md data/processed/snippets.json
After ingest, re-apply Deluge curation:
npm run kb:deluge
Deluge Knowledge Curation
Schema: deluge-kb/v1
Curated Deluge snippets include:
canonicalKey(api_family.operation)apiFamily,operationversion,stabilityrequiresScopes,requiresModulesampleVsReferenceconfidenceandtier(A|B|C)variants(merged alternates)
Tier policy:
A: high-confidence production-safe referencesB: standard examples and usage patternsC: risky/error-path or lower-confidence references
Commands:
npm run kb:deluge
npm run kb:deluge:refresh
npm run kb:deluge:refresh:allow-tier-a
npm run kb:deluge:diff
Zoho CRM JS SDK Knowledge Pack (Context7)
The repo includes a curated knowledge pack for Context7 library:
- Library ID:
/zoho/zohocrm-javascript-sdk-8.0 - Raw seed file:
data/raw/zoho-crm-js-sdk-context7.md - Processed output:
data/processed/zoho-crm-js-sdk-snippets.json - Diff reports:
data/reports/zoho-crm-js-sdk-diff-report.jsondata/reports/zoho-crm-js-sdk-diff-report.md
Curation Model
Schema: zoho-crm-js-sdk-kb/v1
Each canonical snippet includes:
canonicalKey(api_family.operation)apiFamily,operationversion,stabilityrequiresScopes,requiresModulesampleVsReferenceconfidenceandtier(A|B|C)variants(merged alternates)
Tier policy:
A: production-safe reference patternsB: sample/demo usageC: structural reference fragments (APIDOC-heavy)
Build the pack:
npm run kb:zoho-crm-js-sdk
Refresh + diff + manual-review gate:
npm run kb:zoho-crm-js-sdk:refresh
Allow Tier A promotions after human review:
npm run kb:zoho-crm-js-sdk:refresh:allow-tier-a
Run diff only:
npm run kb:zoho-crm-js-sdk:diff
Run Server
npm run dev
or
npm run build && npm start
Smoke Tests
Primary smoke (in-memory MCP client/server):
npm run smoke
Optional stdio smoke (environment-dependent):
npm run smoke:stdio
Matrix smoke (extensible scenario-based checks):
npm run smoke:matrix
Retrieval quality scenario:
npm run smoke:retrieval
Zoho retrieval quality scenario:
npm run smoke:zoho-retrieval
Matrix smoke over stdio:
npm run smoke:matrix:stdio
Deep stdio diagnosis (pinpoints failing step):
npm run diagnose:stdio
Diagnose against a specific cwd/timeout:
npm run diagnose:stdio -- --cwd /absolute/path/to/project --timeout 180000
Diagnose an MCP config that starts with npm:
npm run diagnose:stdio -- --command npm --args-json '["run","dev"]' --cwd /absolute/path/to/project
Run a custom scenario file:
npm run build
node scripts/smoke-matrix.mjs --scenario scripts/scenarios/default-smoke.json
Local test shortcut (runs stdio smoke):
npm run test:local
Run both core smoke and matrix smoke:
npm run test:mcp
Example MCP client config (stdio)
{
"mcpServers": {
"deluge": {
"command": "node",
"args": ["/absolute/path/to/deluge-mcp/dist/src/index.js"]
}
}
}
Troubleshooting
If you see ENOENT or Could not read package.json, your MCP client is running the command in the wrong working directory.
- If using
npm run dev, set the MCP servercwdto this repo root. - For a portable setup, prefer direct node command:
{
"mcpServers": {
"deluge": {
"command": "node",
"args": ["/absolute/path/to/deluge-mcp/dist/src/index.js"]
}
}
}
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.