Project memory for Cursor and AI coding agents: intuition served through MCP.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 5 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
get_analysis_artifact
Return a named analysis artifact: dependency-map (JSON), decision-log, api-contracts, project-map, architecture-summary, or task-memory.
-
get_project_context
Load stack, insight, and recent facts without a search query.
-
get_project_insight
Return synthesized project, approach, and integration insight, optionally filtered by topic.
-
record_solution
After a non-trivial fix, store problem + solution so future sessions need less exploration.
-
search_knowledge
Search facts, solutions, and insight mid-session before grepping or reading many files.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit ba97b91 · analyzer v17 · 2d ago
skills & prompt files 2
evidence-backed
findings quoted directly from the published source artifact — not inferred
filesystem 75
- fs froggy523-froggy-aura-ba97b91/scripts/bump-version.js :13
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/gen-app-icon.cjs :1
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/patch-code-analysis.cjs :1
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/patch-code-index-store.cjs :1
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/patch-hint-quality-crlf.js :1
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/patch-inventory-table.cjs :1
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/patch-session-bootstrap.cjs :1
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/release.js :21
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/scripts/verify-build.js :4
const fs = require("fs"); - fs froggy523-froggy-aura-ba97b91/src/core/analysis-artifacts.ts :2
import { mkdir, readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/app-settings-path.ts :1
import { accessSync } from "node:fs"; - fs froggy523-froggy-aura-ba97b91/src/core/app-settings-store.ts :1
import { mkdir, readFile, writeFile } from "node:fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/architecture-doc-chunks.ts :2
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/architecture-doc-policy.ts :1
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/architecture-doc.ts :2
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/aura-config-store.ts :1
import { mkdir, readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/code-index-augment.ts :1
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/code-index-store.ts :1
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/context-gap-store.ts :1
import { appendFile, readFile, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/cursor-integration.ts :1
import { access, mkdir, readFile, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/cursor-mcp-config.ts :1
import { access, mkdir, readFile, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/cursor-project-memory.ts :1
import { access, mkdir, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/embedding-index-lock.ts :1
import { mkdir, open, readFile, stat, unlink } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/gap-learnings-reset.ts :1
import { unlink } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/gap-playbook-rule-export.ts :1
import { mkdir, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/gap-playbook-store.ts :1
import { readFile, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/gather-lock.ts :1
import { mkdir, open, readFile, stat, unlink } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/heavy-debug-log.ts :1
import { access, open, stat } from "node:fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/hook-append-log.ts :1
import { appendFile, mkdir, readFile, readdir, rename, stat, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/hook-background.ts :2
import { appendFile, mkdir, writeFile } from "node:fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/hook-env.ts :1
import { appendFileSync, mkdirSync } from "fs"; - fs froggy523-froggy-aura-ba97b91/src/core/hook-stats.ts :1
import { access, readFile, rm, unlink } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/insight-lifecycle-store.ts :1
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/insight-store.ts :2
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/jsonl-tail.ts :1
import { open } from "node:fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/knowledge-lifecycle-store.ts :1
import { writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/knowledge-reconcile-store.ts :1
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/knowledge-reconcile-validate.ts :1
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/knowledge.ts :2
import { appendFile, readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/mcp-serve-log.ts :1
import { appendFile, readFile, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/mcp-serve-stats.ts :1
import { readFile, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/memory-store.ts :1
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/model-registry-store.ts :1
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/ollama-cli.ts :2
import { access } from "node:fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/passthrough-stats.ts :1
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/paths.ts :1
import { access, mkdir, rename } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/purge-project-data.ts :1
import { unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/registry.ts :2
import { readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/remove-project.ts :1
import { access, rm } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/retrieval-rl-history-store.ts :1
import { appendFile, readFile, unlink, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/semantic-map-digest.ts :2
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/semantic-map-store.ts :1
import { readFile, stat, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/session-prepare-hook.ts :1
import { mkdir, readFile, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/stop-hook-ingest-pending.ts :1
import { readFile, unlink, writeFile } from "node:fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/stop-hook-ingest-runner.ts :1
import { unlink } from "node:fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/transcript-archive-store.ts :1
import { mkdir, readdir, readFile, rm, writeFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/transcript-distill.ts :1
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/transcript-ingest.ts :9
import { readFile, stat } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/transcript-parse.ts :1
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/core/worker-script-path.ts :1
import { existsSync, readFileSync } from "node:fs"; - fs froggy523-froggy-aura-ba97b91/src/gather/code-analysis.ts :2
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/csharp.ts :1
import { readFile, readdir } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/cursor-transcripts.ts :1
import { readdir, stat } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/detect-stack.ts :1
import { readdir } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/docs.ts :1
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/java.ts :1
import { readFile, readdir } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/module-purpose.ts :1
import { readFile, readdir } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/react-ts.ts :1
import { access, readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/registries.ts :1
import { readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/scan-utils.ts :3
import { access, readFile, readdir } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/structure.ts :1
import { access, readdir, readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/gather/verified-structure.ts :1
import { access, readFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/main/gather-scheduler.ts :1
import { watch, type FSWatcher } from "fs"; - fs froggy523-froggy-aura-ba97b91/src/main/heavy-log-bridge.ts :1
import { appendFile } from "fs/promises"; - fs froggy523-froggy-aura-ba97b91/src/main/windowStateStore.ts :2
import { mkdir, readFile, writeFile } from "fs/promises";
shell / exec 7
- shell froggy523-froggy-aura-ba97b91/scripts/release.js :20
const { spawnSync } = require("child_process"); - shell froggy523-froggy-aura-ba97b91/scripts/verify-build.js :3
const { spawnSync } = require("child_process"); - shell froggy523-froggy-aura-ba97b91/src/core/hook-background.ts :1
import { spawn } from "node:child_process"; - shell froggy523-froggy-aura-ba97b91/src/core/ollama-cli.ts :1
import { execFile } from "node:child_process"; - shell froggy523-froggy-aura-ba97b91/src/gather/scan-utils.ts :1
import { execFile } from "child_process"; - shell froggy523-froggy-aura-ba97b91/src/main/gather-scheduler.ts :2
import { execFile } from "child_process"; - shell froggy523-froggy-aura-ba97b91/src/main/mcpProcess.ts :1
import { fork, type ChildProcess } from "node:child_process";
network 10
- net froggy523-froggy-aura-ba97b91/src/core/embedding-input-probe.ts :88
const response = await fetch(`${ollamaBaseUrl(config)}/api/show`, { - net froggy523-froggy-aura-ba97b91/src/core/ollama-embed.ts :117
const response = await fetch(url, { - net froggy523-froggy-aura-ba97b91/src/core/ollama.ts :38
const res = await fetch(url, { ...init, signal: controller.signal }); - net froggy523-froggy-aura-ba97b91/src/main/mcpProcess.ts :66
const res = await fetch(healthUrl); - net froggy523-froggy-aura-ba97b91/src/mcp/httpHost.ts :2
import type { Server } from "node:http"; - net froggy523-froggy-aura-ba97b91/src/mcp/passthrough/chat-completions.ts :51
const upstream = await fetch(`${openAiBase(config)}/chat/completions`, { - net froggy523-froggy-aura-ba97b91/src/mcp/passthrough/embeddings.ts :35
const upstream = await fetch(`${openAiBase(config)}/embeddings`, { - net froggy523-froggy-aura-ba97b91/src/mcp/passthrough/mock-llm-servers.ts :1
import { createServer, type IncomingMessage, type Server, type ServerResponse } from "node:http"; - net froggy523-froggy-aura-ba97b91/src/mcp/passthrough/responses.ts :146
const upstream = await fetch(`${openAiBase(config)}/responses`, { - net froggy523-froggy-aura-ba97b91/src/mcp/passthrough/upstream.ts :46
fetch(`${ollamaBase(config)}${path}`, init),
secrets 1
- secrets froggy523-froggy-aura-ba97b91/scripts/release.js :44
const token = process.env.GH_TOKEN || process.env.GITHUB_TOKEN;
declared dependencies 20
- @modelcontextprotocol/sdk@^1.29.0
- electron-updater@^6.6.2
- mermaid@^11.15.0
- react@^19.1.0
- react-dom@^19.1.0
- react-markdown@^10.1.0
- remark-gfm@^4.0.1
- typescript@^5.8.3
- zod@^4.4.3
- @types/express@^5.0.6
- @types/react@^19.1.2
- @types/react-dom@^19.1.2
- @vitejs/plugin-react@^4.4.1
- cross-env@^7.0.3
- electron@^36.2.0
- electron-builder@^26.8.1
- electron-vite@^3.1.0
- express@^5.2.1
- tsx@^4.19.4
- vite@^6.3.5