Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Local-first Ownly evidence and repeatable Planner visits with preview-before-commit writes.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
OWNLY_DATA_DIR, OWNLY_MCP_ALLOW_WRITE, OPENROUTESERVICE_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"ownly": {
"command": "npx",
"args": [
"-y",
"@ownly-app/mcp"
],
"env": {
"OWNLY_DATA_DIR": "ใส่ค่าของคุณ",
"OWNLY_MCP_ALLOW_WRITE": "ใส่ค่าของคุณ",
"OPENROUTESERVICE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add ownly --env OWNLY_DATA_DIR='ใส่ค่าของคุณ' --env OWNLY_MCP_ALLOW_WRITE='ใส่ค่าของคุณ' --env OPENROUTESERVICE_API_KEY='ใส่ค่าของคุณ' -- npx -y @ownly-app/mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"ownly": {
"command": "npx",
"args": [
"-y",
"@ownly-app/mcp"
],
"env": {
"OWNLY_DATA_DIR": "ใส่ค่าของคุณ",
"OWNLY_MCP_ALLOW_WRITE": "ใส่ค่าของคุณ",
"OPENROUTESERVICE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"ownly": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ownly-app/mcp"
],
"env": {
"OWNLY_DATA_DIR": "ใส่ค่าของคุณ",
"OWNLY_MCP_ALLOW_WRITE": "ใส่ค่าของคุณ",
"OPENROUTESERVICE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
OWNLY_MCP_ALLOW_WRITE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub liuh886 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: OWNLY_DATA_DIR, OPENROUTESERVICE_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.7.1) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Own less, Live more, Decide better.
中文文档
A local-first ownership memory and decision ledger.
Ownly helps you record what you own, what it costs, how you used it, and what you learned. Personal data stays in an Ownly data folder as plain Markdown with YAML frontmatter.
Ownly doesn't host your data. You choose where your files live.
The Ownly data folder can live in a normal local directory or inside a local folder synchronized by a personal cloud provider you control. Obsidian is useful for inspecting the Markdown, but it is not required for the hosted Web app, installed PWA, Agent CLI, or local MCP server.
| Entry point | Obsidian required? | Local process required? | Best for |
|---|---|---|---|
| GitHub Pages Web app | No | No | Immediate use in a supported desktop browser |
| Installed PWA | No | No | A standalone app window with offline application-shell startup |
| Obsidian plugin | Yes | No | Native Vault integration and direct Markdown work |
| Agent CLI | No | Yes | Deterministic scripting and validated local mutations |
| Local MCP | No | Yes | Bounded reads plus opt-in, preview-before-commit maintenance for compatible agents |
The Web app and PWA are the same browser runtime. Installation changes the launch experience, not the data model. The product homepage itself is not a PWA surface.
When Ownly starts without an existing folder permission, choose a storage location and then create new data or open an existing Ownly data folder.
Choose a normal local filesystem folder. Ownly reads and writes that folder directly. Nothing is synchronized unless you configure synchronization outside Ownly.
Choose a local folder already synchronized by Dropbox, Google Drive, OneDrive, iCloud Drive, or another provider you control.
Ownly still works with normal local files. It does not use provider APIs, OAuth, provider credentials, an Ownly cloud mirror, or a separate remote filesystem. Your provider handles synchronization under its own privacy and security policies.
Keep the folder available offline when the provider supports online-only placeholders, and use one sync provider per Ownly data folder to reduce conflicting copies.
Select a parent location such as Documents, an Obsidian Vault root, a local personal-cloud folder, or an empty folder already named Ownly.
Ownly initializes:
Ownly/
Objects/ Accounts/ Snapshots/ Reviews/ Trips/ Trip Places/ Trip Visits/ Trip Legs/ Trip Expenses/ Logs/ Object Experiences/ Archive/ Objects/ Accounts/ Snapshots/ Reviews/ Object Logs/
If the selected folder is already named Ownly, Ownly uses it directly and does not create Ownly/Ownly.
Select any supported filesystem location:
Objects/;Ownly;Ownly/ child folder;The browser asks for explicit read/write permission. Personal Markdown files are not uploaded to GitHub Pages and are not copied into the PWA service-worker cache. If the selected folder is synchronized by a third-party provider, that provider may upload and synchronize those files independently of Ownly.
The hosted Web/PWA runtime uses Google Analytics 4 measurement ID G-KXXVS33FQ2 for product adoption and can also load Cloudflare Web Analytics for aggregate traffic and Web Vitals when NEXT_PUBLIC_CLOUDFLARE_WEB_ANALYTICS_TOKEN is configured at build time. Ownly custom analytics events never include Markdown contents, local file names, form values, object records, reviews, account snapshots, selected-folder data, local paths, inferred provider names, or MCP tool results. The Obsidian plugin, Agent CLI and MCP runtime do not load either web analytics provider.
Standalone local use:
<My local folder>/
Ownly/ Objects/ Accounts/ Snapshots/ Reviews/ Trips/ Trip Places/ Trip Visits/ Trip Legs/ Trip Expenses/ Logs/ Archive/
Inside an Obsidian Vault:
<My Obsidian Vault>/
Ownly/ Objects/ Accounts/ Snapshots/ Reviews/ Trips/ Trip Places/ Trip Visits/ Trip Legs/ Trip Expenses/ Logs/ Archive/
Inside a personal cloud-synced local folder:
<My Dropbox / Google Drive / OneDrive / iCloud Drive folder>/
Ownly/ Objects/ Accounts/ Snapshots/ Reviews/ Trips/ Trip Places/ Trip Visits/ Trip Legs/ Trip Expenses/ Logs/ Archive/
All three layouts use the same Ownly data model. The personal-cloud option does not introduce a second storage backend; the external provider synchronizes the normal filesystem folder.
| Record | Purpose |
|---|---|
| Physical item | Purchase, use, cost, condition, retirement, transfer, or discard lifecycle |
| Recurring cost | Subscription or other repeating obligation, billing cycle, status, and annualized cost |
| One-time experience | Plan, budget, actual cost, location, completion, and review |
| Snapshot | Point-in-time net-worth and account-balance facts |
| Review | Structured post-use, post-exit, monthly, or annual reflection |
| Object experience log | Append-only usage, issue, maintenance, regret, lesson, comparison, or exit event |
Ownly exposes deterministic JSON read/write commands for scripts and external agents. It does not include model APIs, embeddings, AI chat, or generated recommendations.
export OWNLY_VAULT=/path/to/location-containing-Ownly
npm run --silent ownly -- object list --json
npm run --silent wyqd -- object list --json npm run --silent wyqd -- object get --id --json npm run --silent wyqd -- object history --id --json npm run --silent wyqd -- object review-needed --json npm run --silent wyqd -- recurring list --active --json npm run --silent wyqd -- summary --json
See:
The CLI data location may point to an Obsidian Vault or another filesystem location containing the Ownly data folder, including a user-controlled synchronized local folder.
Ownly also exposes a local-first MCP server for Codex, Claude Code and other MCP clients that can start a local STDIO process. It is read-only by default; persistent mutations require explicit startup permission plus a separate preview and commit call.
The MCP server is an adapter over the same validated Ownly data model. It does not create a second database, hosted mirror or embedded AI assistant.
The MCP tool surface covers:
The source-of-truth stays in the user-selected Ownly data folder. Facts returned by an MCP tool can enter the connected external agent's context, so Ownly does not claim that every selected fact remains on-device during an agent session.
Install it with npx -y @ownly-app/mcp --data-dir (source in packages/mcp). See the Ownly MCP Guide for Codex and Claude Code setup, privacy boundaries and example prompts.
| Area | Status |
|---|---|
| Product homepage | Static bilingual product explanation with an embedded interactive preview |
| Hosted Web app | Static GitHub Pages runtime with user-selected filesystem access |
| Installed PWA | App-route-only install surface, standalone launch and cached app shell |
| Obsidian plugin | Native Vault interface over the shared Ownly data model |
| Agent CLI | Stable, strict-typed fact-ready JSON contract |
| Local MCP | Read-only by default; opt-in two-phase writes over the canonical Ownly evidence store |
| Data storage | Plain Markdown + YAML frontmatter in a user-controlled filesystem folder |
| Mutation safety | Validation, preview/commit confirmation, atomic writes, safety backups, audit logs, conflict detection, archive/restore, and CI contracts |
Current validation and known coverage gaps are documented in Quality Baseline.
Direct folder access uses the File System Access API.
See Web Runtime for privacy boundaries, PWA behavior, and deployment details.
Install from Obsidian Community Plugins:
👉 [Install Ownly](https://obsidian.md/plugins?id=ownly)
The plugin is optional for Web/PWA users. Use the term Obsidian Vault only for a real Vault or the Obsidian runtime; the cross-runtime storage term is Ownly data folder.
Ownly includes deterministic Doctor checks for issues such as:
The
ตัดมาแค่ช่วงต้น อ่านต่อใน repo