{"name":"io.github.liuh886/ownly","slug":"liuh886-ownly","title":"Ownly","description":"Local-first Ownly evidence and repeatable Planner visits with preview-before-commit writes.","url":"https://mcp.market/server/liuh886-ownly","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":29,"stars":2,"forks":0,"downloads_week":94,"last_push_at":"2026-09-19T14:04:08.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/liuh886/ownly","website":null,"version":"0.7.1","remotes":[],"packages":[{"registryType":"npm","identifier":"@ownly-app/mcp","version":"0.7.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Absolute path to a parent containing Ownly/ or directly to a custom Ownly data root containing Objects/.","isRequired":true,"format":"string","name":"OWNLY_DATA_DIR"},{"description":"Set to 1 to enable two-phase persistent write commits. Omit for read-only mode.","format":"string","name":"OWNLY_MCP_ALLOW_WRITE"},{"description":"OpenRouteService API key used by local Planner travel-leg refresh and travel-time optimization for walking/driving/bicycling.","format":"string","isSecret":true,"name":"OPENROUTESERVICE_API_KEY"}]}],"tools":[{"name":"ownly_commit_operation","description":"Persist one previously prepared operation after user confirmation. Creates a safety backup first and is idempotent for the operation ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_discard_operation","description":"Discard a prepared operation without changing the Ownly data files.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_doctor","description":"Run deterministic, read-only integrity checks before an agent relies on the local evidence store.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_get_object","description":"Return bounded structured facts for one Ownly object identified by its stable Ownly ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_object_history","description":"Return one object with linked reviews and chronological append-only experience logs for evidence-grounded reasoning.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_budget_estimate","description":"Estimate the scheduled-trip budget converted into the trip base currency. Uses built-in USD-pivot rates unless the trip defines fx_rates overrides.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_get_calendar_ics","description":"Project confirmed Planner/Vault schedule facts into deterministic RFC 5545 iCalendar format (.ics). Occurrence authority resides strictly in Visits.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_get_trip","description":"Full trip context: reusable places, repeatable Visit occurrences, FX-aware budget, conflicts, canonical travel legs, execution timelines, and expenses.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_add_expense","description":"Preview appending an AA-ledger expense entry to Trip Expenses/.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_add_visit","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_apply_schedule_proposal","description":"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 appear multiple times.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_drop_place","description":"Preview shelving a place (state: dropped), removing it from candidate pool and active planning while preserving all facts in Vault.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_optimize_day_travel_time","description":"Query an ephemeral OpenRouteService matrix, minimize known travel minutes, keep the first/locked/anchored stops fixed, and preview one atomic commit of the final order plus final adjacent ORS legs. Transit is intentionally not fabricated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_refresh_day_travel","description":"Query OpenRouteService only for adjacent scheduled pairs on one day, preserving manual legs. Supports walking, driving and bicycling; transit remains manual.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_remove_visit","description":"Preview removing one scheduled occurrence without deleting or changing the reusable place fact.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_reorder_day","description":"Preview moving one visit one position up (-1) or down (+1) within its day.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_restore_place","description":"Preview restoring a shelved/dropped place back to candidate pool (state: candidate).","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_set_fx_rates","description":"Preview persisting user-verified conversion overrides on the trip frontmatter (rates[FROM] = base per 1 FROM).","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_set_stay_span","description":"Preview anchoring a hotel across consecutive dates; stale stay anchors on those dates are retired automatically.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_prepare_set_travel_leg","description":"Preview one explicit adjacent-place travel-time fact. Use this for public transit or any user-verified route duration.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_planner_summary","description":"Overview of trips with reusable place counts, Visit occurrence counts, dropped places and expenses.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_add_object_log","description":"Preview an append-only usage, issue, maintenance, regret, lesson, comparison, or exit note for an object.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_archive_object","description":"Preview moving an active object file into Ownly Archive. The archive remains restorable.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_cancel_recurring_cost","description":"Preview cancelling an Ownly recurring cost while preserving its history.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_create_object","description":"Validate and preview a new physical object, recurring cost, or one-time experience. This does not write files; commit the returned operation_id separately.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_create_review","description":"Preview a review record. Object and exit reviews require a target object ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_create_snapshot","description":"Preview a net-worth snapshot from total assets and liabilities.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_restore_object","description":"Preview restoring an archived Ownly object to the active Objects directory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_retire_object","description":"Preview moving a physical object to the idle lifecycle state with an end date.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_prepare_update_object","description":"Preview validated changes to an existing Ownly object. The stable ID and object type cannot be changed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ownly_recurring_by_account","description":"Group active recurring costs by payment account. Monetary totals remain separated by currency instead of being silently combined.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_recurring_costs","description":"List structured recurring-cost facts. Defaults to active subscriptions only and preserves currency semantics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_recurring_due","description":"Return active recurring costs with a calculable billing date inside a bounded future horizon.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_review_needed","description":"Return objects that deterministically require review under the existing Ownly lifecycle rules.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_search","description":"Search validated Ownly object facts by title, category, or local Markdown body without returning the raw Markdown body.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ownly_summary","description":"Return a compact overview of the local Ownly evidence store and its deterministic health status.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T20:53:47.796Z","report":{"scannerVersion":"0.1.7","scannedAt":"2026-09-19T20:53:47.772Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@ownly-app/mcp","version":"0.7.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-09T14:03:29.687Z","repositoryUrl":"git+https://github.com/liuh886/ownly.git","weeklyDownloads":94}],"repo":{"found":true,"owner":"liuh886","repo":"ownly","archived":false,"pushedAt":"2026-09-19T14:04:08Z","stars":2,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/7567311?v=4","ownerCreatedAt":"2014-05-13T09:00:33Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/7567311?v=4&s=128","source":"github"},"presence":{"stars":2,"forks":0,"downloadsWeek":94,"license":"MIT","lastPushAt":"2026-09-19T14:04:08.000Z","score":29}}}},"grade_history":[],"reviews":[]}