codelives-ainectoCAUTION
AiNecto MCP connector for workspace, document, ERD, diagram, task, and attachment workflows.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Published as ai-erd, @ai-erd/mcp and @ai-erd/cli — the same code. Command: ai-erd.
In a terminal, from your repository root: npx -y ai-erd@latest init — it asks which role this repository's AI sessions should have and which AiNecto project to use, and signs you in through the browser if needed.
For AI agents
Ask the user which role this repository's AI sessions should have — Design, Development, Test, or Validation. Never pick one yourself. Then, from the repository root: `npx -y ai-erd@latest init --role ` (it signs the user in through the browser if needed).
- Use a long command timeout (at least 6 minutes): sign-in waits up to 5 minutes for the user.
- If
initlists projects, ask the user which one and re-run with--project. If it says
this is not the repository root, re-run from the folder it names.
- No restart is needed. Right after
init, keep working in the same session through the CLI:
ai-erd commands run from the repository read its role on every call (read .ai-erd/HARNESS.md, then ai-erd tools list and ai-erd tools call ''). Do not use MCP tools the session started with for that work — they keep the role (or no role) the session started with.
- A new session is optional and only adds the role's MCP tools (Claude Code: exit, then
claude -c
in this folder to keep the conversation; approve the ai-erd server from .mcp.json when asked). Codex: save the profile init prints and start with codex -p .
- A server added during a session is not available in that session. In our test, a server added
with claude mcp add while Claude Code was running did not attach to the running session — that is why the CLI is the way to keep going. /mcp shows what the current session actually loaded.
- Inside the repository,
ai-erdcommands (ai-erd tools call ...) use the repository's role
automatically — do not pass --role; a d
ee6d505ccaa6OBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp -- npx -y @ai-erd/[email protected]
Exposed tools (3)
2 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
create_documents | write | Create documents. |
list_projects | read | |
mcp__ainecto__list_projects | read |
Trust audit
CAUTIONgrade D · trust 65/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- declared (7 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (20)
const url = new URL(req.url ?? "/", "http://127.0.0.1");
redirectUri: `http://127.0.0.1:${address.port}/callback`,token: "upload-token-redacted",
token: "upload-token-redacted",
token: "upload-token-redacted",
token: "upload-token-redacted",
token: "upload-token-redacted",
import { FileTokenStore } from "../../core/auth/tokenStore";import { OAuthClient } from "../../core/auth/oauth";import { resolveEndpoint, assertEnv, type AinectoEnv } from "../../core/config/endpoints";import { parsePayloadSource } from "../../core/input/payloadSource";import { McpRpcClient, isToolError } from "../../core/mcp/rpcClient";redirect_uris: ["http://127.0.0.1:1234/callback"],
"http://127.0.0.1:1234/callback",
"http://127.0.0.1:1234/callback",
@types/node, tsup, tsx, typescript, vitest
This exercises the full `attachments upload` flow against a local API dev server: OAuth MCP token
| D4 | 같은 HARNESS.DOC «Switching roles»(`HARNESS.DOC.en-US.md:46-55`, 레지스트리 r3 의 같은 절) | "Change the role in the MCP server configuration and start a new session: ... Or run `ai-erd init --role <...>`
If the user is not signed in for that role, it opens a browser and the user approves there. If it lists projects, ask the user which one and run it again with --project <uuid>. If there is no project
Gates applied: no_behavioural_pass, no_license.
ee6d505ccaa6full audit observations/trust-audit/mcp-server/codelives__ainecto.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | ee6d505ccaa6 | CAUTION | D | 65 | first audit |
Questions
What is the codelives-ainecto MCP server?
AiNecto MCP connector for workspace, document, ERD, diagram, task, and attachment workflows.
What tools does codelives-ainecto expose?
3 in total: 2 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is codelives-ainecto safe to connect to an agent?
With care. The audit graded it D (65/100) and found 20 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does codelives-ainecto need?
It reads AINECTO_CATALOG_SYNC_TOKEN and AINECTO_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does codelives-ainecto run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @ai-erd/mcp at 0.4.6.
How current is this page?
The grade is for one exact copy of the source (ee6d505ccaa6), read on 2026-10-12. The repository is watched and re-audited when it changes.