MCP, MCP server
io.github.anima-labs-ai/anima
The hosted MCP server behind https://mcp.useanima.sh — the recommended way to connect AI assistants to Anima.
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
OBFUSCATION_ENCODED_BLOB
Why this grade
- OBFUSCATION_ENCODED_BLOB Medium
Contains a long base64 shaped string in a file that should be readable.
src/shared/config.ts, line 49
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAALzUlEQVR4nO1ce2wcxRmfmZ3de/jsOOfEju3E5PyIYx4VCBJom6RqmoQkFEFFJdTCP1WhragEVKgVCMIfVVFpaVrRB39UCIqKkCJQn2oFSSCkBFwKDQpJI2Infsb4bcf2PXd
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Pass
No shell or command execution found, and no extra permission was declared.
Install and update
Concern
dependencies are not pinned.
INSTALL_UNPINNED
package.json, line 26
@modelcontextprotocol/sdk
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
src/shared/api-client.ts, line 98
const response = await fetch(url, fetchOptions);
src/shared/voice-socket.ts, line 283
const ws = new WebSocket(wsUrl);
src/tools/vault/vault/credential-ui.ts, line 147
try { const r = await fetch(state.fillEndpoint, { method: "POST", he
Show more
Dockerfile, line 23
CMD bun -e "fetch('http://127.0.0.1:8080/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"
Secrets
Note
reads an environment variable.
SECRETS_ENV_READ
src/shared/api-client.ts, line 214
const apiKey = process.env.ANIMA_API_KEY ?? "";
src/shared/api-client.ts, line 215
const masterKey = process.env.ANIMA_MASTER_KEY;
src/shared/config.ts, line 126
apiKey: process.env.ANIMA_API_KEY ?? "",
Show more
src/shared/config.ts, line 127
masterKey: process.env.ANIMA_MASTER_KEY,
src/transport/http.ts, line 388
process.env.OPENAI_APPS_CHALLENGE_TOKEN?.trim() ||
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains an encoded blob in a file that should be readable.
OBFUSCATION_ENCODED_BLOB
src/shared/config.ts, line 49
"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAALzUlEQVR4nO1ce2wcxRmfmZ3de/jsOOfEju3E5PyIYx4VCBJom6RqmoQkFEFFJdTCP1WhragEVKgVCMIfVVFpaVrRB39UCIqKkCJQn2oFSSCkBFwKDQpJI2Infsb4bcf2PXd
src/tools/vault/vault/credential-ui-sdk.js, line 1
var fI=Object.defineProperty;var dI=(r)=>r;function hI(r,i){this[r]=dI.bind(null,i)}var Lr=(r,i)=>{for(var v in i)fI(r,v,{get:i[v],enumerable:!0,configurable:!0,set:hI.bind(i,v)})}
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 994abe8df82f. dependencies are not pinned. can reach a host that is not written as a fixed address. reads an environment variable. contains an encoded blob in a file that should be readable.
Date and source
Date checked:
github.com
Commit graded: 994abe8df82f27d279f7a47d9a49869a075014e3
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.