Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Connect AI tools to OmniFocus on macOS to find, review, and safely update tasks and projects.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 deverman 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.10.0-beta)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, yontu
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Türkçe yazı denetimi: TDK kuralları, yapay zekâ izleri, metin türüne göre üslup.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
FocusRelay is a fast, native Swift MCP server and CLI that helps AI assistants read and safely update OmniFocus using documented OmniFocus APIs.
Install with Homebrew · See what it can do · Star FocusRelay · Contribute
Ask about the work already in OmniFocus, review the answer, and make approved changes without clicking through long task lists.
FocusRelay is designed for targeted questions and compact answers, so the assistant does not need your entire OmniFocus database for routine requests.
Try prompts like:
In clients that expose MCP server prompts, select process_inbox. In OpenCode, run /focusrelay:process_inbox to start the guided workflow. CLI-based agents can retrieve the exact same instructions with focusrelay workflow get process_inbox; use focusrelay workflow list to discover available workflows without loading their full text.
These workflows were tested with multiple MCP-capable models in OpenCode. Updates target stable OmniFocus IDs and can verify the saved result. If names are duplicated, ask to see the candidates before changing anything.
The current release can:
The current release updates existing tasks and projects. Creating or deleting items is not supported; creation is tracked in #82 and #83.
On the development branch, Forecast questions support an explicit partial task-only scope. It includes past/today scheduled actions, flags, and the configured Forecast tag; it is not the native Forecast total and excludes calendar events and native visibility preferences. This requires the matching development binary and bridge, not the current Homebrew release.
The development candidate exposes ten model-facing tools: seven read tools plus edit_tasks, edit_projects, and add_tasks for supported changes. Task and subtask creation uses client-managed approval, optional preview, frozen date-only values, and mandatory verification. Omitted previewOnly performs a write; uncertain creation must not be automatically retried. See the creation contract. Earlier consolidation from seven editing tools to two reduced the catalog from 14 tools to 9 and cut context usage by 7–13% in controlled model tests. Those historical measurements do not measure the new creation tool's overhead. Internal diagnostics stay in the CLI, count commands avoid returning long item lists, and field selection keeps responses compact.
FocusRelay is compiled as native Swift and installed with Homebrew, with no Node.js or Python runtime in the request path. Single-pass filtering and early-stop pagination keep focused inbox reads near one second in testing at thousands-of-tasks scale. The same core powers a CLI for precise, low-context queries.
The Swift server dispatches work to a lightweight bridge plug-in that runs inside OmniFocus’s Omni Automation context. It uses documented APIs and native statuses, keeping results aligned with OmniFocus without reading its private database.
Edit tools target stable IDs and support previews, per-item results, compact return fields, and optional verification. A failed save, update, or verification is reported as a failure—not success.
FocusRelay handles OmniFocus work in order, tells assistants to wait for each update, and reports overload clearly instead of letting requests collide. When an MCP client disconnects, its FocusRelay process exits cleanly rather than remaining in the background.
See the latest release notes for the user-facing changes and upgrade requirements.
FocusRelay runs locally on your Mac. Its Swift server communicates on-device with a bridge plug-in that accesses OmniFocus through documented APIs. FocusRelay has no hosted cloud service and does not send your OmniFocus data to a FocusRelay-operated service.
Your MCP client and chosen AI model may transmit tool inputs and results under their own privacy terms. Review those settings before using FocusRelay with sensitive data.
Requirements:
Homebrew 6 requires explicit trust for formulae from non-official taps. Trust only the FocusRelay formula, then install it:
brew tap deverman/focus-relay
brew trust --formula deverman/focus-relay/focusrelay brew install focusrelay
Formula-specific trust authorizes FocusRelay without trusting every current or future formula in the tap. See Homebrew’s Tap Trust documentation for details.
Run the installed setup command:
focusrelay setup
It finds the Homebrew-bundled plug-in, verifies that its version matches the binary, detects every supported OmniFocus plug-in folder, and previews the source and destinations before asking permission to copy anything. Existing plug-ins remain in place until their replacement has been copied successfully. Rerunning setup reports copies that are already current.
Setup also prints the client-neutral MCP command and arguments. Add --client claude-code, --client codex, or --client opencode for a known client example; FocusRelay prints the configuration but does not edit it.
For automation, review the same plan first and then opt in explicitly:
focusrelay setup --dry-run
focusrelay setup --non-interactive
Building from source? Continue using ./scripts/install-plugin.sh; it is a thin development entry point for this same Swift setup implementation.
Quit OmniFocus completely and reopen it so the updated plugin is loaded:
osascript -e 'tell application "OmniFocus" to quit'
sleep 2 open -a "OmniFocus"
FocusRelay currently supports terminal-based MCP clients: Claude Code, OpenCode, Codex CLI, and other clients launched from a terminal. Desktop applications such as Claude Desktop and ChatGPT's desktop app are not yet supported: macOS restricts their access to the OmniFocus data FocusRelay relies on. Desktop-app support is tracked in #196.
Configure a local stdio MCP server with:
/opt/homebrew/bin/focusrelayserveClaude Code configuration
Claude Code registers MCP servers from the command line, so no file editing is required:
claude mcp add --scope user focusrelay -- /opt/homebrew/bin/focusrelay serve
--scope user makes FocusRelay available in every project on your Mac. Use --scope project instead to share the server with collaborators through a checked-in .mcp.json, or omit the flag to enable it only in the current directory.
Confirm the server is registered and reachable:
claude mcp list
FocusRelay should report ✔ Connected. Remove it later with claude mcp remove --scope user focusrelay.
OpenCode configuration example
{
"mcp": { "focusrelay": { "type": "local", "command": ["/opt/homebrew/bin/focusrelay", "serve"], "enabled": true } } }
On the first query, OmniFocus asks whether to allow the automation. Choose Run Script. If the prompt is hidden, bring OmniFocus to the front.
After restarting OmniFocus, verify that its loaded plug-in matches the binary:
focusrelay setup --check-readiness
focusrelay list-tasks --fields id,name --limit 1
Then ask:
How many flagged items do I have in OmniFocus?
Manual download or source build
Download the latest binary and FocusRelayBridge.omnijs from GitHub Releases, or build on macOS 26 or later with the Swift 6.3.3 toolchain selected by the checked-in .swift-version:
git clone https://github.com/deverman/FocusRelayMCP.git
cd FocusRelayMCP swift build -c release ./scripts/install-plugin.sh
After installing the plugin, restart OmniFocus completely and run focusrelay setup --check-readiness.
MCP lets compatible assistants discover FocusRelay and choose the right action. The CLI is useful for scripts, debugging, and agents that already have shell access.
The examples below target the current Homebrew release and source build.
# Discover or retrieve the same workflows exposed as MCP prompts
focusrelay workflow list focusrelay workflow get process_inbox
focusrelay task-counts --flagged true
focusrelay list-tasks \ --inbox-only true \ --available-only true \ --limit 3 \ --fields name
focusrelay edit-tasks \ --operation update \ --flagged true \ --preview-only \ --return-fields id,name,flagged
Run focusrelay --help for the command list. For write examples and safety rules, see Safe Update Workflows for CLI and MCP.
FocusRelay combines a native Swift server with a bridge plug-in that executes inside OmniFocus. Swift keeps MCP fast and compact; the bridge gets fresh data and applies changes through documented OmniFocus APIs.
✅ Available · 🟡 Coming next · 🟠 Backlog · ◇ Project roadmap · — Not currently documented
| Capability | FocusRelay | OmniFocus-MCP | Enhanced | OmnifocusMCP | Operator |
|---|---|---|---|---|---|
| Runtime | Native Swift · Homebrew | TypeScript · npx | TypeScript · npx | Native Rust · Homebrew; Python and TypeScript available | Python · uvx |
| OmniFocus access | Bridge plug-in inside Omni Automation; documented APIs | JXA and Omni Automation through osascript | Omni Automation through osascript | Omni Automation through osascript | Internal SQLite r
只显示了开头部分;其余内容请在仓库中阅读