Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
作者提供的说明(英文原文)
Shared knowledge base + task queue so Claude, ChatGPT and other agents can work together safely.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"brainy": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/memokar/brainy:0.2.0"
]
}
}
}在终端中运行这条命令
claude mcp add brainy -- docker run -i --rm ghcr.io/memokar/brainy:0.2.0粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"brainy": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/memokar/brainy:0.2.0"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"brainy": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/memokar/brainy:0.2.0"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 memokar 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.0)于30天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A shared brain for your AI agents — and for the humans who work with them.
Brainy is a self-hosted knowledge and task backbone that Claude, ChatGPT and any other MCP-capable AI connect to through one controlled endpoint. Every agent reads the same knowledge, works on the same task list and leaves an audit trail — so your AIs can hand work to each other instead of living in separate chat silos.
ChatGPT ─┐ ┌─ Git-versioned knowledge (Markdown)
Claude ─┼──► MCP endpoint ──► Brainy ───┼─ Tasks with atomic claim/lease Your bot ┘ (OAuth / tokens) ACL+Audit └─ Spaces, roles, append-only audit log ▲ Humans: web admin UI (+ optional Telegram approvals)
A shared notes file in a Git repo is a great *knowledge* store — and Brainy keeps that part on purpose: knowledge is plain Markdown in Git, with history, diff and rollback. The problem is everything a bare file *doesn't* do once more than one agent touches it:
expected_git_commit) plus a server-side write lock: exactly one writer commits, the others get a Conflict and re-read — no lost edits.UPDATE ... WHERE status='READY', one row): exactly one agent wins, the rest get a conflict and move on.Both guarantees above are covered by a concurrency test (tests/test_concurrency.py): 20 threads racing on one task yield exactly 1 winner and 19 conflicts, and 20 threads writing the same file yield exactly 1 commit and 19 conflicts, with the repo left clean.
Honest comparison with the tools people mention most. Beads is closest to Brainy's *task* side, and Central Brain to its *knowledge* side; neither is a one-to-one match. Facts are from each project's own docs (links below); where something isn't documented, it says so rather than guessing.
| Brainy | Beads [^beads] | Central Brain [^cb] | Shared notes file | |
|---|---|---|---|---|
| What it is | Knowledge base + task queue | AI-agent issue/task tracker | AI memory layer | Markdown in a repo |
| Knowledge store | Markdown in Git | — (issue tracker) | Plain files + local vector index | Markdown in Git |
| Task queue with atomic claims | ✅ | ✅ | not documented | ❌ |
| Per-area permissions (ACL) | ✅ Spaces/roles | ❌ | ❌ | ❌ |
| Append-only audit log | ✅ (DB-enforced) | partial (Git/DB history) | ❌ | git blame only |
| Human approval for writes | ✅ (web/Telegram) | ❌ | ❌ | ❌ |
| MCP server | ✅ | ✅ | ✅ | ❌ |
| Multi-agent concurrency control | ✅ claims + write lock | ✅ claims + concurrent writers | not documented | ❌ |
| Dependencies | none (stdlib + SQLite) | bundles Dolt (Go) | bundles embedding model | n/a |
| Self-hosted | ✅ | ✅ | ✅ (cloud optional) | ✅ |
| License | AGPL-3.0 (+ commercial) | MIT | proprietary | n/a |
version-controlled SQL database; earlier versions used SQLite + JSONL).
Apple-silicon macOS, MCP integration; pricing per the site at time of writing: $12/mo solo, $35/mo for 4 licenses).
| Area | What you get |
|---|---|
| Knowledge | list_documents, get_document, search_knowledge, write_document (optimistic concurrency via Git commit), append_document, propose_write |
| Tasks | create_task, claim_task, renew_claim, complete_task, fail_task, release_task, dependencies, priorities, review/approve/reject |
| Resource claims | claim_resource, renew_resource, release_resource, list_resource_claims — reserve any resource (a free-form key per space, e.g. a file path or area) with an atomic lease, same model as task claims |
| Access | Spaces (tenants/areas), roles ADMIN / EDITOR / AGENT / READER, per-space ACL, service tokens, OAuth 2.1 (for Claude/ChatGPT remote connectors) |
| Operations | Web admin UI, audit log, agent registry + dispatcher framework, backup & verified restore scripts |
Try it in one command — no clone, no setup. Runs a throwaway demo (temporary database + example knowledge, deleted on exit) as an MCP stdio server:
docker run --rm -i ghcr.io/memokar/brainy:latest --demo
For a real install, run the server (prebuilt image, published on every release):
docker run -d --name brainy -p 127.0.0.1:8765:8765 -v brainy-data:/data ghcr.io/memokar/brainy:latest
docker logs brainy # prints your one-time ADMIN token on first start
Or build it yourself with Compose:
git clone https://github.com/memokar/brainy.git
cd brainy docker compose up -d docker compose logs brainy # prints your one-time ADMIN token on first start
Brainy now listens on http://127.0.0.1:8765 (MCP endpoint: /mcp, admin UI: /admin — log in with the token). For remote AI connectors put it behind HTTPS (see deploy/nginx-brainy.conf.example) and set BRAINY_PUBLIC_BASE_URL.
export BRAINY_DB_PATH=$PWD/data/brainy.db
export BRAINY_KNOWLEDGE_ROOT=$PWD/data/knowledge export BRAINY_WEB_SESSION_KEY=$PWD/data/web_session.key
cp -r examples/knowledge "$BRAINY_KNOWLEDGE_ROOT" git -C "$BRAINY_KNOWLEDGE_ROOT" init -q && git -C "$BRAINY_KNOWLEDGE_ROOT" add -A \ && git -C "$BRAINY_KNOWLEDGE_ROOT" commit -qm "initial knowledge"
python3 scripts/bootstrap.py "$BRAINY_DB_PATH" --with-token # prints ADMIN token once python3 scripts/init_prod_db.py "$BRAINY_DB_PATH" # seeds default spaces python3 scripts/serve.py
claude mcp add --transport http brainy http://127.0.0.1:8765/mcp --header "Authorization: Bearer <token>"
{"mcpServers": {"brainy": {"command": "python3", "args": ["/opt/brainy/scripts/stdio.py"],
"env": {"BRAINY_DB_PATH": "/var/lib/brainy/brainy.db", "BRAINY_KNOWLEDGE_ROOT": "/opt/brainy-knowledge", "BRAINY_TOKEN": " "}}}}
Try it without any setup: `python3 scripts/stdio.py --demo` (temporary data, deleted on exit).
https:// /mcp, header Authorization: Bearer ./.well-known/oauth-authorization-server). Set BRAINY_PUBLIC_BASE_URL to your HTTPS URL.Brainy is listed in the official MCP Registry as io.github.memokar/brainy.
Give each AI its own principal (e.g. claude, chatgpt) with role AGENT and only the spaces it needs. Every action then shows up in the audit log under that name.
Two agents working the same repository can step on each other's files. With resource claims each one reserves the area it's about to touch — a free-form key per space — and the other backs off until it's released or the lease expires:
// Agent A, before editing the auth code:
claim_resource { "space": "shared", "resource_key": "repo:app/src/auth/**", "lease_seconds": 1800 } // -> { "claim_token": "…", "lease_until": "…" } A now owns that area
// Agent B, about to touch the same area: claim_resource { "space": "shared", "resource_key": "repo:app/src/auth/" } // -> Conflict: already claimed → B picks a different area (e.g. "repo:app/src/api/")
renew_resource { "space": "shared", "resource_key": "repo:app/src/auth/", "claim_token": "…" } // A keeps working release_resource { "space": "shared", "resource_key": "repo:app/src/auth/", "claim_token": "…" } // A done → free again list_resource_claims { "space": "shared" } // who holds what right now
Same guarantee as task claims — exactly one holder at a time, expired leases free up automatically (see tests/test_resources.py). Resource claims reuse the task permissions/scopes (can_claim_tasks / brainy:tasks:write), so any agent that can claim tasks can claim resources.
All configuration comes from environment variables — see .env.example. Secrets (tokens, keys) are never stored in the repository or the knowledge base.
The core ships a worker plugin interface and a deterministic MockWorker. Real workers that let agents execute tasks autonomously (e.g. Claude Code, Codex) are separate extensions loaded via BRAINY_WORKER_PLUGINS. See docs/extensions.md.
for t in tests/test_*.py; do python3 "$t" || exit 1; done
Brainy runs in production for its author. Current limitations:
Copyright (C) 2026 Mehmet Karakolcu
Brainy is dual-licensed:
Contributions require agreeing to the Contributor License Agreement.