Filamind AI v1.3.0
[1.3.0] — 2026-05-27
MCP — Model Context Protocol runtime + 8 Tier-A tool servers · أول إصدار يمنح المساعد القدرة على استدعاء أدوات حقيقية أثناء المحادثة.
Added — MCP Runtime
package/bin/mcp_runtime.py(~300 lines) — in-process MCP-style tool registry with:ToolServerbase class +Tooldescriptor (name, JSON-schema parameters, handler,sensitiveflag for audit-log redaction).- Format adapters:
tool.as_openai()/tool.as_anthropic()(input_schema) /tool.as_gemini()(function_declarations). One source of truth, three cloud-provider wire formats. registry.call(tool, args, user_id, agent_id, hop)— dispatches, audit-logs, and enforces:- Rate limit: 60 calls/hour/user (configurable, sliding window).
- Hop limit: 8 tool-call hops per chat turn (prevents runaway loops).
- SQLite audit log at
/var/packages/FilamindAI/etc/mcp.dbwithmcp_audit(id, ts, user_id, agent_id, tool, server, args_json, result_size, duration_ms, ok, error) andmcp_servers(name, enabled, config_json) tables. Indexed onts DESCand(user_id, ts DESC)for fast UI queries. - Sensitive-args redaction — tools marked
sensitive=True(e.g.shell.run) get<redacted>in the audit log instead of the raw arguments.
Added — 8 built-in Tool servers (Tier A)
calculator.eval— safe arithmetic via AST whitelist. Allows+ - * / // % **,abs/round/min/max/sum/len/pow/int/float, and constantspi,e. Blocksimport, attribute access, lambdas, and unknown names.datetime.now/.parse/.offset— current time (UTC + local + epoch + weekday), parse 7+ common formats, add/subtract seconds.memory.set/.get/.list/.delete— persistent KV store in SQLite, 128-char key cap, 4 KB value cap.nas_info.snapshot— CPU count + load averages, total/available memory, disk usage per/volume*, GPU presence (/dev/nvidia*), uptime, hostname.filesystem.read_file/.list_dir— UTF-8 file read + directory listing under admin-definedallow_roots(defaults:/volume1/FilamindAI/shared,/volume1/AI/shared). 256 KB read cap. Path-traversal blocked viarealpath+commonpathcheck.fetch.get— HTTPS GET againstallow_hosts(defaults: github.com, huggingface.co, wikipedia.org, duckduckgo.com). 200 KB body cap, 10s timeout. Resolves DNS and refuses any private/RFC1918 IP (defeats DNS rebinding).shell.run— execute a command only if its exact string is in the admin'sallow_commandslist. Default list is empty → disabled until opted in. Suggests safe defaults:uptime,df -h,free -h,uname -a,date,hostname. Markedsensitiveso args don't appear in the audit log.sqlite.query— read-only SELECT against SQLite files under allow-listed roots. Returns max 200 rows. Refuses anything that doesn't start withSELECT(case-insensitive).
Added — Daemon endpoints
GET /api/mcp/servers— list registered servers + their tools + enabled state.GET /api/mcp/tools— flat list of all enabled tools (used by future cloud-provider tool-injection).GET /api/mcp/audit(admin) — last 100 audit log entries.POST /api/mcp/servers/<name>/toggle(admin) —{"enabled": true|false}enable / disable.POST /api/mcp/call— execute a tool. Body:{"tool": "calculator.eval", "args": {"expression": "2+2"}}. Returns{ok, result, server, duration_ms}or{ok:false, error, type}on tool-not-found / rate-limit / hop-limit.
Added — UI (Settings → MCP)
- Replaces the v1.2.0 "Coming in v1.3" placeholder with a real management surface:
- Server list with per-server enable/disable toggle, tool count, expandable tool descriptions.
- Tool tester — dropdown of all enabled tools + JSON arg input + Run button + result viewer.
- Audit log viewer (admin only) — last 100 calls in a sortable table: timestamp, tool, duration, success/error.
- Roadmap card listing Tier-B cloud integrations (Brave/Tavily search, GitHub, Home Assistant, Synology APIs) shipping in v1.3.1.
- 18 new i18n keys under
mcp.*in bothen.jsonandar.json(natural Arabic phrasing — "قائمة الأدوات" / "سجل التدقيق").
Not yet wired (will follow in v1.3.0.x patches)
- Tool-call loop in
_chat_router— endpoint-level tool injection per provider + auto-execution of returnedtool_calls+ multi-hop continuation. The runtime supports it; the chat router hasn't been touched yet. - Per-agent allow-lists — agents table will get a
toolsJSON column; admin UI will pick which tools each agent can call. - Tier C subprocess servers (puppeteer, real git, pdf) — needs Node.js bundled with the SPK; deferred to v1.4.
Build / install
- New files inside the SPK:
package/bin/mcp_runtime.py,package/bin/mcp_servers.py. The daemon adds them tosys.pathat boot and lazy-imports, so a missing/broken MCP module degrades gracefully (the daemon still serves chat). mcp.dbcreated on first boot underetc/. No migration needed for existing installs.
Install · التثبيت
Recommended (one-click updates): add the Package Source URL once:
DSM → Package Center → Settings → Package Sources → Add
Location:https://filamind-app.github.io/filamind-ai/
Manual install: download the SPK matching your device and upload via Package Center → Manual Install.
| Device | SPK |
|---|---|
| DVA 3221 (GTX 1650, CUDA) | Filamind-1.3.0-dva3221.spk |
| DS1821+ (Ryzen V1500B, CPU AVX2) | Filamind-1.3.0-ds1821-plus.spk |