itaca
Provides detection and configuration context for projects using Cloudflare.
Provides detection and configuration context for projects using Expo.
Provides detection and configuration context for projects using GitHub.
Provides detection and configuration context for projects using PostHog.
Provides detection and configuration context for projects using Sentry.
Provides detection and configuration context for projects using Stripe.
Provides detection and configuration context for projects using Supabase.
Provides detection and configuration context for projects using Vercel.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@itacabrief me on every project under ~/dev before we start"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
A local-first registry of every project on your machine, exposed to your coding agents via MCP.
Switching projects costs you 10–15 minutes of agent context rebuilding, every time: what is this repo, what stack, which dashboards, where was I? The information already exists — scattered across package.json, config files and your own head. itaca derives it, keeps it fresh by construction, and serves it to any MCP client in a briefing capped at ~600 tokens.
No cloud. No accounts. No telemetry. Your .env files are read for pattern
matching only — values never leave your machine, and a CI-enforced test
suite keeps it that way.
Quickstart
bun add -g @itacajs/cli # or: bunx @itacajs/cli <command>
itaca scan ~/dev # one command: every project, stack and service detected
itaca list # what's on this machine
itaca brief # "where was I?" — run inside any project
itaca open stockroom # its dashboards, ready to open in your browser
itaca agent install # wire up Claude Code: skill + hook + MCP, onceAfter agent install, every new Claude Code session starts with the project
briefing preloaded — and your agents can answer "where was I on tomodachi?"
without exploring a single file.
Related MCP server: AI Knowledge Center MCP
What your agent sees
# tomodachi — card exchange platform
Path: /home/you/dev/tomodachi (branch feat/dashi-291, dirty)
Stack: bun · next · typescript
Status: beta — onboarding pilots (updated 2026-08-04)
Next: ship supplier import; fix onboarding drop-off
Services:
GitHub (code) — https://github.com/you/tomodachi
Convex (backend) — https://dashboard.convex.dev
Stripe (payments) — https://dashboard.stripe.com
...
Commands: bun run dev · bun run test · bun run typecheck
Other projects: stockroom (beta), everdeep (gate G2), itacaThree MCP tools, nothing more: projects_list, project_get,
project_status_update. The last one closes the loop — agents write a 1–2
line note at the end of a work session into the repo's itaca.yml, so the
narrative stays fresh without you maintaining anything.
How it works
The repo is the database. Stack, services, commands and links are re-derived on every scan from what's already in your code — never stale, nothing to maintain.
itaca.ymlholds the only durable state: narrative status, manual links, overrides. Committed to git, schema-validated in your editor.Detection is declarative. Every service is a small YAML rule in rules/ — Neon, Convex, Cloudflare, Stripe, Polar, Vercel, Supabase, Clerk, Resend, Upstash, Turso, Drizzle, Better Auth, Expo, PostHog, Sentry, GitHub. Monorepo-aware, workspace-resolving.
# rules/neon.yml — a detector is ~10 lines; adding one is a beginner PR
id: neon
service: Neon
category: database
match:
any:
- env_value: "\\.neon\\.tech"
- dep: "@neondatabase/serverless"
links:
- title: Neon Console
url: "https://console.neon.tech"Missing your service? Contributing a rule takes ten minutes.
itaca v2 — hot state, journal, decisions
A second, independent format for itaca.yml — the state convention from the
playbook (itaca/SPEC-V2.md). v1
mixed hot state with an append-only narrative log until the file stopped being
readable at a glance. v2 splits the three concerns:
Where | Cap | |
Hot state |
| ~60 lines, no history |
Narrative |
| one file per session |
Decisions |
| append-only ADRs |
itaca init-protocol # scaffold the protocol into a repo (CI check, templates, dirs)
itaca context # hot state, compact — for a SessionStart hook
itaca journal add <slug> # new journal/YYYY-MM-DD-<slug>.md, frontmatter prefilled
itaca handoff # the ## Handoff skeleton, ready to paste in a PR body
itaca decay # compress old journal entries (dry run; --apply to delete)Schema: schema/itaca-v2.schema.json, published here so editors can resolve it — the playbook stays canonical.
# yaml-language-server: $schema=https://raw.githubusercontent.com/Lukapetro/itaca/main/schema/itaca-v2.schema.json
version: 2
state:
goal: Ship the v2 importer behind a flag
doing:
- "Importer CSV parser — PR #142" # quote it: an unquoted " #" is a YAML comment
blockers:
- Staging S3 credentials not provisioned
next_safe_action: Run the parser against fixtures/large.csv and record timings
decisions: docs/decisions/
links:
journal: journal/
updated: 2026-08-13v1 and v2 side by side
Both formats use the filename itaca.yml and are told apart by version. A
repo is one or the other; nothing needs migrating on a schedule.
v1 commands are unchanged:
scan,list,show,open,status,init,rules,mcp,agentbehave exactly as before, anditaca.ymlv1 keeps validating against the v1 schema.The v2 commands above require a
version: 2file. On a v1 or missing file they exit non-zero and point at the migration (SPEC-V2 §4).itaca contextis v2-only and the derived briefing moved toitaca brief— the one breaking change.itaca briefworks everywhere, v1 and v2 alike. Re-runitaca agent installto update the SessionStart hook: it becomesitaca context || itaca brief, so each repo gets whichever applies.
For humans too
itaca open <project> replaces the bookmark folders you never maintain.
itaca list is the machine-wide overview. And the session log your agents
write becomes, a month in, the story of every project — committed in git,
readable by you.
Status
Alpha, used daily by its author. CLI + MCP surface are stable; a local
dashboard (itaca serve) is planned. Design doc: SPEC.md.
License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceA local-first MCP server that provides AI agents with safe codebase access through file discovery, hybrid lexical-semantic search, and project introspection. It features durable local memory and semantic indexing while keeping all data and processing entirely on your local machine.74836MIT
- AlicenseNot gradedqualityAmaintenanceLocal-first MCP server that provides project context, verification gates, and structured tools for coding agents to discover knowledge, run diagnostics, and execute allowlisted commands within a repository.43MIT
- AlicenseNot gradedqualityAmaintenanceLocal MCP server to index your codebase once and search it across AI sessions with keyword, semantic, or hybrid search, keeping all data on disk.1314MIT

Vibgrate AI Contextofficial
AlicenseNot gradedqualityAmaintenanceLocal-first MCP server that gives AI assistants codebase intelligence—code graph, drift analysis, vulnerability attribution, and version-correct library docs—all from the user's machine.2,1583Apache 2.0
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lukapetro/itaca'
If you have feedback or need assistance with the MCP directory API, please join our Discord server