Agami serve
The trust layer between AI and your data. Turns your database schema - messy joins, undocumented tables, into a governed semantic model so AI answers with correct SQL and a receipt on every answer. Run it locally, or self-host a shared team server with Docker.
npx -y skills add AgamiAI/agami-core --skill agami-serveAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 19 stars19 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Wires the local agami MCP server (python -m mcp_harness) into the Claude Desktop app in one step, so you can ask your database questions from Claude Desktop — not just inside Claude Code. Auto-detects the right Python interpreter (the one with your DB driver), installs the agami-core package into it so the registration survives plugin updates, and safely merges the entry into claude_desktop_config.json (backup + atomic write, preserving every other key). The local server is the mirror of the hosted Agami connector — same tools, local backend — so this is also how a developer feels the exact experience their business end-users would get.
SKILL.md
5.3 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
agami serve — wire the local MCP server into Claude Desktop
You are setting up the local agami MCP server so the user can query their
database from the Claude Desktop app (or any client that reads a
claude_desktop_config.json-style file). This is the local mirror of the hosted
"Ask Agami" connector: same tool surface (list_datasources,
get_datasource_schema, get_prompt_examples, execute_sql),
but backed by the user's local model + local execution. Everything stays on the
machine; the server is stdio-only, has no auth, and makes no network call.
The heavy lifting is done by a deterministic helper —
scripts/setup_desktop_mcp.py. This skill's
job is to run it, read its output, and handle the two things that need a human:
a missing DB driver, and the app restart.
Conversation style
- Tight. This is a one-shot setup tool, not a tutorial. Run the helper, report what it did, give the restart line.
- Honest about surfaces. Claude Desktop is the target here; if the user is already in Claude Code, remind them the skills already work there — the MCP server is for other clients.
Phase −1: Plan-mode preflight
Run the detection + ask logic from shared/plan-mode-check.md. This skill needs Bash (to run the helper, which writes files). If plan mode is active, refuse with: "I can't wire up Claude Desktop in plan mode — it installs the agami-core package and writes your desktop config. Switch to Auto or Edit Automatically mode (Shift+Tab to cycle) and re-invoke me." DO NOT write a plan file. DO NOT call ExitPlanMode.
Phase 0: Preflight
- Credentials present —
<artifacts_dir>/local/credentialsmust exist for the active profile. If missing, invoke/agami-connectfirst; the server needs a connection to execute against. - Model present —
<artifacts_dir>/<profile>/datasource.yamlmust exist (so the server has a semantic model to serve). If not, invoke/agami-connect. - Profile — default to the active profile. If
$ARGUMENTSnames a profile, pass it through as--profile <name>.
Phase 1: Run the setup helper
Show the plan first with --dry-run, then do it for real:
# 1. Preview (writes nothing)
python3 "$AGAMI_PLUGIN_ROOT/scripts/setup_desktop_mcp.py" --dry-run
# 2. Apply
python3 "$AGAMI_PLUGIN_ROOT/scripts/setup_desktop_mcp.py"
Pass --profile <name> if the user named one. (Installation goes through sm install,
which does an editable install automatically when run from a dev checkout — no flag needed.)
Phase 2: Handle the two human cases
- Driver missing (exit code 3). The helper couldn't find a Python that can
import the DB driver. Relay its suggested
pip install ...line, offer to run it, then re-run the helper. Example:python3 -m pip install psycopg2-binary. - Wrote successfully. Tell the user, in one or two lines:
- Fully quit the Claude Desktop app (Cmd+Q on macOS — not just close the window), then reopen it.
- In Claude Desktop, ask "What datasources does agami see?" — it should call
list_datasourcesand return their profiles. - If it doesn't appear, the log is at
~/Library/Logs/Claude/mcp-server-agami.log.
Phase 3: Orient them (one short paragraph)
Close with: this is the same toolset their business end-users would use through
the hosted Agami connector — the only difference is the backend (their local
files vs a shared, governed, always-on cloud). So what they just felt in Claude
Desktop is the end-user experience. If they want it for a team (one shared
model, evals, governance, reachable from web/mobile/Cowork), that's the hosted
product — see docs/open-vs-hosted.md in the repo
(https://github.com/AgamiAI/agami-core/blob/main/docs/open-vs-hosted.md).
Notes
- The setup is idempotent — re-running updates the
agamientry in place and re-installs the agami-core package. Re-run after a plugin update to refresh it. - It never clobbers other config: every other key and MCP server is preserved,
and the previous config is backed up to a timestamped
.bak-<epoch>file. - It does not touch credentials and adds no network surface (see
docs/privacy.mdin the repo).