1. Conduid
  2. Files
  3. io.github.ynishi/mini-app-mcp
MCP server · Files

io.github.ynishi/mini-app-mcp

Agent-First CRUD store MCP server — 1 daemon per table, schema.yaml driven, SQLite backend

Unclaimed files
34Low

Scored 3 months ago · breakdown

About io.github.ynishi/mini-app-mcp

io.github.ynishi/mini-app-mcp is an MCP server published by ynishi in the Files category: agent-First CRUD store MCP server — 1 daemon per table, schema.yaml driven, SQLite backend.

Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/ynishi/mini-app-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (17)

alias_createRegister a named query alias for a table. Accepts `name`, either `filter` (a `ListFilter` expression) or `filter_template` (a MiniJinja template string — mutually exclusive with `filter`), optional `params_schema` (array of parameter name strings for a templated alias), optional `default_limit`, and optional `description`. Alias names are unique per table; duplicate names return `ALIAS_ALREADY_EXISTS`. Aliases are scoped per table and stored in the table's own SQLite database.

Parameters not published.

alias_deleteDelete a named alias for a table. Returns `ALIAS_NOT_FOUND` if the alias does not exist.

Parameters not published.

alias_listReturn all aliases registered for a table as a JSON array of `{ name, filter, default_limit, description, params_schema }` objects.

Parameters not published.

alias_runExecute a stored alias by name. Accepts optional runtime `limit` and `offset` that override the stored `default_limit` at call time. For parameterized aliases (those created with `filter_template`), also accepts a `params` object whose key-value pairs are injected into the template. Accepts an optional `fields` selector to project the returned `data` objects to a named subset of schema fields. If `params_schema` is set and `params` is omitted, returns `ALIAS_PARAMS_REQUIRED`. Template render failures return `ALIAS_TEMPLATE_ERROR`. Returns the same shape as the `list` tool. Returns `ALIAS_NOT_FOUND` for an unknown name.

Parameters not published.

createInserts a new row; validates the `data` object against the schema

Parameters not published.

data_snapshotCreate a point-in-time SQLite snapshot of one or all mounted tables using the SQLite hot backup API. Snapshots are written to `<scope_root>/_snapshots/<table>.<unix_secs>.db`. Pass `table` and/or `scope` to limit the target set; omit both to snapshot all mounted tables. Pass `dry_run: true` to preview the operation (target tables, row counts, would-purge count) without creating any files. Retention is controlled by `MINI_APP_SNAPSHOT_RETENTION` (default 10), independent of `MINI_APP_BACKUP_RETENTION`.

Parameters not published.

deleteRemoves a row by `id`. If `id` is shorter than 36 characters it is treated as a UUID prefix (see `get` for resolution rules).

Parameters not published.

getRetrieves a single row by `id`. If `id` is shorter than 36 characters it is treated as a UUID prefix: zero matches return `NOT_FOUND`; two or more matches return `AMBIGUOUS_ID` with a candidate list. A full 36-character UUID always uses the exact-match path. Accepts an optional `fields` selector to project the returned `data` object to a named subset of schema fields.

Parameters not published.

infoReturns the parsed schema (table name, field definitions) as JSON

Parameters not published.

listReturns rows with optional `limit` / `offset` pagination. Accepts an optional `fields` selector to project the returned `data` objects to a named subset of schema fields.

Parameters not published.

Show all 17 tools
reloadRe-scan `MINI_APP_USER_DIR` / `MINI_APP_PROJECT_DIR` and atomically replace the table registry. Legacy `MINI_APP_SCHEMA` + `MINI_APP_DB` are re-applied if set. Returns `{ mounted, added, removed }`. Limitations: no file watcher (explicit invocation only); whole-registry replace (no per-table partial reload); no schema migration for existing rows; concurrent `reload` calls are last-write-wins.

Parameters not published.

row_materializeWrite one or more rows to arbitrary absolute paths on the local filesystem. Select rows by `id` or by a `ListFilter` expression. Choose output format (`raw`, `markdown`, `json`, `yaml`), field projection (`All` or a named subset), and whether to write one file per row (`concat=false`, default) or concatenate all rows into a single file (`concat=true`). Returns `{ count, files: [{path, bytes, sha256, row_id}] }` — every file entry includes a SHA-256 hex digest of the written bytes. Pass `dry_run: true` to compute results without writing.

Parameters not published.

schema_batchExecute an array of `ops[]` atomically under a single SQLite SAVEPOINT. Any op failure rolls back all preceding ops, leaving YAML and DB untouched. All ops must target the same table. Returns per-op results or a `BATCH_ABORTED` error with the index of the failing op.

Parameters not published.

schema_createCreate a new `schema.yaml` under the specified `scope` (`project` or `user`) and register the table live. Pass `dry_run: true` to preview without writing. Fails with `SCHEMA_EXISTS` if the table already exists.

Parameters not published.

schema_deleteRemove a table's `schema.yaml` (moved to `_backup/`) and unregister it from the live registry. **Does not alter or drop the SQLite table** — DDL changes remain the operator's responsibility. Pass `dry_run: true` to preview.

Parameters not published.

schema_updateReplace an existing table's `schema.yaml` with a new definition (full overwrite). Backs up the previous YAML and a SQLite snapshot to `_backup/` before writing. Pass `dry_run: true` to preview field changes without touching disk.

Parameters not published.

updateUpdates an existing row by `id`. If `id` is shorter than 36 characters it is treated as a UUID prefix (see `get` for resolution rules). Default mode is **merge** (RFC 7396): absent fields are preserved from the stored row, `null` values delete optional fields or raise a Validation error for required ones. Pass `"mode": "replace"` for full replacement (pre-0.9 behaviour).

Parameters not published.

Ask AI

✦

Ask AI about io.github.ynishi/mini-app-mcp

Powered by Claude · Grounded in docs

I know everything about io.github.ynishi/mini-app-mcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

6 checks have not been run yet.

Questions

About io.github.ynishi/mini-app-mcp

How do I install io.github.ynishi/mini-app-mcp?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is io.github.ynishi/mini-app-mcp safe to use with an AI agent?

Its trust score is 34 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.ynishi/mini-app-mcp still maintained?

Yes — the last commit was 3 days ago. The repository has 0 stars and 0 forks.