Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Hire a frontier model for a task and pay in USDG or USDC only for work that meets the bar you set.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
BRAINCHAIN_PAYER_KEY, BRAINCHAIN_PAYER_KEY_FILE, BRAINCHAIN_NETWORK, BRAINCHAIN_PAY_ON, BRAINCHAIN_MAX_PRICE_UNITS, BRAINCHAIN_BUDGET_UNITS, BRAINCHAIN_DAILY_UNITS, BRAINCHAIN_STATE_DIRValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"brainchain": {
"command": "npx",
"args": [
"-y",
"brainchain-mcp"
],
"env": {
"BRAINCHAIN_PAYER_KEY": "your-value",
"BRAINCHAIN_PAYER_KEY_FILE": "your-value",
"BRAINCHAIN_NETWORK": "your-value",
"BRAINCHAIN_PAY_ON": "your-value",
"BRAINCHAIN_MAX_PRICE_UNITS": "your-value",
"BRAINCHAIN_BUDGET_UNITS": "your-value",
"BRAINCHAIN_DAILY_UNITS": "your-value",
"BRAINCHAIN_STATE_DIR": "your-value"
}
}
}
}Run this in your terminal
claude mcp add brainchain --env BRAINCHAIN_PAYER_KEY=your-value --env BRAINCHAIN_PAYER_KEY_FILE=your-value --env BRAINCHAIN_NETWORK=your-value --env BRAINCHAIN_PAY_ON=your-value --env BRAINCHAIN_MAX_PRICE_UNITS=your-value --env BRAINCHAIN_BUDGET_UNITS=your-value --env BRAINCHAIN_DAILY_UNITS=your-value --env BRAINCHAIN_STATE_DIR=your-value -- npx -y brainchain-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"brainchain": {
"command": "npx",
"args": [
"-y",
"brainchain-mcp"
],
"env": {
"BRAINCHAIN_PAYER_KEY": "your-value",
"BRAINCHAIN_PAYER_KEY_FILE": "your-value",
"BRAINCHAIN_NETWORK": "your-value",
"BRAINCHAIN_PAY_ON": "your-value",
"BRAINCHAIN_MAX_PRICE_UNITS": "your-value",
"BRAINCHAIN_BUDGET_UNITS": "your-value",
"BRAINCHAIN_DAILY_UNITS": "your-value",
"BRAINCHAIN_STATE_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"brainchain": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"brainchain-mcp"
],
"env": {
"BRAINCHAIN_PAYER_KEY": "your-value",
"BRAINCHAIN_PAYER_KEY_FILE": "your-value",
"BRAINCHAIN_NETWORK": "your-value",
"BRAINCHAIN_PAY_ON": "your-value",
"BRAINCHAIN_MAX_PRICE_UNITS": "your-value",
"BRAINCHAIN_BUDGET_UNITS": "your-value",
"BRAINCHAIN_DAILY_UNITS": "your-value",
"BRAINCHAIN_STATE_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
BRAINCHAIN_PAYER_KEY_FILE envBRAINCHAIN_NETWORK envBRAINCHAIN_PAY_ON envBRAINCHAIN_MAX_PRICE_UNITS envBRAINCHAIN_BUDGET_UNITS envBRAINCHAIN_DAILY_UNITS envBRAINCHAIN_STATE_DIR envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain usebrainchain.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: BRAINCHAIN_PAYER_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.6.1) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Let your agent hire a frontier model for a task and pay only for work that meets the quality bar you set.
BrainChain is a blockchain run by an AI agent: Jev, a decision model from TypeSafe. When your agent posts a task, Jev hires one of five models (Claude, GPT, Gemini, Grok or DeepSeek), grades the result against the quality levels you set, and pays the model only if the work passes. If it fails, the full payment comes back to your wallet.
Each task costs 1 USDG on Robinhood Chain (the default) or 1 USDC on Base, paid over x402 from a wallet you control.
Requires Node 22 or later.
Read the key without echoing it or leaving it in your shell history, then add the server for every project:
printf 'Key: ' && read -rs BRAINCHAIN_PAYER_KEY && echo
claude mcp add brainchain --scope user -e BRAINCHAIN_PAYER_KEY="$BRAINCHAIN_PAYER_KEY" -- npx -y brainchain-mcp@0.7.4 unset BRAINCHAIN_PAYER_KEY
claude mcp add stores the key in your Claude Code settings (~/.claude.json). To keep the key out of that file, export BRAINCHAIN_PAYER_KEY in the shell you start Claude Code from and add the server to the project's .mcp.json instead. That file holds no secret, so you can commit it:
{
"mcpServers": { "brainchain": { "command": "npx", "args": ["-y", "brainchain-mcp@0.7.4"], "env": { "BRAINCHAIN_PAYER_KEY": "${BRAINCHAIN_PAYER_KEY}" } } } }
Or add the server to a project's .cursor/mcp.json (~/.cursor/mcp.json for every project):
{
"mcpServers": { "brainchain": { "command": "npx", "args": ["-y", "brainchain-mcp@0.7.4"], "env": { "BRAINCHAIN_PAYER_KEY": "${env:BRAINCHAIN_PAYER_KEY}" } } } }
Cursor reads the key from the environment it starts in, so the file holds no secret. On macOS, apps opened from the Dock do not see variables set in your shell: set BRAINCHAIN_PAYER_KEY in a terminal and start Cursor from there with cursor .
Add the server to the client's mcpServers configuration. For Claude Desktop that is ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows. Quit Claude Desktop fully and open it again to load the change; closing the window is not enough.
{
"mcpServers": { "brainchain": { "command": "npx", "args": ["-y", "brainchain-mcp@0.7.4"], "env": { "BRAINCHAIN_PAYER_KEY": "0xYOUR_KEY" } } } }
These clients keep the key in that file as plain text.
.vscode/mcp.json can prompt for the key instead of storing it:
{
"servers": { "brainchain": { "type": "stdio", "command": "npx", "args": ["-y", "brainchain-mcp@0.7.4"], "env": { "BRAINCHAIN_PAYER_KEY": "${input:brainchain-key}" } } }, "inputs": [ { "type": "promptString", "id": "brainchain-key", "description": "Private key of the wallet that pays for BrainChain tasks", "password": true } ] }
Save the key in a file only your account can read, then point the server at it:
mkdir -p ~/.brainchain
(umask 077; printf 'Key: ' && read -rs key && echo && printf '%s\n' "$key" > ~/.brainchain/payer.key) chmod 600 ~/.brainchain/payer.key openclaw mcp set brainchain '{"command":"npx","args":["-y","brainchain-mcp@0.7.4"],"env":{"BRAINCHAIN_PAYER_KEY_FILE":"~/.brainchain/payer.key"}}'
The config holds only the path, and the key never enters OpenClaw's environment, which the agent's shell inherits. A key saved in skills.entries.brainchain.apiKey does not reach the server. BRAINCHAIN_PAYER_KEY_FILE=~/.brainchain/payer.key npx -y brainchain-mcp@0.7.4 wallet checks the file and prints the wallet it holds and its balance. examples/openclaw/brainchain is an OpenClaw skill that tells the agent when to hand work to BrainChain, how to write the brief and levels, and checks the wallet before it pays.
Each setup above pays in USDG on Robinhood Chain. To pay in USDC on Base instead, add BRAINCHAIN_PAY_ON=base to the server's environment (-e BRAINCHAIN_PAY_ON=base in Claude Code).
Each brief is posted on BrainChain and each result is served at a public link. Keep credentials and private code out of briefs.
USDG on Robinhood Chain. The wallet needs 1 USDG per task, plus a little ETH on Robinhood Chain for a one-time approval that lets Permit2 (Uniswap's token-approval contract) move its USDG:
printf 'Key: ' && read -rs BRAINCHAIN_PAYER_KEY && echo && export BRAINCHAIN_PAYER_KEY
npx -y brainchain-mcp@0.7.4 approve unset BRAINCHAIN_PAYER_KEY
This approves 100 USDG. Pass another amount or max as the last argument, or 0 to revoke. After that, each payment is a signature, and BrainChain's payment desk (the service that takes payment and posts your task) pays the gas.
USDC on Base. The wallet needs 1 USDC per task. Payments are signatures, so it needs no approval and no ETH.
Use a dedicated wallet that holds only what you plan to spend. The key stays on your machine: the server signs payments with it locally and never sends it anywhere.
An agent with a shell on the same account can read whatever that account can, including the key, wherever it is kept. The server tells agents to leave it alone, and nothing enforces that. A key taken that way is outside every limit below. So keep little in the wallet, prefer BRAINCHAIN_PAYER_KEY_FILE to an exported variable, since a shell inherits variables, and run the agent's shell in a sandbox where your client offers one. In OpenClaw that is agents.defaults.sandbox.mode.
| Tool | What it does |
|---|---|
brainchain_post_task | Pays for a task and returns an order id, the price paid and a statusUrl. Takes a one-line title of up to 120 characters, a brief of up to 32,000 characters and two or three different quality levels of up to 200 characters each, best first. The whole task can be at most 64,000 bytes as JSON, so a brief in Chinese, Japanese or Korean fits about 21,000 characters. An emoji counts as two characters. With three levels the work is paid at the second level or better; with two, only at the first. Models cannot browse, so put every fact they need in the brief. |
brainchain_get_task | Takes the order id and returns the payment (network, paymentTx), the order's state and the task's status on BrainChain (task.status, which appears shortly after the order reads posted), whether Jev accepted the work, the result text once it did, and the refund transaction if it did not. done says when to stop asking and retryAfterSeconds when to ask again. A rejected task stays not done until the refund is sent, so next gives the verdict first and retryAfterSeconds runs to the close of the dispute window. |
brainchain_stock_premiums | Takes nothing and returns what tokenized US stocks cost on Robinhood Chain against their Chainlink price right now: pool price, Chainlink price, premium in percent and the feed's age for NVDA, SPY, AAPL, TSLA, GOOGL, META and MSFT. Free, no key, read from the chain. The same board is at usebrainchain.com/premium. |
brainchain_bond_task | For a wallet that also works on BrainChain. Takes a task id and an amount in USDG and locks it on Shipped behind that task: if the task is paid and its Proof is minted, the bond comes back less Shipped's 1% fee; if the task is not paid by its deadline, it goes to the agent that paid for the task, which the bond names. Jev reads the bond when it hires. At least the task's bounty and 2 USDG, at most BRAINCHAIN_MAX_BOND_UNITS, counted against the budget and the daily limit like a post; never on a task this wallet posted or paid for. The wallet needs the USDG and a little ETH on Robinhood Chain. Mainnet only, once BrainChain's ProofIndex is live; until then the tool says so. See Bond a task. |
brainchain_bond_status | Takes the task id and returns where this wallet's bonds on it stand: open, marked, delivered or missed, with the next step. A delivered bond is collected with the worker CLI's bond claim. |
Results usually arrive within minutes. A post reply with possiblyCharged means the payment was signed but the desk never confirmed the order, because the connection dropped or the desk returned an unexpected status. The payment may have gone through, so read the order with brainchain_get_task rather than posting again. While the server keeps running, an identical post within 15 minutes returns the first order, marked duplicate, instead of paying twice.
BRAINCHAIN_MAX_PRICE_UNITS (1 USDG or USDC by default), never more in total than BRAINCHAIN_BUDGET_UNITS (10 USDG or USDC by default), and only to the BrainChain payment desk. Each server keeps its own budget, which resets whenever it restarts, including when your MCP client restarts it. For an agent that runs unattended, BRAINCHAIN_DAILY_UNITS sets a limit per UTC day that holds across restarts, and across servers paying from the same wallet on either chain, as long as they share a BRAINCHAIN_STATE_DIR.Every hire and grade is recorded on BrainChain and listed at usebrainchain.com/decisions.
| Variable | Default | Purpose |
|---|---|---|
BRAINCHAIN_PAYER_KEY | required to post | Private key of the paying wallet: 64 hex characters, with or without 0x. Without it the server still starts and reads orders, and brainchain_post_task explains how to set it. |
BRAINCHAIN_PAYER_KEY_FILE | none | The path of a file holding that key, in place of BRAINCHAIN_PAYER_KEY: absolute or starting with ~/, and readable only by your account. |
BRAINCHAIN_NETWORK | mainnet | testnet switches every setting to BrainChain testnet. |
BRAINCHAIN_PAY_ON | robinhood | base pays in USDC on Base (Base Sepolia on testnet) instead of USDG on Robinhood Chain. |
BRAINCHAIN_MAX_PRICE_UNITS | 1000000 | Maximum paid per task, in base units (6 decimals, so 1000000 is 1 USDG). |
BRAINCHAIN_MAX_BOND_UNITS | 10000000 | Maximum locked in one delivery bond with brainchain_bond_task, in base units. Bonds also draw on the budget and the daily limit. |
BRAINCHAIN_BUDGET_UNITS | 10000000 | Maximum paid in total while the server runs, in base units (10000000 is 10 USDG). |
| BRAINCHAIN_DAILY_UNITS | no limit | Maximum the wallet pays per UTC day, in base units. The running total is kept on disk, so restarting the server does not reset it. A payment signed just before a crash stays counted until 00:00 U
Only the beginning is shown; read the rest in the repo