Open source AI project releases and updates, past day 2026: how to plug any new MCP into a signed Mac agent in minutes
The top results for this query all do the same thing. They list the day's model weight drops, framework bumps, and repo announcements, then stop. None of them tells a reader how to actually run any of those releases as a live tool on their own machine the same day. Fazm v2.4.0 shipped on 2026-04-20 with a user-editable ~/.fazm/mcp-servers.json and a Settings UI to match. A new MCP server released at 9am is a working Fazm tool by 9:05am. No rebuild. No notarize. No Claude Code setup.
“The whole user-MCP feature is one 36-line block in acp-bridge/src/index.ts that reads ~/.fazm/mcp-servers.json, filters disabled entries, and merges the rest onto the same array as the five built-in MCP servers before emitMcpServers publishes them to the UI.”
acp-bridge/src/index.ts:1102-1139 and MCPServerManager.swift:4-45
The anchor fact: one path, one loader, one merge
This is the full bridge-side loader. Every user-authored MCP server is resolved, validated, and merged into the same active-servers array as the five built-in ones that Fazm compiles into its signed bundle. The only difference is origin: built-ins are pinned at build time in build.sh, user MCPs are read at session time from the user's home directory.
Five checks fire for every entry: file exists, JSON parses, entry is not enabled:false, command is present, and env flattens cleanly into {name, value} pairs. Survivors join the same array that feeds the UI's active servers panel.
How a new open-source AI release reaches a live Fazm conversation
An MCP server released anywhere on the open internet in the past day ends up as a callable tool in a Fazm chat through a single merge point. The bridge does the merge. The user chooses which side any given MCP comes from.
Release surface to live agent
Same day, two different stories
A new open-source MCP server drops on a Tuesday morning. Before v2.4.0, the consumer path looked like a framework build. After v2.4.0, it looks like editing a JSON file.
| Feature | Before v2.4.0 or no Fazm at all | Fazm v2.4.0 (today) |
|---|---|---|
| Time from release to working tool | Days: wait for next consumer release or build Claude Code yourself | Minutes: edit one JSON file |
| Command surface | Only what the vendor pre-bundles | Any stdio command: uvx, npx, node, python3, custom binary |
| Developer tools required | Swift toolchain, or Claude Code CLI, or custom integration | None. Text editor or Settings UI |
| App restart | Yes, a full app update or framework relaunch | No. Changes apply on next conversation |
| Collision with built-ins | Namespace collisions silently overwrite | Protected via BUILTIN_MCP_NAMES Set at index.ts:1266 |
| Config format | Per-vendor, per-framework YAML, TOML, or proprietary | Identical to Claude Code mcpServers |
| Works with macOS accessibility APIs | Screenshot OCR fallback or browser-only | Yes, built-in macos-use MCP is always loaded alongside |
What ~/.fazm/mcp-servers.json actually looks like
The format mirrors Claude Code exactly. A top-level object where each key is a server name and each value carries command, args, env, and enabled. An example with three real open-source MCPs that released in the past few days.
Three entries. One Python MCP via uvx, two npm MCPs via npx, the third temporarily disabled with enabled: false so the bridge loader skips it at line 1115. The loader never rejects malformed env or missing optional keys: the only hard requirement is a non-empty command.
End-to-end: add a just-released MCP in under two minutes
Pretend a postgres MCP server dropped an hour ago. Here is the full flow from zero to a tool call in a Fazm conversation.
Six steps, start to first tool call
1. Read the new MCP's README
Find the command it exposes. Most shipped in the past day use `uvx package@version` (Python) or `npx -y @scope/package` (Node). Binary MCPs ship a release asset you download and point at.
2. Create or edit ~/.fazm/mcp-servers.json
Pick a server name that does not collide with fazm_tools, playwright, macos-use, whatsapp, or google-workspace. Fill in command, args, env, and optionally enabled.
3. Smoke-test the command outside Fazm
Run the same command yourself in a terminal to confirm it can reach its dependencies (database URL, API key, file path). The bridge logs spawn failures but it is faster to catch them before a chat turn.
4. Start a new conversation in Fazm
The bridge reads ~/.fazm/mcp-servers.json at session-spin-up. Any chat session begun after saving the file picks up the new server. Existing chats keep their previous tool list.
5. Watch the active servers panel
The Settings > MCP Servers view (SettingsPage.swift:1941) shows both the five built-ins and your user entries with a green/gray status dot. Green means the bridge spawned the command successfully.
6. Call a tool and iterate
Ask Fazm to do a task that needs the new MCP. The model sees the new tool surface in the same list as the accessibility-API tools and picks based on the prompt. Flip `enabled: false` to toggle off without deleting the entry.
Categories of open-source AI releases worth plugging in this week
'Open-source AI release' is a broad bucket. For the consumer Mac agent use case, only MCP-shaped releases turn into same-day tools. These are the buckets that matter.
Database and storage MCPs
postgres, sqlite, redis, duckdb, supabase. A command that talks to your local or remote store and exposes query, list, describe as tools.
Search and retrieval MCPs
brave-search, exa, perplexity, tavily. Adds a web-query tool the agent can pair with macos-use to act on results.
Developer tools MCPs
github, linear, sentry, gitlab, jira. Each adds issue, PR, and log tools that plug into any desktop workflow.
Vertical-domain MCPs
Financial data, legal research, scientific papers, maps, real estate. Same stdio shape, different dataset.
Agent-browser MCPs beyond Playwright
Past-day releases: browser-use-mcp, stagehand, firecrawl MCP. Sits alongside the pinned @playwright/mcp v0.0.68 without clashing.
Memory and vector MCPs
memory-mcp, chromadb-mcp, pinecone-mcp. Adds cross-session recall to a Mac agent that already has macOS accessibility context.
A sample of open-source MCP servers shipped or updated in the past week that drop in without a single code change:
What the loader validates before a user MCP becomes live
Five gates. A user MCP that clears all five ends up in the same servers array the built-ins live in, and emitMcpServers(servers) at line 1139 publishes the merged list to the UI.
Bridge-side load pipeline
File exists?
existsSync(~/.fazm/mcp-servers.json) at index.ts:1106
JSON parses?
JSON.parse at line 1107
enabled !== false?
skip check at line 1115
command present?
logged skip at lines 1116-1119
env flattens?
to Array<{name,value}> at 1120-1125
Push + emit
servers.push(...) then emitMcpServers at 1139
The Settings UI does the same write, from the other side
Non-technical users never see the JSON. MCPServerManager.swift backs a SwiftUI settings page that adds, edits, toggles, and deletes entries, then serializes the full dictionary back to the same ~/.fazm/mcp-servers.json on every change. The file and the UI are two views of one source of truth.
MCPServerManager.swift highlights
- Line 4: "Manages user-defined MCP server configurations stored in ~/.fazm/mcp-servers.json"
- Line 5: "Format mirrors Claude Code's mcpServers"
- Lines 23-37:
MCPServerConfigwith name, command, args, env, enabled - Line 42: persists at
fazmDir.appendingPathComponent("mcp-servers.json") - Line 78: default enabled omitted when true, so the file stays lean
- SettingsPage.swift:1844: verbatim hint "Uses the same format as Claude Code. Changes take effect on next conversation."
Due diligence for any MCP released in the past day
The loader does not sandbox the spawned command. It is a trust decision, not a safety net. The same rules that apply to a random npm install apply here.
Before adding a newly-released MCP to Fazm
- Read the repo. Who maintains it. How many commits. Any signed releases.
- Pin a tag or commit in args, not latest. uvx pkg@0.4.1 beats uvx pkg.
- Keep the env secrets narrow. Use read-only DB URLs and least-privilege API tokens.
- Flip enabled: false when you are not actively using it, instead of deleting the entry.
- Prefer uvx over npx for anything you have not vetted: uvx isolates the Python env by default.
- Watch the bridge's active-servers panel. A red or gray dot means the spawn failed.
- For anything that writes to shared infra, test against a sandbox account first.
Why 'past day' is the right cadence for this query
Weight drops happen on weekly or monthly cycles. Framework version bumps land every few days. But MCP servers get released, fixed-forward, and updated hourly in April 2026. A server shipped this morning might get a bug fix by lunch and a new tool by dinner. The cadence of the release surface matches the cadence of the deployment surface: rolling, not batched.
That is why the 'past day 2026' framing matters. Anything that requires a full consumer-app update for the user to see it is already too slow for this cadence. Fazm v2.4.0's answer is to push the extension point all the way out to a single JSON file on the user's disk.
That file is ~/.fazm/mcp-servers.json. The rest of this page is the trail that proves it.
The anchor numbers
0
Bridge loader lines for the whole feature
0 -04-20
Fazm v2.4.0 ship date at top of CHANGELOG.json
0
Validation gates before a user MCP becomes live
0
Fazm releases needed to add a new OSS MCP
Walking through a custom MCP live beats reading about it
Fifteen minutes, screen-share, we plug whichever open-source MCP you care about into your Fazm and drive a real task.
Book a call →Frequently asked questions
What changed in the past day for consuming new open-source AI releases on a Mac?
Fazm v2.4.0 shipped on 2026-04-20 with custom MCP server support. The top CHANGELOG.json entry reads verbatim, 'Added custom MCP server support via ~/.fazm/mcp-servers.json with Settings UI to add, edit, and toggle servers.' Before v2.4.0, only the five built-in MCP servers hard-coded in acp-bridge/src/index.ts:1266 were reachable. After v2.4.0, any open-source MCP server released that morning can be dropped in and used on the next conversation, without a new Fazm build.
Where is the exact loader that reads ~/.fazm/mcp-servers.json, and what does it do?
acp-bridge/src/index.ts lines 1102-1137. The code resolves `join(homedir(), '.fazm', 'mcp-servers.json')` at line 1104, exists-checks the file at 1106, JSON.parses it at 1107-1108, iterates each entry at 1114, skips any with `cfg.enabled === false` at 1115, skips any missing `cfg.command` at 1116-1119, flattens cfg.env into an Array<{name,value}> at 1120-1125, then pushes the server onto the same servers array as the five built-ins at 1126-1132. The final emitMcpServers(servers) at line 1139 publishes the merged list to the UI.
What file format does ~/.fazm/mcp-servers.json use?
The same format as Claude Code's mcpServers block. A top-level object where each key is a server name and each value has `command` (required string), optional `args` (string array), optional `env` (object of string to string), and optional `enabled` (boolean, defaults to true). The SettingsPage hint in /Users/matthewdi/fazm/Desktop/Sources/MainWindow/Pages/SettingsPage.swift line 1844 says this verbatim: 'Uses the same format as Claude Code. Changes take effect on next conversation.'
Is there a UI for this, or only the JSON file?
Both. /Users/matthewdi/fazm/Desktop/Sources/MCPServerManager.swift backs a Settings UI rendered at SettingsPage.swift lines 1810-1890 with Add, Edit, and Toggle affordances. Every UI change is serialized back to ~/.fazm/mcp-servers.json, so editing the file directly and editing through the UI are the same operation. The config file row at SettingsPage.swift:1832-1868 shows the path and an Open button that reveals the file in Finder.
Do I need to restart Fazm after adding a new MCP server?
No. The bridge reads ~/.fazm/mcp-servers.json on every session spin-up. Changes take effect on the next conversation you start in Fazm, not on the next app relaunch. This is important for the 'past day' release cadence: when a new open-source MCP server ships in the morning, the afternoon workflow already sees it.
What does 'past day' actually mean for open-source AI releases in April 2026?
For this guide it is a rolling 24-hour window anchored on Fazm v2.4.0's ship date of 2026-04-20. The 'past day' SERP for this query mixes three separate categories: (1) model weight releases on Hugging Face, (2) framework version bumps on GitHub Releases, (3) new or updated MCP servers. Only category 3 is something a consumer Mac agent can plug in same-day. That is the category this page is about.
Can I add a Python or Node MCP server, or is this Swift only?
Any command. The loader at acp-bridge/src/index.ts:1128 passes `cfg.command` and `cfg.args` straight through to the MCP server list that the ACP bridge spawns. That means `python3`, `uvx`, `npx`, `node`, `deno`, or a path to any compiled binary all work. The five built-ins already mix Swift binaries (mcp-server-macos-use, whatsapp-mcp), a Python package (google-workspace-mcp), and an npm package (@playwright/mcp). The user layer inherits the same spawn surface.
Do user MCP servers collide with the five built-in ones?
No. BUILTIN_MCP_NAMES = new Set(['fazm_tools', 'playwright', 'macos-use', 'whatsapp', 'google-workspace']) at acp-bridge/src/index.ts line 1266 is the reserved-name list. If you name a user server with one of those five, the user entry merges into the array but the built-in definition wins for collision resolution in the UI (SettingsPage.swift:1941). Everything else becomes a first-class MCP server in the same active-servers panel.
How is this different from running an open-source MCP server under Claude Code?
Two differences. First, Fazm is a consumer Mac app, not a developer terminal: users who cannot and do not want to install Claude Code or the Claude CLI can still point it at a new MCP server by dropping JSON into ~/.fazm. Second, Fazm's agent reads macOS accessibility APIs directly (the built-in macos-use server, compiled from the open-source mcp-server-macos-use repo), so any new MCP server stacks on top of a real screen-context layer instead of a screenshot OCR loop. That is the product angle, not a feature comparison.
What kinds of open-source AI projects released in the past day make sense to plug in?
Anything that speaks MCP over stdio. Recent categories: database connectors (Postgres, Redis, SQLite MCPs released on GitHub), search and retrieval (Brave Search MCP, Perplexity MCP, Exa MCP), developer tools (GitHub MCP, Linear MCP, Sentry MCP), agentic browsers beyond the pinned @playwright/mcp v0.0.68, and vertical domain MCPs (financial data, maps, legal research). Each becomes a named tool the Fazm agent can call, merged with the built-in accessibility-API toolkit.
How do I know whether a newly released MCP is safe to plug in?
The same way you would judge any npm, brew, or PyPI dependency. The loader does not sandbox the command; it spawns it with the env you specify under the bridge's own process tree. Read the repo, check the maintainers, pin a specific tag in your `args` rather than `latest`, and prefer `uvx --from <repo>@<sha>` over `npx <package>` for anything you have not vetted. Fazm's builtin MCPs go through the signed-bundle lifecycle; user MCPs do not.
How can I audit every claim on this page myself?
Three greps against a Fazm desktop source tree. (1) `rg -n 'mcp-servers.json' acp-bridge/src/index.ts Desktop/Sources` returns the loader at index.ts:1104 and the manager at MCPServerManager.swift:4. (2) `rg -n 'Append user-defined MCP servers' acp-bridge/src/index.ts` returns the comment at line 1102 that opens the merge block. (3) `head CHANGELOG.json` returns the v2.4.0 entry at the top of the releases array dated 2026-04-20 with the custom-MCP line as the first change.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.