# @ownly-app/mcp

Local-first Ownly evidence and repeatable Planner visits with preview-before-commit writes.

- **Type:** MCP server
- **Trust:** 85/100 (A), scored on the package rubric
- **Verification:** verified (build provenance)
- **Version:** 0.7.1
- **Author:** io.github.liuh886
- **License:** MIT
- **npm:** @ownly-app/mcp
- **Source:** https://github.com/liuh886/ownly
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

85/100 (A), scored on the package rubric
- Publisher verified: no
- Build provenance: verified attestation
- npm trusted publishing (OIDC): yes
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 12 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-11T21:41:54.060Z
- **Version scanned:** 0.7.1
- **CVEs:** none found by OSV at scan time

## Tools

36 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `ownly_summary` — Return a compact overview of the local Ownly evidence store and its deterministic health status.
- `ownly_search` — Search validated Ownly object facts by title, category, or local Markdown body without returning the raw Markdown body.
- `ownly_get_object` — Return bounded structured facts for one Ownly object identified by its stable Ownly ID.
- `ownly_object_history` — Return one object with linked reviews and chronological append-only experience logs for evidence-grounded reasoning.
- `ownly_recurring_costs` — List structured recurring-cost facts. Defaults to active subscriptions only and preserves currency semantics.
- `ownly_recurring_due` — Return active recurring costs with a calculable billing date inside a bounded future horizon.
- `ownly_recurring_by_account` — Group active recurring costs by payment account. Monetary totals remain separated by currency instead of being silently combined.
- `ownly_review_needed` — Return objects that deterministically require review under the existing Ownly lifecycle rules.
- `ownly_doctor` — Run deterministic, read-only integrity checks before an agent relies on the local evidence store.
- `ownly_planner_summary` — Overview of trips with reusable place counts, Visit occurrence counts, dropped places and expenses.
- `ownly_planner_get_trip` — Full trip context: reusable places, repeatable Visit occurrences, FX-aware budget, conflicts, canonical travel legs, execution timelines, and expenses.
- `ownly_planner_budget_estimate` — Estimate the scheduled-trip budget converted into the trip base currency. Uses built-in USD-pivot rates unless the trip defines fx_rates overrides.
- `ownly_planner_prepare_set_travel_leg` — Preview one explicit adjacent-place travel-time fact. Use this for public transit or any user-verified route duration.
- `ownly_planner_prepare_refresh_day_travel` — Query OpenRouteService only for adjacent scheduled pairs on one day, preserving manual legs. Supports walking, driving and bicycling; transit remains manual.
- `ownly_planner_prepare_add_visit` — Preview adding one occurrence of a reusable place to a day. The place remains in the research pool and can be added again on the same or another day.
- `ownly_planner_prepare_remove_visit` — Preview removing one scheduled occurrence without deleting or changing the reusable place fact.
- `ownly_planner_prepare_reorder_day` — Preview moving one visit one position up (-1) or down (+1) within its day.
- `ownly_planner_prepare_optimize_day_travel_time` — Query an ephemeral OpenRouteService matrix, minimize known travel minutes, keep the first/locked/anchored stops fixed, and preview one atomic commit of the fina
- `ownly_planner_prepare_set_stay_span` — Preview anchoring a hotel across consecutive dates; stale stay anchors on those dates are retired automatically.
- `ownly_planner_prepare_drop_place` — Preview shelving a place (state: dropped), removing it from candidate pool and active planning while preserving all facts in Vault.
- `ownly_planner_prepare_restore_place` — Preview restoring a shelved/dropped place back to candidate pool (state: candidate).
- `ownly_planner_prepare_add_expense` — Preview appending an AA-ledger expense entry to Trip Expenses/.
- `ownly_planner_prepare_set_fx_rates` — Preview persisting user-verified conversion overrides on the trip frontmatter (rates[FROM] = base per 1 FROM).
- `ownly_planner_get_calendar_ics` — Project confirmed Planner/Vault schedule facts into deterministic RFC 5545 iCalendar format (.ics). Occurrence authority resides strictly in Visits.
- `ownly_planner_prepare_apply_schedule_proposal` — Validate and preview an MCP client/LLM Visit proposal. Existing locked/anchored visits cannot move. Omitting visit_id creates a new occurrence, so one place may
- `ownly_prepare_create_object` — Validate and preview a new physical object, recurring cost, or one-time experience. This does not write files; commit the returned operation_id separately.
- `ownly_prepare_update_object` — Preview validated changes to an existing Ownly object. The stable ID and object type cannot be changed.
- `ownly_prepare_retire_object` — Preview moving a physical object to the idle lifecycle state with an end date.
- `ownly_prepare_cancel_recurring_cost` — Preview cancelling an Ownly recurring cost while preserving its history.
- `ownly_prepare_add_object_log` — Preview an append-only usage, issue, maintenance, regret, lesson, comparison, or exit note for an object.
- `ownly_prepare_create_review` — Preview a review record. Object and exit reviews require a target object ID.
- `ownly_prepare_create_snapshot` — Preview a net-worth snapshot from total assets and liabilities.
- `ownly_prepare_archive_object` — Preview moving an active object file into Ownly Archive. The archive remains restorable.
- `ownly_prepare_restore_object` — Preview restoring an archived Ownly object to the active Objects directory.
- `ownly_commit_operation` — Persist one previously prepared operation after user confirmation. Creates a safety backup first and is idempotent for the operation ID.
- `ownly_discard_operation` — Discard a prepared operation without changing the Ownly data files.

## Install

**Verdict: install** — No blocking findings and no open coverage gaps — safe to install as configured.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@ownly-app/mcp\"\n      ],\n      \"env\": {\n        \"OPENROUTESERVICE_API_KEY\": \"<YOUR_OPENROUTESERVICE_API_KEY>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `OPENROUTESERVICE_API_KEY` — Openrouteservice API Key (optional)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 1 credential (0 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Extensive blast radius — deletes data; holds an api key.
- Floor 52, ceiling 52 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/%40ownly-app%2Fmcp
- Install plan: https://forgeregistry.com/api/v1/packages/%40ownly-app%2Fmcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/%40ownly-app%2Fmcp
- HTML page: https://forgeregistry.com/registry/%40ownly-app%2Fmcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
