Self-hosted AI knowledge base with hybrid semantic search (pgvector + FTS + RRF), MCP server, multi-provider LLM inference (Ollama, OpenAI, OpenRouter, llama.cpp), multimodal ingestion (vision, audio transcription, speaker diarization), and knowledge graph. Rust + PostgreSQL.
Drift inferred · capture-to-capture
tool count over time
tools
-
capture_knowledge
Create, update, and manage notes
-
explore_graph
Knowledge graph traversal
-
get_knowledge_health
Dashboard for orphans, stale notes, cold spots
-
manage_archives
Multi-memory archive operations
-
manage_attachments
File upload, metadata, and retrieval
-
manage_backups
Backup and restore operations
-
manage_collection
Collection hierarchy operations
-
manage_concepts
W3C SKOS concept and scheme management
-
manage_embeddings
Embedding set configuration and lifecycle
-
manage_encryption
Public-key encryption and key management
-
manage_inference
Provider configuration and model selection
-
manage_jobs
Background job monitoring
-
manage_tags
Tag lifecycle and vocabulary management
-
record_provenance
Track knowledge lineage and sourcing
-
search
Hybrid search with tag filtering and federation
-
trigger_graph_maintenance
Graph quality pipeline
-
upsert_external_notes
Atomic, replay-safe persistence for externally managed notes
analyzed commit 306bae5 · analyzer v33 · 23h ago
skills & prompt files 4
danger signals3
- dynamic code execution eval() Fortemi-fortemi-306bae5/mcp-server/tests/annotations.test.js :46
tools = eval(`(function() { return ${bracketContent.replace(/;\s*$/, "")} })()`); - dynamic code execution eval() Fortemi-fortemi-306bae5/mcp-server/tests/schema-validation.test.js :44
tools = eval(`(function() { return ${bracketContent.replace(/;\s*$/, "")} })()`); - dynamic code execution new Function() Fortemi-fortemi-306bae5/mcp-server/validate-schemas.cjs :66
tools = new Function('path', 'return ' + arrayLiteral)(path);
code files: 706
filesystem 72
- fs (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/fixture-issuer-client.mjs :3
import { readFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/fixture-issuer.mjs :4
import { readFileSync, writeFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/installed-http-consumer.mjs :2
import { readFileSync, writeFileSync, realpathSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/worker-sse-consumer.mjs :2
import {readFileSync, writeFileSync} from 'node:fs'; - fs Fortemi-fortemi-306bae5/mcp-server/apply-updates.js :7
const fs = require('fs'); - fs Fortemi-fortemi-306bae5/mcp-server/index.js :13
import fs from "node:fs"; - fs Fortemi-fortemi-306bae5/mcp-server/lib/dataset-capability-validation.js :1
import fs from "node:fs"; - fs Fortemi-fortemi-306bae5/mcp-server/lib/dataset-execution.js :2
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-chunk-tools.js :11
const fs = require('fs'); - fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-document-type-tools.cjs :10
const fs = require('fs'); - fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-list-document-types-detail.js :11
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-new-chunk-tools.js :12
import fs from 'fs';
show 28 more
- fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-pke-keyset-tools.js :22
import { mkdirSync, rmSync, existsSync, readdirSync, readFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-reembed-tool-exists.js :7
import fs from 'fs'; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-strict-filter.js :6
import { readFileSync } from 'fs'; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/test-verify-annotations.js :18
import { readFileSync } from 'fs'; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/annotations.test.js :19
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/branding.test.js :3
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/dataset-capability-validation.test.js :2
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/dataset-execution.test.js :3
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/error-responses.test.js :15
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/output-sanitizer.test.js :2
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/preflight.test.js :19
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/schema-validation.test.js :15
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/mcp-server/tests/uat-core-coverage.test.js :3
import fs from "node:fs"; - fs Fortemi-fortemi-306bae5/mcp-server/update-chunk-tools.js :7
const fs = require('fs'); - fs Fortemi-fortemi-306bae5/mcp-server/validate-schemas.cjs :15
const fs = require('fs'); - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-fixture.mjs :4
import { readFileSync, writeFileSync, mkdtempSync, mkdirSync, rmSync, existsSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-operations.mjs :4
import { readFileSync, writeFileSync, mkdtempSync, mkdirSync, rmSync, existsSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-remote-adapter-fixture.mjs :4
import { mkdirSync, writeFileSync } from 'node:fs' - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/docs-contract.cjs :5
const fs = require("node:fs"); - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/remote-negative-controls.mjs :3
import { readFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/remote-negative-controls.test.mjs :2
import { readFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-dataset-execution-contract.mjs :5
import fs from "node:fs"; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-dataset-qualification-graph.mjs :3
import fs from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-dataset-qualification-graph.test.mjs :2
import fs from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-native-remote-fixture.mjs :3
import { readFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-native-remote-fixture.test.mjs :4
import { readFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-native-remote-operations.mjs :3
import { readFileSync } from 'node:fs'; - fs (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-native-remote-operations.test.mjs :4
import { readFileSync } from 'node:fs';
32 more not shown — this panel samples each group; the count above is the real total.
shell / exec 17
- shell (weak) Fortemi-fortemi-306bae5/mcp-server/test-comprehensive-agentic.js :27
import { spawn } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/mcp-server/test-mcp-connectivity.js :21
import { spawn } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/mcp-server/test-pke-keyset-tools.js :18
import { spawn, execSync } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/mcp-server/tests/dataset-execution.test.js :6
import { spawn } from "node:child_process"; - shell (weak) Fortemi-fortemi-306bae5/mcp-server/tests/session-expiry.test.js :5
import { spawn } from "node:child_process"; - shell (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-fixture.mjs :2
import { spawn, spawnSync } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-operations.mjs :2
import { spawn, spawnSync } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-remote-adapter-fixture.mjs :2
import { execFileSync } from 'node:child_process' - shell (weak) Fortemi-fortemi-306bae5/scripts/ci/remote-negative-controls.test.mjs :3
import { spawnSync } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-native-remote-fixture.test.mjs :2
import { spawnSync } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-native-remote-operations.test.mjs :2
import { spawnSync } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/ci/verify-remote-negative-package.mjs :2
import { spawnSync } from 'node:child_process';
show 5 more
- shell (weak) Fortemi-fortemi-306bae5/scripts/qualification/admit-matrix.test.mjs :6
import { spawn } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/qualification/check-arrival-reference.mjs :3
import { execFile } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/qualification/collect-postgres-load.mjs :1
import { execFile } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/qualification/collect-postgres-load.test.mjs :6
import { execFileSync } from 'node:child_process'; - shell (weak) Fortemi-fortemi-306bae5/scripts/qualification/supervise-load-process.mjs :4
import { spawn } from 'node:child_process';
network 24
- net (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/fixture-issuer-client.mjs :2
import { request } from 'node:https'; - net (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/fixture-issuer.mjs :2
import { createServer } from 'node:https'; - net (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/installed-http-consumer.mjs :51
const response=await fetch(fixture.url+path,{headers:{authorization:'Bearer '+token,'X-Fortemi-Memory':f.memory},signal:AbortSignal.timeout(5000),redirect:'error'}); - net (weak) Fortemi-fortemi-306bae5/crates/matric-api/src/scoped_search_tests/worker-sse-consumer.mjs :53
const response=await fetch(url,{...options,redirect:'error'}); - net Fortemi-fortemi-306bae5/mcp-server/index.js :130
const response = await fetch(url, options); - net (weak) Fortemi-fortemi-306bae5/mcp-server/test-comprehensive-agentic.js :83
const response = await fetch(`${API_BASE}/oauth/register`, { - net (weak) Fortemi-fortemi-306bae5/mcp-server/test-issue-362-detailed.js :16
const response = await fetch(`${API_BASE}${path}`, config); - net (weak) Fortemi-fortemi-306bae5/mcp-server/test-issue-362.js :21
const response = await fetch(`${API_BASE}${path}`, config); - net (weak) Fortemi-fortemi-306bae5/mcp-server/test-mcp-connectivity.js :72
const response = await fetch(`${API_BASE}/oauth/token`, { - net (weak) Fortemi-fortemi-306bae5/mcp-server/test-metadata-regression.js :22
const response = await fetch(`${API_BASE}${path}`, options); - net (weak) Fortemi-fortemi-306bae5/mcp-server/test-reembed-all.js :32
const response = await fetch(`${API_BASE}${path}`, config); - net (weak) Fortemi-fortemi-306bae5/mcp-server/test-update-note-returns-entity.js :20
const response = await fetch(`${API_BASE}${path}`, config);
show 12 more
- net (weak) Fortemi-fortemi-306bae5/mcp-server/tests/attachments.test.js :62
const response = await fetch(info.upload_url, { - net (weak) Fortemi-fortemi-306bae5/mcp-server/tests/helpers/mcp-client.js :51
const resp = await fetch(`${this.baseUrl}/`, { - net (weak) Fortemi-fortemi-306bae5/mcp-server/tests/links.test.js :305
const request = () => fetch(endpoint, { - net (weak) Fortemi-fortemi-306bae5/mcp-server/tests/session-expiry.test.js :6
import net from "node:net"; - net (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-fixture.mjs :42
const response = await fetch(base + path, { ...options, signal: AbortSignal.timeout(5000) }); - net (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-operations.mjs :45
const response = await fetch(base + path, { ...options, signal: AbortSignal.timeout(5000) }); - net (weak) Fortemi-fortemi-306bae5/scripts/ci/capture-remote-adapter-fixture.mjs :23
const response = await fetch(new URL(path, base), { - net (weak) Fortemi-fortemi-306bae5/scripts/ci/remote-negative-controls.mjs :4
import { createServer } from 'node:http'; - net (weak) Fortemi-fortemi-306bae5/scripts/qualification/check-arrival-reference.mjs :1
import { createServer } from 'node:http'; - net (weak) Fortemi-fortemi-306bae5/scripts/qualification/collect-queue-load.test.mjs :3
import http from 'node:http'; - net (weak) Fortemi-fortemi-306bae5/scripts/qualification/load-api-transport.mjs :57
response = await fetch(url, { method, body: bytes, redirect: 'manual', signal: controller.signal, - net (weak) Fortemi-fortemi-306bae5/scripts/qualification/load-api-transport.test.mjs :3
import http from 'node:http';
secrets 7
- secrets Fortemi-fortemi-306bae5/mcp-server/index.js :56
const API_KEY = process.env.FORTEMI_API_KEY || null; - secrets (weak) Fortemi-fortemi-306bae5/mcp-server/test-comprehensive-agentic.js :36
let API_KEY = process.env.MATRIC_MEMORY_API_KEY; - secrets (weak) Fortemi-fortemi-306bae5/mcp-server/test-document-type-tools-e2e.js :126
process.env.API_KEY = 'test-key'; - secrets (weak) Fortemi-fortemi-306bae5/mcp-server/test-mcp-connectivity.js :30
let API_KEY = process.env.MATRIC_MEMORY_API_KEY; - secrets (weak) Fortemi-fortemi-306bae5/mcp-server/test-reembed-all.js :14
const API_KEY = process.env.MATRIC_MEMORY_API_KEY; - secrets (weak) Fortemi-fortemi-306bae5/mcp-server/tests/helpers/mcp-client.js :20
this.apiKey = apiKey || process.env.FORTEMI_API_KEY || null; - secrets (weak) Fortemi-fortemi-306bae5/mcp-server/tests/links.test.js :296
const bearer = process.env.FORTEMI_API_KEY;
declared dependencies 51
- @pagenary/publisher@^2026.7.16
- matric-core@*
- matric-db@*
- matric-search@*
- matric-inference@*
- matric-crypto@*
- matric-jobs@*
- matric-api@*
- fortemi-auth-clerk@=2026.9.0
- fortemi-auth-core@=2026.9.0
- serde@1
- serde_json@1
show 28 more
- pgvector@0.4.1
- tokio@1
- reqwest@0.12
- uuid@1
- chrono@0.4
- bigdecimal@0.4
- sha2@0.10
- hex@0.4
- md5@0.7
- similar@2
- regex@1
- rand@0.8
- base64@0.22
- ring@0.17.14
- image@0.25
- infer@0.16
- dotenvy@0.15
- blake3@1.5
- dirs@5
- toml@0.8
- mailparse@0.16
- calamine@0.26
- zip@2
- tar@0.4
- flate2@1
- schemars@0.8
- serde_yaml@0.9
- thiserror@1
11 more not shown — this panel samples each group; the count above is the real total.
obfuscation 3
- dynamic require()/import() Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-fixture.mjs :57
core = await import(pathToFileURL(scratch + '/node_modules/@fortemi/core/dist/index.js')); - dynamic require()/import() Fortemi-fortemi-306bae5/scripts/ci/capture-native-remote-operations.mjs :60
core = await import(pathToFileURL(scratch + '/node_modules/@fortemi/core/dist/index.js')); - dynamic require()/import() Fortemi-fortemi-306bae5/scripts/ci/verify-remote-negative-package.mjs :41
const core = await import(pathToFileURL(scratch + '/node_modules/@fortemi/core/dist/index.js'));