MCP server · Org-owned · Audited from source
Adeu MCP server
by dealfluence/adeuMIT licenceAudited 19 Sep 2026 · source 41e3aeab2c7c
Is it safe? With care — CAUTION, grade C (79/100). It exposes 5 tools: 4 read, 1 write and 0 destructive. The audit recorded 25 findings (0 critical, 0 high, 2 medium, 23 low). Maintainer's description: docx ↔ LLM translator. Projects .docx office files to Markdown for editing. Projects edits back to OOXML as tracked changes (redlines). Python and Node.js implementations.
Cite
Cite this page
ModelsAtlas. “Adeu MCP server (dealfluence/adeu)”. Retrieved 19 Sep 2026. https://modelsatlas.com/mcp/dealfluence/adeu
Trust audit
Audit 0.4.1 · full source read 19 Sep 2026
25 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.
What the source does
- FilesystemDeclared1 observation
- NetworkDeclared5 observations
- ShellNone observedNothing seen in the source
- DependenciesNot pinnedSome ranges float
- SecretsFoundSee the findings
“Declared” means the server says it does this and the source agrees. Browser, file and shell access are expected of some kinds of server.
Five audit layers
| Layer | What we check | Result |
|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS 6 findings |
L1 Static source | Secrets, path traversal, supply chain | WARN 16 findings |
L2 Instructions | Prompt injection and authority framing in docs and tool descriptions | PASS 3 findings |
L3 Inventory | Declared tools match the source | PASS |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED |
Provenance & runtime
Who published it, and what the audit could and could not run
Provenance
- Repository owner
dealfluenceOrganizationAccount type recorded when we read the repository. - PackagePublished on npm
n8n-nodes-adeuat version 3.0.6 - LicenceMITFrom the repository, as read at the audited commit.
- Last push2 days agoActivity of the repository when we read it.
- Source commit read41e3aeab2c7cThe audit covers exactly this commit, read on 19 Sep 2026.
Runtime
- Sandbox runNot run yetThis audit read the source only; it did not execute the server.
- Tool inventory5 declaredRead from the source and classed read, write or destructive.
Every value here is read from the record's own repository and audit.Suggest a correction
Findings (25)
Sorted by severity
MEDIUMHard-coded secretssecret.generic · node/packages/core/src/repro_qa_report_v9.test.ts:39
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · python/tests/test_repro_qa_report_v9.py:55
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInventory / provenanceinv.binary · node/packages/mcp-server/tests/fixtures/gap1_deleted_row_repro.docx
gap1_deleted_row_repro.docx
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
LOWInventory / provenanceinv.binary · node/packages/mcp-server/tests/fixtures/gap1_minimal_repro.docx
gap1_minimal_repro.docx
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
LOWInventory / provenanceinv.binary · node/packages/mcp-server/tests/fixtures/gap2_minimal_repro.docx
gap2_minimal_repro.docx
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
LOWInventory / provenanceinv.binary · shared/conformance/fixtures/comments_threads.docx
comments_threads.docx
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
LOWInventory / provenanceinv.binary · shared/conformance/fixtures/dense_175.docx
dense_175.docx
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
LOWInventory / provenanceinv.suspicious_name · node/packages/core/src/diff-payload.test.ts
diff-payload.test.ts
- Why
- member named after an attack tool
- Fix
- remove or justify
LOWFilesystem / pathfs.traversal · node/packages/core/src/consistency.test.ts:28
"../../../../shared/cross_platform_tests",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · node/packages/core/src/consistency.test.ts:32
"../../../../python/scripts/abstract_xml.py",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · node/packages/core/src/consistency.test.ts:34
const PYTHON_DIR = resolve(__dirname, "../../../../python");
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · node/packages/core/src/ingest.test.ts:13
const fixturePath = resolve(__dirname, '../../../../shared/fixtures/golden.docx');
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · node/packages/core/src/ingest.test.ts:32
const fixturePath = resolve(__dirname, '../../../../shared/fixtures/golden.docx');
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.decode_call · python/src/adeu/mcp_components/tools/live_word.py:99
parts_data[zip_name] = base64.b64decode(b64_data)
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.decode_call · python/tests/test_repro_qa_report_v7.py:116
MINIMAL_PNG_RED = bytes.fromhex(
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.decode_call · python/tests/test_repro_qa_report_v7.py:121
MINIMAL_PNG_BLUE = bytes.fromhex(
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.zero_width · python/tests/test_cli_encoding.py:159
assert "" not in text
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.zero_width · python/tests/test_repro_qa_report_v5.py:993
unicode_doc.add_paragraph("Zero-width and NBSP characters survive.")- Why
- No further detail recorded for this rule.
- Fix
- —
LOWSupply chainsupply.unpinned · node/package.json
@types/node, tsup, typescript, vitest
- Why
- 4 dependency range(s) float
- Fix
- pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · node/packages/core/package.json
diff-match-patch, fflate, @types/diff-match-patch, @xmldom/xmldom, typescript
- Why
- 5 dependency range(s) float
- Fix
- pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · node/packages/mcp-server/package.json
@adeu/core, @modelcontextprotocol/sdk, @modelcontextprotocol/ext-apps, typescript
- Why
- 4 dependency range(s) float
- Fix
- pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · node/packages/n8n-nodes-adeu/package.json
@adeu/core, @n8n/eslint-plugin-community-nodes, @types/node, @typescript-eslint/parser, copyfiles, eslint, n8n-workflow, tsup
- Why
- 10 dependency range(s) float
- Fix
- pin exact versions or ship a lockfile
LOWPrompt injectionprompt.credential_read · docs/spec-finalization.md:55
**Mode: `read_only`** (Anyone can open it, but cannot edit it without a password)
- Why
- asks the agent to read credentials
- Fix
- —
LOWPrompt injectionprompt.credential_read · docs/spec-finalization.md:109
--read-only "MySecretPassword" \
- Why
- asks the agent to read credentials
- Fix
- —
LOWPrompt injectionprompt.transfer_instruction · docs/FREE_AGENT_PROBLEM.md:10
This configuration establishes a rigid architectural gate. The agent executes within a self-contained, reproducible, and verifiable Docker runtime. This runtime provides immutable isolation, ensuring
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
Tools it exposes
5 declared in source · 0 destructive
| Tool | Risk | What it does |
|---|---|---|
apply_text_revision | write | No description in the source |
accept_all_changes | read | No description in the source |
diff_docx_files | read | No description in the source |
finalize_document | read | No description in the source |
process_document_batch | read | No description in the source |
Install
Package version 3.0.6 · audited commit 41e3aea
Read the findings first. The most severe is Hard-coded secrets (medium) at node/packages/core/src/repro_qa_report_v9.test.ts.
claude mcp add mcp-server -- npx -y @adeu/[email protected]
The command pins the package version recorded in the source (3.0.6); the audit covers commit 41e3aeab2c7c. Transport: stdio. Reads these environment variables: ADEU_API_KEY, ADEU_AUTHOR. Give it the narrowest token it needs.
Audit history
- !CAUTION C 79 / 100
Source changed, verdict held ·
41e3aeab2c7c - !CAUTION C 79 / 100
First audit ·
cc19a08bf8f5
README badge
For maintainers · updates on every re-audit
[](https://modelsatlas.com/mcp/dealfluence/adeu/)
The badge always shows the latest audit; a maintainer cannot pin an old verdict.
Other ratings
Cited, never blended into our score
No third-party security ratings are recorded for this server yet. When they exist they appear here with their source and date, beside, not inside, our grade.
Questions about Adeu MCP server
What is the Adeu MCP server?
What tools does Adeu expose?
Is Adeu safe to connect to an agent?
What credentials does Adeu need?
How does Adeu run?
How current is this page?
Sources
- dealfluence/adeu on GitHub — the source we read, its licence, stars and activityObserved · 19 Sep 2026
- ModelsAtlas trust audit — CAUTION verdict for commit 41e3aeab2c7cObserved · 19 Sep 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What is the Adeu MCP server?
- What tools does Adeu expose?
- Is Adeu safe to connect to an agent?